Skip to content

Commit 182c3e9

Browse files
authored
Merge pull request #1737 from mchalek/mchalek-fix-services-pagetoken
Add nextPageToken to fields argument against ServiceUsage api
2 parents 2ea2baa + d6f2a28 commit 182c3e9

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

google/resource_google_project_services.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ func getApiServices(pid string, config *Config, ignore map[string]struct{}) ([]s
201201
ctx := context.Background()
202202
return config.clientServiceUsage.Services.
203203
List("projects/"+pid).
204-
Fields("services/name").
204+
Fields("services/name,nextPageToken").
205205
Filter("state:ENABLED").
206206
Pages(ctx, func(r *serviceusage.ListServicesResponse) error {
207207
for _, v := range r.Services {

google/resource_google_project_services_test.go

+29-1
Original file line numberDiff line numberDiff line change
@@ -178,27 +178,46 @@ func TestAccProjectServices_ignoreUnenablableServices(t *testing.T) {
178178
})
179179
}
180180

181-
func TestAccProjectServices_manyServices(t *testing.T) {
181+
func TestAccProjectServices_pagination(t *testing.T) {
182182
t.Parallel()
183183

184184
org := getTestOrgFromEnv(t)
185185
billingId := getTestBillingAccountFromEnv(t)
186186
pid := "terraform-" + acctest.RandString(10)
187+
188+
// we need at least 50 services (doesn't matter what they are) to exercise the
189+
// pagination handling code.
187190
services := []string{
191+
"actions.googleapis.com",
192+
"appengine.googleapis.com",
193+
"appengineflex.googleapis.com",
188194
"bigquery-json.googleapis.com",
195+
"bigquerydatatransfer.googleapis.com",
196+
"bigtableadmin.googleapis.com",
197+
"bigtabletableadmin.googleapis.com",
189198
"cloudbuild.googleapis.com",
199+
"clouderrorreporting.googleapis.com",
190200
"cloudfunctions.googleapis.com",
201+
"cloudiot.googleapis.com",
202+
"cloudkms.googleapis.com",
203+
"cloudmonitoring.googleapis.com",
191204
"cloudresourcemanager.googleapis.com",
192205
"cloudtrace.googleapis.com",
193206
"compute.googleapis.com",
194207
"container.googleapis.com",
195208
"containerregistry.googleapis.com",
196209
"dataflow.googleapis.com",
197210
"dataproc.googleapis.com",
211+
"datastore.googleapis.com",
198212
"deploymentmanager.googleapis.com",
213+
"dialogflow.googleapis.com",
199214
"dns.googleapis.com",
200215
"endpoints.googleapis.com",
216+
"firebaserules.googleapis.com",
217+
"firestore.googleapis.com",
218+
"genomics.googleapis.com",
201219
"iam.googleapis.com",
220+
"language.googleapis.com",
202221
"logging.googleapis.com",
203222
"ml.googleapis.com",
204223
"monitoring.googleapis.com",
@@ -212,8 +231,17 @@ func TestAccProjectServices_manyServices(t *testing.T) {
212231
"servicemanagement.googleapis.com",
213232
"sourcerepo.googleapis.com",
214233
"spanner.googleapis.com",
234+
"speech.googleapis.com",
235+
"sql-component.googleapis.com",
215236
"storage-api.googleapis.com",
216237
"storage-component.googleapis.com",
238+
"storagetransfer.googleapis.com",
239+
"testing.googleapis.com",
240+
"toolresults.googleapis.com",
241+
"translate.googleapis.com",
242+
"videointelligence.googleapis.com",
243+
"vision.googleapis.com",
244+
"zync.googleapis.com",
217245
}
218246

219247
resource.Test(t, resource.TestCase{

0 commit comments

Comments
 (0)