AWS Integration
Required Permissions (Read-Only)
permissions := []string{
"organizations:ListAccounts",
"sso:ListInstances",
"sso:ListPermissionSetsProvisionedToAccount",
"sso:DescribePermissionSet",
}
API Integration Pattern
func ListAccounts(ctx context.Context, client OrganizationsClient) ([]types.Account, error) {
var accounts []types.Account
paginator := organizations.NewListAccountsPaginator(client, &organizations.ListAccountsInput{})
for paginator.HasMorePages() {
page, err := paginator.NextPage(ctx)
if err != nil {
return nil, fmt.Errorf("failed to list accounts: %w", err)
}
accounts = append(accounts, page.Accounts...)
}
return accounts, nil
}