github.com/versent/saml2aws@v2.17.0+incompatible/pkg/shell/env.go (about) 1 package shell 2 3 import ( 4 "fmt" 5 "github.com/versent/saml2aws/pkg/flags" 6 "github.com/versent/saml2aws/pkg/awsconfig" 7 "github.com/versent/saml2aws/pkg/cfg" 8 ) 9 10 // BuildEnvVars build an array of env vars in the format required for exec 11 func BuildEnvVars(awsCreds *awsconfig.AWSCredentials, account *cfg.IDPAccount, execFlags *flags.LoginExecFlags) []string { 12 13 environmentVars := []string { 14 fmt.Sprintf("AWS_SESSION_TOKEN=%s", awsCreds.AWSSessionToken), 15 fmt.Sprintf("AWS_SECURITY_TOKEN=%s", awsCreds.AWSSecurityToken), 16 fmt.Sprintf("EC2_SECURITY_TOKEN=%s", awsCreds.AWSSecurityToken), 17 } 18 19 //To run exec with a non default (saml) profile 'AWS_ACCESS_KEY_ID' and 'AWS_SECRET_ACCESS_KEY' must not be set 20 if execFlags.ExecProfile == "" { 21 environmentVars = append(environmentVars, fmt.Sprintf("AWS_ACCESS_KEY_ID=%s", awsCreds.AWSAccessKey)) 22 environmentVars = append(environmentVars, fmt.Sprintf("AWS_SECRET_ACCESS_KEY=%s", awsCreds.AWSSecretKey)) 23 environmentVars = append(environmentVars, fmt.Sprintf("AWS_PROFILE=%s", account.Profile)) 24 environmentVars = append(environmentVars, fmt.Sprintf("AWS_DEFAULT_PROFILE=%s", account.Profile)) 25 } else { 26 environmentVars = append(environmentVars, fmt.Sprintf("AWS_PROFILE=%s", execFlags.ExecProfile)) 27 environmentVars = append(environmentVars, fmt.Sprintf("AWS_DEFAULT_PROFILE=%s", execFlags.ExecProfile)) 28 } 29 return environmentVars 30 }