Skip to content

Commit d7e6dff

Browse files
Smriti-Verma1hkantare
authored andcommitted
Enterprise Management: Updated as per review comments
1 parent ec45f46 commit d7e6dff

File tree

2 files changed

+24
-22
lines changed

2 files changed

+24
-22
lines changed

ibm/data_source_ibm_enterprise_account_groups.go

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1111
"log"
1212
"net/url"
13+
"reflect"
1314
"time"
1415

1516
"github.com/IBM/platform-services-go-sdk/enterprisemanagementv1"
@@ -115,6 +116,9 @@ func dataSourceIbmEnterpriseAccountGroups() *schema.Resource {
115116
}
116117

117118
func getEnterpriseNext(next *string) (string, error) {
119+
if reflect.ValueOf(next).IsNil() {
120+
return "", nil
121+
}
118122
u, err := url.Parse(*next)
119123
if err != nil {
120124
return "", err
@@ -129,25 +133,24 @@ func dataSourceIbmEnterpriseAccountGroupsRead(context context.Context, d *schema
129133
return diag.FromErr(err)
130134
}
131135
next_docid := ""
132-
listAccountGroupsOptions := &enterprisemanagementv1.ListAccountGroupsOptions{}
133136
var allRecs []enterprisemanagementv1.AccountGroup
134137
for {
138+
listAccountGroupsOptions := &enterprisemanagementv1.ListAccountGroupsOptions{}
139+
if next_docid != "" {
140+
listAccountGroupsOptions.NextDocid = &next_docid
141+
}
135142
listAccountGroupsResponse, response, err := enterpriseManagementClient.ListAccountGroupsWithContext(context, listAccountGroupsOptions)
136143
if err != nil {
137144
log.Printf("[DEBUG] ListAccountGroupsWithContext failed %s\n%s", err, response)
138145
return diag.FromErr(err)
139146
}
147+
next_docid, err = getEnterpriseNext(listAccountGroupsResponse.NextURL)
148+
if err != nil {
149+
log.Printf("[DEBUG] ListAccountGroupsWithContext failed. Error occurred while parsing NextURL: %s", err)
150+
return diag.FromErr(err)
151+
}
140152
allRecs = append(allRecs, listAccountGroupsResponse.Resources...)
141-
if listAccountGroupsResponse.NextURL != nil {
142-
next_docid, err = getEnterpriseNext(listAccountGroupsResponse.NextURL)
143-
if err != nil {
144-
log.Printf("[DEBUG] Error while parsing %s\n%v", *listAccountGroupsResponse.NextURL, err)
145-
return diag.FromErr(err)
146-
}
147-
listAccountGroupsOptions.NextDocid = &next_docid
148-
log.Printf("[DEBUG] ListAccountsWithContext failed %s", next_docid)
149-
} else {
150-
next_docid = ""
153+
if next_docid == "" {
151154
break
152155
}
153156
}

ibm/data_source_ibm_enterprise_accounts.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -129,26 +129,25 @@ func dataSourceIbmEnterpriseAccountsRead(context context.Context, d *schema.Reso
129129
if err != nil {
130130
return diag.FromErr(err)
131131
}
132-
listAccountsOptions := &enterprisemanagementv1.ListAccountsOptions{}
133132
next_docid := ""
134133
var allRecs []enterprisemanagementv1.Account
135134
for {
135+
listAccountsOptions := &enterprisemanagementv1.ListAccountsOptions{}
136+
if next_docid != "" {
137+
listAccountsOptions.NextDocid = &next_docid
138+
}
136139
listAccountsResponse, response, err := enterpriseManagementClient.ListAccountsWithContext(context, listAccountsOptions)
137140
if err != nil {
138141
log.Printf("[DEBUG] ListAccountsWithContext failed %s\n%s", err, response)
139142
return diag.FromErr(err)
140143
}
144+
next_docid, err = getEnterpriseNext(listAccountsResponse.NextURL)
145+
if err != nil {
146+
log.Printf("[DEBUG] ListAccountsWithContext failed. Error occurred while parsing NextURL: %s", err)
147+
return diag.FromErr(err)
148+
}
141149
allRecs = append(allRecs, listAccountsResponse.Resources...)
142-
if listAccountsResponse.NextURL != nil {
143-
next_docid, err = getEnterpriseNext(listAccountsResponse.NextURL)
144-
if err != nil {
145-
log.Printf("[DEBUG] Error while parsing %s\n%v", *listAccountsResponse.NextURL, err)
146-
return diag.FromErr(err)
147-
}
148-
listAccountsOptions.NextDocid = &next_docid
149-
log.Printf("[DEBUG] ListAccountsWithContext failed %s", next_docid)
150-
} else {
151-
next_docid = ""
150+
if next_docid == "" {
152151
break
153152
}
154153
}

0 commit comments

Comments
 (0)