func GetUserDetails(svc *iam.Client) []IAMUser {
	users := getUserList(svc)
	c := make(chan IAMUser)
	userlist := make([]IAMUser, len(users))
	for _, user := range users {
		go func(user types.User) {
			userStruct := IAMUser{
				Name: *user.UserName,
				User: &user,
			}
			userStruct.Groups = GetGroupNameSliceForUser(user.UserName, svc)
			userStruct.InlinePolicies = GetUserPoliciesMapForUser(user.UserName, svc)
			userStruct.AttachedPolicies = GetAttachedPoliciesMapForUser(user.UserName, svc)
			userStruct.InlineGroupPolicies = GetGroupPoliciesMapForGroups(userStruct.Groups, svc)
			userStruct.AttachedGroupPolicies = GetAttachedPoliciesMapForGroups(userStruct.Groups, svc)
			c <- userStruct
		}(user)
	}
	for i := 0; i < len(users); i++ {
		userlist[i] = <-c
	}
	return userlist
}
// GetUserDetails collects detailed information about a user, consisting mostly
// of the groups and policies it follows.
GetUserDetails collects detailed information about a user, consisting mostly
of the groups and policies it follows.
// GetUserDetails collects detailed information about a user consisting mostly // of the groups and policies it follows .
func GetUserDetails(svc *iam.Client) []IAMUser {
	users := getUserList(svc)
	c := make(chan IAMUser)
	userlist := make([]IAMUser, len(users))
	for _, user := range users {
		go func(user types.User) {
			userStruct := IAMUser{
				Name: *user.UserName,
				User: &user,
			}
			userStruct.Groups = GetGroupNameSliceForUser(user.UserName, svc)
			userStruct.InlinePolicies = GetUserPoliciesMapForUser(user.UserName, svc)
			userStruct.AttachedPolicies = GetAttachedPoliciesMapForUser(user.UserName, svc)
			userStruct.InlineGroupPolicies = GetGroupPoliciesMapForGroups(userStruct.Groups, svc)
			userStruct.AttachedGroupPolicies = GetAttachedPoliciesMapForGroups(userStruct.Groups, svc)
			c <- userStruct
		}(user)
	}
	for i := 0; i < len(users); i++ {
		userlist[i] = <-c
	}
	return userlist
}
func GetUserDetails ( svc * iam . Client ) [ ] IAMUser { users := getUserList ( svc ) c := make ( chan IAMUser ) userlist := make ( [ ] IAMUser , len ( users ) ) for _ , user := range users { go func ( user types . User ) { userStruct := IAMUser { Name : * user . UserName , User : & user , } userStruct . Groups = GetGroupNameSliceForUser ( user . UserName , svc ) userStruct . InlinePolicies = GetUserPoliciesMapForUser ( user . UserName , svc ) userStruct . AttachedPolicies = GetAttachedPoliciesMapForUser ( user . UserName , svc ) userStruct . InlineGroupPolicies = GetGroupPoliciesMapForGroups ( userStruct . Groups , svc ) userStruct . AttachedGroupPolicies = GetAttachedPoliciesMapForGroups ( userStruct . Groups , svc ) c <- userStruct } ( user ) } for i := 0 ; i < len ( users ) ; i ++ { userlist [ i ] = <- c } return userlist }
GetUserDetails collects detailed information about a user, consisting mostly
of the groups and policies it follows.
GetUserDetails collects detailed information about a user consisting mostly of the groups and policies it follows .