github.com/mweagle/Sparta@v1.15.0/aws/cloudformation/impl_build.go (about) 1 // +build !lambdabinary 2 3 package cloudformation 4 5 import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws/session" 9 "github.com/aws/aws-sdk-go/service/iam" 10 ) 11 12 func platformAccountUserName(awsSession *session.Session) (string, error) { 13 iamSvc := iam.New(awsSession) 14 userInfo, userInfoErr := iamSvc.GetUser(&iam.GetUserInput{}) 15 if userInfoErr != nil { 16 return "", userInfoErr 17 } 18 userName := "" 19 if userInfo.User.UserName != nil { 20 userName = *userInfo.User.UserName 21 } 22 if len(userName) <= 0 && userInfo.User.UserId != nil { 23 userName = *userInfo.User.UserId 24 } 25 if len(userName) <= 0 { 26 return "", fmt.Errorf("failed to find valid user identifier from AWS") 27 } 28 return userName, nil 29 }