func CheckCreds() (bool, string) {
	id, err := testCreds()
	if err != nil || len(id) == 0 {
		create := false
		cfg, err := readCreds()
		if err != nil || len(cfg.Profiles) == 0 {
			create = terminal.BoxPromptBool("The AWS Credentials config file is empty or missing!", "Do you want to add one now?")
		} else {
			create = terminal.BoxPromptBool("The AWS Credentials in your config file aren't working!", "Do you want to update it now?")
		}
		if !create {
			terminal.Information("Ok, maybe next time.. ")
			return false, ""
		}
		id := cfg.addCredsDialog()
		if len(id) > 0 {
			terminal.Notice("Success! Authenticated to AWS account: " + id)
		}
		return CheckCreds()
	}
	GetRegionListWithoutIgnored()
	return true, id
}
CheckCreds Runs before everything, verifying we have proper authentication or asking us to set some up
package aws
import (
	"errors"
	"os"
	"os/user"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/ec2metadata"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/ec2"
	"github.com/murdinc/awsm/aws/regions"
	"github.com/murdinc/terminal"
	"gopkg.in/ini.v1"
)
type awsmCreds struct {
	Profiles []Profile
}
type Profile struct {
	Name            string   `ini:"-"`  
	AccessKeyID     string   `ini:"aws_access_key_id"`
	SecretAccessKey string   `ini:"aws_secret_access_key"`
	IgnoreRegions   []string `ini:"ignore_regions"`
}