I created this function to output all account IDs for my aws accounts cross regions but the output I am getting is quite unintelligible
trying de-referencing like in c++
package main
import (
"fmt"
//"github.com/aws/aws-lambda-go/lambda"
// "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
//"github.com/aws/aws-sdk-go/aws/credentials/stscreds"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/organizations"
)
func main() {
listAccounts()
}
func listAccounts() {
sess := session.Must(session.NewSession())
svc := organizations.New(sess)
input := &organizations.ListAccountsInput{}
result, err := svc.ListAccounts(input)
if err != nil {
if aerr, ok := err.(awserr.Error); ok {
switch aerr.Code() {
case organizations.ErrCodeAccessDeniedException:
fmt.Println(organizations.ErrCodeAccessDeniedException, aerr.Error())
case organizations.ErrCodeAWSOrganizationsNotInUseException:
fmt.Println(organizations.ErrCodeAWSOrganizationsNotInUseException, aerr.Error())
case organizations.ErrCodeInvalidInputException:
fmt.Println(organizations.ErrCodeInvalidInputException, aerr.Error())
case organizations.ErrCodeServiceException:
fmt.Println(organizations.ErrCodeServiceException, aerr.Error())
case organizations.ErrCodeTooManyRequestsException:
fmt.Println(organizations.ErrCodeTooManyRequestsException, aerr.Error())
default:
fmt.Println(aerr.Error())
}
} else {
// Print the error, cast err to awserr.Error to get the Code and
// Message from an error.
fmt.Println(err.Error())
}
return
}
// fmt.Println(result.Accounts)
var accountList []*string
for _, accountId := range result.Accounts {
accountList = append(accountList, accountId.Id)
}
fmt.Println(accountList)
}
go run id.go [0xc0002387e0 0xc000238840 0xc0002388a0 0xc000238900 0xc000238960 0xc0002389c0 0xc000238a20 0xc000238a80 0xc000238ae0 0xc000238b40 0xc000238ba0 0xc000238c00 0xc000238c60 0xc000238cc0 0xc000238d20 0xc000238d80 0xc000238de0 0xc000238e40 0xc000238ea0 0xc000238f00]