1// THIS FILE IS AUTOGENERATED USING go generate. DO NOT EDIT.
2package iamutil
3
4func GetEnabledResources() GeneratedResources {
5	return generatedResources
6}
7
8var generatedResources = map[string]map[string]map[string]RestResource{
9	"": {
10		"iap": {
11			"v1": RestResource{
12				Name:                      "v1",
13				TypeKey:                   "",
14				Service:                   "iap",
15				IsPreferredVersion:        true,
16				Parameters:                []string{"resource"},
17				CollectionReplacementKeys: map[string]string{},
18				GetMethod: RestMethod{
19					HttpMethod: "POST",
20					BaseURL:    "https://iap.googleapis.com/",
21					Path:       "v1/{+resource}:getIamPolicy",
22				},
23				SetMethod: RestMethod{
24					HttpMethod:    "POST",
25					BaseURL:       "https://iap.googleapis.com/",
26					Path:          "v1/{+resource}:setIamPolicy",
27					RequestFormat: `{"policy": %s}`,
28				},
29			},
30			"v1beta1": RestResource{
31				Name:                      "v1beta1",
32				TypeKey:                   "",
33				Service:                   "iap",
34				IsPreferredVersion:        false,
35				Parameters:                []string{"resource"},
36				CollectionReplacementKeys: map[string]string{},
37				GetMethod: RestMethod{
38					HttpMethod: "POST",
39					BaseURL:    "https://iap.googleapis.com/",
40					Path:       "v1beta1/{+resource}:getIamPolicy",
41				},
42				SetMethod: RestMethod{
43					HttpMethod:    "POST",
44					BaseURL:       "https://iap.googleapis.com/",
45					Path:          "v1beta1/{+resource}:setIamPolicy",
46					RequestFormat: `{"policy": %s}`,
47				},
48			},
49		},
50	},
51	"b": {
52		"storage": {
53			"v1": RestResource{
54				Name:               "buckets",
55				TypeKey:            "b",
56				Service:            "storage",
57				IsPreferredVersion: true,
58				Parameters:         []string{"bucket"},
59				CollectionReplacementKeys: map[string]string{
60					"b":       "bucket",
61					"buckets": "bucket",
62				},
63				GetMethod: RestMethod{
64					HttpMethod: "GET",
65					BaseURL:    "https://storage.googleapis.com/storage/v1/",
66					Path:       "b/{bucket}/iam",
67				},
68				SetMethod: RestMethod{
69					HttpMethod:    "PUT",
70					BaseURL:       "https://storage.googleapis.com/storage/v1/",
71					Path:          "b/{bucket}/iam",
72					RequestFormat: `%s`,
73				},
74			},
75		},
76	},
77	"b/o": {
78		"storage": {
79			"v1": RestResource{
80				Name:               "objects",
81				TypeKey:            "b/o",
82				Service:            "storage",
83				IsPreferredVersion: true,
84				Parameters:         []string{"bucket", "object"},
85				CollectionReplacementKeys: map[string]string{
86					"b":       "bucket",
87					"buckets": "bucket",
88					"o":       "object",
89					"objects": "object",
90				},
91				GetMethod: RestMethod{
92					HttpMethod: "GET",
93					BaseURL:    "https://storage.googleapis.com/storage/v1/",
94					Path:       "b/{bucket}/o/{object}/iam",
95				},
96				SetMethod: RestMethod{
97					HttpMethod:    "PUT",
98					BaseURL:       "https://storage.googleapis.com/storage/v1/",
99					Path:          "b/{bucket}/o/{object}/iam",
100					RequestFormat: `%s`,
101				},
102			},
103		},
104	},
105	"billingAccounts": {
106		"cloudbilling": {
107			"v1": RestResource{
108				Name:                      "billingAccounts",
109				TypeKey:                   "billingAccounts",
110				Service:                   "cloudbilling",
111				IsPreferredVersion:        true,
112				Parameters:                []string{"resource"},
113				CollectionReplacementKeys: map[string]string{},
114				GetMethod: RestMethod{
115					HttpMethod: "GET",
116					BaseURL:    "https://cloudbilling.googleapis.com/",
117					Path:       "v1/{+resource}:getIamPolicy",
118				},
119				SetMethod: RestMethod{
120					HttpMethod:    "POST",
121					BaseURL:       "https://cloudbilling.googleapis.com/",
122					Path:          "v1/{+resource}:setIamPolicy",
123					RequestFormat: `{"policy": %s}`,
124				},
125			},
126		},
127	},
128	"buckets": {
129		"storage": {
130			"v1": RestResource{
131				Name:               "buckets",
132				TypeKey:            "buckets",
133				Service:            "storage",
134				IsPreferredVersion: true,
135				Parameters:         []string{"bucket"},
136				CollectionReplacementKeys: map[string]string{
137					"b":       "bucket",
138					"buckets": "bucket",
139				},
140				GetMethod: RestMethod{
141					HttpMethod: "GET",
142					BaseURL:    "https://storage.googleapis.com/storage/v1/",
143					Path:       "b/{bucket}/iam",
144				},
145				SetMethod: RestMethod{
146					HttpMethod:    "PUT",
147					BaseURL:       "https://storage.googleapis.com/storage/v1/",
148					Path:          "b/{bucket}/iam",
149					RequestFormat: `%s`,
150				},
151			},
152		},
153	},
154	"buckets/objects": {
155		"storage": {
156			"v1": RestResource{
157				Name:               "objects",
158				TypeKey:            "buckets/objects",
159				Service:            "storage",
160				IsPreferredVersion: true,
161				Parameters:         []string{"bucket", "object"},
162				CollectionReplacementKeys: map[string]string{
163					"b":       "bucket",
164					"buckets": "bucket",
165					"o":       "object",
166					"objects": "object",
167				},
168				GetMethod: RestMethod{
169					HttpMethod: "GET",
170					BaseURL:    "https://storage.googleapis.com/storage/v1/",
171					Path:       "b/{bucket}/o/{object}/iam",
172				},
173				SetMethod: RestMethod{
174					HttpMethod:    "PUT",
175					BaseURL:       "https://storage.googleapis.com/storage/v1/",
176					Path:          "b/{bucket}/o/{object}/iam",
177					RequestFormat: `%s`,
178				},
179			},
180		},
181	},
182	"folders": {
183		"cloudresourcemanager": {
184			"v2": RestResource{
185				Name:                      "folders",
186				TypeKey:                   "folders",
187				Service:                   "cloudresourcemanager",
188				IsPreferredVersion:        true,
189				Parameters:                []string{"resource"},
190				CollectionReplacementKeys: map[string]string{},
191				GetMethod: RestMethod{
192					HttpMethod: "POST",
193					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
194					Path:       "v2/{+resource}:getIamPolicy",
195				},
196				SetMethod: RestMethod{
197					HttpMethod:    "POST",
198					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
199					Path:          "v2/{+resource}:setIamPolicy",
200					RequestFormat: `{"policy": %s}`,
201				},
202			},
203			"v2beta1": RestResource{
204				Name:                      "folders",
205				TypeKey:                   "folders",
206				Service:                   "cloudresourcemanager",
207				IsPreferredVersion:        false,
208				Parameters:                []string{"resource"},
209				CollectionReplacementKeys: map[string]string{},
210				GetMethod: RestMethod{
211					HttpMethod: "POST",
212					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
213					Path:       "v2/{+resource}:getIamPolicy",
214				},
215				SetMethod: RestMethod{
216					HttpMethod:    "POST",
217					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
218					Path:          "v2/{+resource}:setIamPolicy",
219					RequestFormat: `{"policy": %s}`,
220				},
221			},
222		},
223	},
224	"organizations": {
225		"cloudresourcemanager": {
226			"v1": RestResource{
227				Name:                      "organizations",
228				TypeKey:                   "organizations",
229				Service:                   "cloudresourcemanager",
230				IsPreferredVersion:        false,
231				Parameters:                []string{"resource"},
232				CollectionReplacementKeys: map[string]string{},
233				GetMethod: RestMethod{
234					HttpMethod: "POST",
235					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
236					Path:       "v1/{+resource}:getIamPolicy",
237				},
238				SetMethod: RestMethod{
239					HttpMethod:    "POST",
240					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
241					Path:          "v1/{+resource}:setIamPolicy",
242					RequestFormat: `{"policy": %s}`,
243				},
244			},
245			"v1beta1": RestResource{
246				Name:                      "organizations",
247				TypeKey:                   "organizations",
248				Service:                   "cloudresourcemanager",
249				IsPreferredVersion:        false,
250				Parameters:                []string{"resource"},
251				CollectionReplacementKeys: map[string]string{},
252				GetMethod: RestMethod{
253					HttpMethod: "POST",
254					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
255					Path:       "v1beta1/{+resource}:getIamPolicy",
256				},
257				SetMethod: RestMethod{
258					HttpMethod:    "POST",
259					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
260					Path:          "v1beta1/{+resource}:setIamPolicy",
261					RequestFormat: `{"policy": %s}`,
262				},
263			},
264		},
265	},
266	"organizations/sources": {
267		"securitycenter": {
268			"v1": RestResource{
269				Name:                      "sources",
270				TypeKey:                   "organizations/sources",
271				Service:                   "securitycenter",
272				IsPreferredVersion:        true,
273				Parameters:                []string{"resource"},
274				CollectionReplacementKeys: map[string]string{},
275				GetMethod: RestMethod{
276					HttpMethod: "POST",
277					BaseURL:    "https://securitycenter.googleapis.com/",
278					Path:       "v1/{+resource}:getIamPolicy",
279				},
280				SetMethod: RestMethod{
281					HttpMethod:    "POST",
282					BaseURL:       "https://securitycenter.googleapis.com/",
283					Path:          "v1/{+resource}:setIamPolicy",
284					RequestFormat: `{"policy": %s}`,
285				},
286			},
287			"v1beta1": RestResource{
288				Name:                      "sources",
289				TypeKey:                   "organizations/sources",
290				Service:                   "securitycenter",
291				IsPreferredVersion:        false,
292				Parameters:                []string{"resource"},
293				CollectionReplacementKeys: map[string]string{},
294				GetMethod: RestMethod{
295					HttpMethod: "POST",
296					BaseURL:    "https://securitycenter.googleapis.com/",
297					Path:       "v1beta1/{+resource}:getIamPolicy",
298				},
299				SetMethod: RestMethod{
300					HttpMethod:    "POST",
301					BaseURL:       "https://securitycenter.googleapis.com/",
302					Path:          "v1beta1/{+resource}:setIamPolicy",
303					RequestFormat: `{"policy": %s}`,
304				},
305			},
306			"v1p1beta1": RestResource{
307				Name:                      "sources",
308				TypeKey:                   "organizations/sources",
309				Service:                   "securitycenter",
310				IsPreferredVersion:        false,
311				Parameters:                []string{"resource"},
312				CollectionReplacementKeys: map[string]string{},
313				GetMethod: RestMethod{
314					HttpMethod: "POST",
315					BaseURL:    "https://securitycenter.googleapis.com/",
316					Path:       "v1p1beta1/{+resource}:getIamPolicy",
317				},
318				SetMethod: RestMethod{
319					HttpMethod:    "POST",
320					BaseURL:       "https://securitycenter.googleapis.com/",
321					Path:          "v1p1beta1/{+resource}:setIamPolicy",
322					RequestFormat: `{"policy": %s}`,
323				},
324			},
325		},
326	},
327	"projects": {
328		"cloudresourcemanager": {
329			"v1": RestResource{
330				Name:               "projects",
331				TypeKey:            "projects",
332				Service:            "cloudresourcemanager",
333				IsPreferredVersion: false,
334				Parameters:         []string{"resource"},
335				CollectionReplacementKeys: map[string]string{
336					"projects": "resource",
337				},
338				GetMethod: RestMethod{
339					HttpMethod: "POST",
340					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
341					Path:       "v1/projects/{resource}:getIamPolicy",
342				},
343				SetMethod: RestMethod{
344					HttpMethod:    "POST",
345					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
346					Path:          "v1/projects/{resource}:setIamPolicy",
347					RequestFormat: `{"policy": %s}`,
348				},
349			},
350			"v1beta1": RestResource{
351				Name:               "projects",
352				TypeKey:            "projects",
353				Service:            "cloudresourcemanager",
354				IsPreferredVersion: false,
355				Parameters:         []string{"resource"},
356				CollectionReplacementKeys: map[string]string{
357					"projects": "resource",
358				},
359				GetMethod: RestMethod{
360					HttpMethod: "POST",
361					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
362					Path:       "v1beta1/projects/{resource}:getIamPolicy",
363				},
364				SetMethod: RestMethod{
365					HttpMethod:    "POST",
366					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
367					Path:          "v1beta1/projects/{resource}:setIamPolicy",
368					RequestFormat: `{"policy": %s}`,
369				},
370			},
371		},
372	},
373	"projects/backendBuckets": {
374		"compute": {
375			"alpha": RestResource{
376				Name:               "backendBuckets",
377				TypeKey:            "projects/backendBuckets",
378				Service:            "compute",
379				IsPreferredVersion: false,
380				Parameters:         []string{"project", "resource"},
381				CollectionReplacementKeys: map[string]string{
382					"backendBuckets": "resource",
383					"projects":       "project",
384				},
385				GetMethod: RestMethod{
386					HttpMethod: "GET",
387					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
388					Path:       "{project}/global/backendBuckets/{resource}/getIamPolicy",
389				},
390				SetMethod: RestMethod{
391					HttpMethod:    "POST",
392					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
393					Path:          "{project}/global/backendBuckets/{resource}/setIamPolicy",
394					RequestFormat: `{"policy": %s}`,
395				},
396			},
397		},
398	},
399	"projects/configs": {
400		"runtimeconfig": {
401			"v1beta1": RestResource{
402				Name:                      "configs",
403				TypeKey:                   "projects/configs",
404				Service:                   "runtimeconfig",
405				IsPreferredVersion:        false,
406				Parameters:                []string{"resource"},
407				CollectionReplacementKeys: map[string]string{},
408				GetMethod: RestMethod{
409					HttpMethod: "GET",
410					BaseURL:    "https://runtimeconfig.googleapis.com/",
411					Path:       "v1beta1/{+resource}:getIamPolicy",
412				},
413				SetMethod: RestMethod{
414					HttpMethod:    "POST",
415					BaseURL:       "https://runtimeconfig.googleapis.com/",
416					Path:          "v1beta1/{+resource}:setIamPolicy",
417					RequestFormat: `{"policy": %s}`,
418				},
419			},
420		},
421	},
422	"projects/datasets": {
423		"bigquery": {
424			"v2": RestResource{
425				Name:                      "datasets",
426				TypeKey:                   "projects/datasets",
427				Service:                   "bigquery",
428				IsPreferredVersion:        true,
429				Parameters:                []string{"resource"},
430				CollectionReplacementKeys: map[string]string{},
431				GetMethod: RestMethod{
432					HttpMethod: "GET",
433					BaseURL:    "https://bigquery.googleapis.com",
434					Path:       "bigquery/v2/{+resource}",
435				},
436				SetMethod: RestMethod{
437					HttpMethod:    "PATCH",
438					BaseURL:       "https://bigquery.googleapis.com",
439					Path:          "bigquery/v2/{+resource}",
440					RequestFormat: `%s`,
441				},
442			},
443		},
444	},
445	"projects/deployments": {
446		"deploymentmanager": {
447			"alpha": RestResource{
448				Name:               "deployments",
449				TypeKey:            "projects/deployments",
450				Service:            "deploymentmanager",
451				IsPreferredVersion: false,
452				Parameters:         []string{"project", "resource"},
453				CollectionReplacementKeys: map[string]string{
454					"deployments": "resource",
455					"projects":    "project",
456				},
457				GetMethod: RestMethod{
458					HttpMethod: "GET",
459					BaseURL:    "https://www.googleapis.com/deploymentmanager/alpha/projects/",
460					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
461				},
462				SetMethod: RestMethod{
463					HttpMethod:    "POST",
464					BaseURL:       "https://www.googleapis.com/deploymentmanager/alpha/projects/",
465					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
466					RequestFormat: `{"policy": %s}`,
467				},
468			},
469			"v2": RestResource{
470				Name:               "deployments",
471				TypeKey:            "projects/deployments",
472				Service:            "deploymentmanager",
473				IsPreferredVersion: true,
474				Parameters:         []string{"project", "resource"},
475				CollectionReplacementKeys: map[string]string{
476					"deployments": "resource",
477					"projects":    "project",
478				},
479				GetMethod: RestMethod{
480					HttpMethod: "GET",
481					BaseURL:    "https://www.googleapis.com/deploymentmanager/v2/projects/",
482					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
483				},
484				SetMethod: RestMethod{
485					HttpMethod:    "POST",
486					BaseURL:       "https://www.googleapis.com/deploymentmanager/v2/projects/",
487					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
488					RequestFormat: `{"policy": %s}`,
489				},
490			},
491			"v2beta": RestResource{
492				Name:               "deployments",
493				TypeKey:            "projects/deployments",
494				Service:            "deploymentmanager",
495				IsPreferredVersion: false,
496				Parameters:         []string{"project", "resource"},
497				CollectionReplacementKeys: map[string]string{
498					"deployments": "resource",
499					"projects":    "project",
500				},
501				GetMethod: RestMethod{
502					HttpMethod: "GET",
503					BaseURL:    "https://www.googleapis.com/deploymentmanager/v2beta/projects/",
504					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
505				},
506				SetMethod: RestMethod{
507					HttpMethod:    "POST",
508					BaseURL:       "https://www.googleapis.com/deploymentmanager/v2beta/projects/",
509					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
510					RequestFormat: `{"policy": %s}`,
511				},
512			},
513		},
514	},
515	"projects/images": {
516		"compute": {
517			"alpha": RestResource{
518				Name:               "images",
519				TypeKey:            "projects/images",
520				Service:            "compute",
521				IsPreferredVersion: false,
522				Parameters:         []string{"project", "resource"},
523				CollectionReplacementKeys: map[string]string{
524					"images":   "resource",
525					"projects": "project",
526				},
527				GetMethod: RestMethod{
528					HttpMethod: "GET",
529					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
530					Path:       "{project}/global/images/{resource}/getIamPolicy",
531				},
532				SetMethod: RestMethod{
533					HttpMethod:    "POST",
534					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
535					Path:          "{project}/global/images/{resource}/setIamPolicy",
536					RequestFormat: `{"policy": %s}`,
537				},
538			},
539			"beta": RestResource{
540				Name:               "images",
541				TypeKey:            "projects/images",
542				Service:            "compute",
543				IsPreferredVersion: false,
544				Parameters:         []string{"project", "resource"},
545				CollectionReplacementKeys: map[string]string{
546					"images":   "resource",
547					"projects": "project",
548				},
549				GetMethod: RestMethod{
550					HttpMethod: "GET",
551					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
552					Path:       "{project}/global/images/{resource}/getIamPolicy",
553				},
554				SetMethod: RestMethod{
555					HttpMethod:    "POST",
556					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
557					Path:          "{project}/global/images/{resource}/setIamPolicy",
558					RequestFormat: `{"policy": %s}`,
559				},
560			},
561			"v1": RestResource{
562				Name:               "images",
563				TypeKey:            "projects/images",
564				Service:            "compute",
565				IsPreferredVersion: true,
566				Parameters:         []string{"project", "resource"},
567				CollectionReplacementKeys: map[string]string{
568					"images":   "resource",
569					"projects": "project",
570				},
571				GetMethod: RestMethod{
572					HttpMethod: "GET",
573					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
574					Path:       "{project}/global/images/{resource}/getIamPolicy",
575				},
576				SetMethod: RestMethod{
577					HttpMethod:    "POST",
578					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
579					Path:          "{project}/global/images/{resource}/setIamPolicy",
580					RequestFormat: `{"policy": %s}`,
581				},
582			},
583		},
584	},
585	"projects/instanceTemplates": {
586		"compute": {
587			"alpha": RestResource{
588				Name:               "instanceTemplates",
589				TypeKey:            "projects/instanceTemplates",
590				Service:            "compute",
591				IsPreferredVersion: false,
592				Parameters:         []string{"project", "resource"},
593				CollectionReplacementKeys: map[string]string{
594					"instanceTemplates": "resource",
595					"projects":          "project",
596				},
597				GetMethod: RestMethod{
598					HttpMethod: "GET",
599					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
600					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
601				},
602				SetMethod: RestMethod{
603					HttpMethod:    "POST",
604					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
605					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
606					RequestFormat: `{"policy": %s}`,
607				},
608			},
609			"beta": RestResource{
610				Name:               "instanceTemplates",
611				TypeKey:            "projects/instanceTemplates",
612				Service:            "compute",
613				IsPreferredVersion: false,
614				Parameters:         []string{"project", "resource"},
615				CollectionReplacementKeys: map[string]string{
616					"instanceTemplates": "resource",
617					"projects":          "project",
618				},
619				GetMethod: RestMethod{
620					HttpMethod: "GET",
621					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
622					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
623				},
624				SetMethod: RestMethod{
625					HttpMethod:    "POST",
626					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
627					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
628					RequestFormat: `{"policy": %s}`,
629				},
630			},
631			"v1": RestResource{
632				Name:               "instanceTemplates",
633				TypeKey:            "projects/instanceTemplates",
634				Service:            "compute",
635				IsPreferredVersion: true,
636				Parameters:         []string{"project", "resource"},
637				CollectionReplacementKeys: map[string]string{
638					"instanceTemplates": "resource",
639					"projects":          "project",
640				},
641				GetMethod: RestMethod{
642					HttpMethod: "GET",
643					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
644					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
645				},
646				SetMethod: RestMethod{
647					HttpMethod:    "POST",
648					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
649					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
650					RequestFormat: `{"policy": %s}`,
651				},
652			},
653		},
654	},
655	"projects/instances": {
656		"bigtableadmin": {
657			"v2": RestResource{
658				Name:                      "instances",
659				TypeKey:                   "projects/instances",
660				Service:                   "bigtableadmin",
661				IsPreferredVersion:        true,
662				Parameters:                []string{"resource"},
663				CollectionReplacementKeys: map[string]string{},
664				GetMethod: RestMethod{
665					HttpMethod: "POST",
666					BaseURL:    "https://bigtableadmin.googleapis.com/",
667					Path:       "v2/{+resource}:getIamPolicy",
668				},
669				SetMethod: RestMethod{
670					HttpMethod:    "POST",
671					BaseURL:       "https://bigtableadmin.googleapis.com/",
672					Path:          "v2/{+resource}:setIamPolicy",
673					RequestFormat: `{"policy": %s}`,
674				},
675			},
676		},
677		"spanner": {
678			"v1": RestResource{
679				Name:                      "instances",
680				TypeKey:                   "projects/instances",
681				Service:                   "spanner",
682				IsPreferredVersion:        true,
683				Parameters:                []string{"resource"},
684				CollectionReplacementKeys: map[string]string{},
685				GetMethod: RestMethod{
686					HttpMethod: "POST",
687					BaseURL:    "https://spanner.googleapis.com/",
688					Path:       "v1/{+resource}:getIamPolicy",
689				},
690				SetMethod: RestMethod{
691					HttpMethod:    "POST",
692					BaseURL:       "https://spanner.googleapis.com/",
693					Path:          "v1/{+resource}:setIamPolicy",
694					RequestFormat: `{"policy": %s}`,
695				},
696			},
697		},
698	},
699	"projects/instances/backups": {
700		"spanner": {
701			"v1": RestResource{
702				Name:                      "backups",
703				TypeKey:                   "projects/instances/backups",
704				Service:                   "spanner",
705				IsPreferredVersion:        true,
706				Parameters:                []string{"resource"},
707				CollectionReplacementKeys: map[string]string{},
708				GetMethod: RestMethod{
709					HttpMethod: "POST",
710					BaseURL:    "https://spanner.googleapis.com/",
711					Path:       "v1/{+resource}:getIamPolicy",
712				},
713				SetMethod: RestMethod{
714					HttpMethod:    "POST",
715					BaseURL:       "https://spanner.googleapis.com/",
716					Path:          "v1/{+resource}:setIamPolicy",
717					RequestFormat: `{"policy": %s}`,
718				},
719			},
720		},
721	},
722	"projects/instances/clusters/backups": {
723		"bigtableadmin": {
724			"v2": RestResource{
725				Name:                      "backups",
726				TypeKey:                   "projects/instances/clusters/backups",
727				Service:                   "bigtableadmin",
728				IsPreferredVersion:        true,
729				Parameters:                []string{"resource"},
730				CollectionReplacementKeys: map[string]string{},
731				GetMethod: RestMethod{
732					HttpMethod: "POST",
733					BaseURL:    "https://bigtableadmin.googleapis.com/",
734					Path:       "v2/{+resource}:getIamPolicy",
735				},
736				SetMethod: RestMethod{
737					HttpMethod:    "POST",
738					BaseURL:       "https://bigtableadmin.googleapis.com/",
739					Path:          "v2/{+resource}:setIamPolicy",
740					RequestFormat: `{"policy": %s}`,
741				},
742			},
743		},
744	},
745	"projects/instances/databases": {
746		"spanner": {
747			"v1": RestResource{
748				Name:                      "databases",
749				TypeKey:                   "projects/instances/databases",
750				Service:                   "spanner",
751				IsPreferredVersion:        true,
752				Parameters:                []string{"resource"},
753				CollectionReplacementKeys: map[string]string{},
754				GetMethod: RestMethod{
755					HttpMethod: "POST",
756					BaseURL:    "https://spanner.googleapis.com/",
757					Path:       "v1/{+resource}:getIamPolicy",
758				},
759				SetMethod: RestMethod{
760					HttpMethod:    "POST",
761					BaseURL:       "https://spanner.googleapis.com/",
762					Path:          "v1/{+resource}:setIamPolicy",
763					RequestFormat: `{"policy": %s}`,
764				},
765			},
766		},
767	},
768	"projects/instances/tables": {
769		"bigtableadmin": {
770			"v2": RestResource{
771				Name:                      "tables",
772				TypeKey:                   "projects/instances/tables",
773				Service:                   "bigtableadmin",
774				IsPreferredVersion:        true,
775				Parameters:                []string{"resource"},
776				CollectionReplacementKeys: map[string]string{},
777				GetMethod: RestMethod{
778					HttpMethod: "POST",
779					BaseURL:    "https://bigtableadmin.googleapis.com/",
780					Path:       "v2/{+resource}:getIamPolicy",
781				},
782				SetMethod: RestMethod{
783					HttpMethod:    "POST",
784					BaseURL:       "https://bigtableadmin.googleapis.com/",
785					Path:          "v2/{+resource}:setIamPolicy",
786					RequestFormat: `{"policy": %s}`,
787				},
788			},
789		},
790	},
791	"projects/interconnects": {
792		"compute": {
793			"alpha": RestResource{
794				Name:               "interconnects",
795				TypeKey:            "projects/interconnects",
796				Service:            "compute",
797				IsPreferredVersion: false,
798				Parameters:         []string{"project", "resource"},
799				CollectionReplacementKeys: map[string]string{
800					"interconnects": "resource",
801					"projects":      "project",
802				},
803				GetMethod: RestMethod{
804					HttpMethod: "GET",
805					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
806					Path:       "{project}/global/interconnects/{resource}/getIamPolicy",
807				},
808				SetMethod: RestMethod{
809					HttpMethod:    "POST",
810					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
811					Path:          "{project}/global/interconnects/{resource}/setIamPolicy",
812					RequestFormat: `{"policy": %s}`,
813				},
814			},
815		},
816	},
817	"projects/licenseCodes": {
818		"compute": {
819			"alpha": RestResource{
820				Name:               "licenseCodes",
821				TypeKey:            "projects/licenseCodes",
822				Service:            "compute",
823				IsPreferredVersion: false,
824				Parameters:         []string{"project", "resource"},
825				CollectionReplacementKeys: map[string]string{
826					"licenseCodes": "resource",
827					"projects":     "project",
828				},
829				GetMethod: RestMethod{
830					HttpMethod: "GET",
831					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
832					Path:       "{project}/global/licenseCodes/{resource}/getIamPolicy",
833				},
834				SetMethod: RestMethod{
835					HttpMethod:    "POST",
836					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
837					Path:          "{project}/global/licenseCodes/{resource}/setIamPolicy",
838					RequestFormat: `{"policy": %s}`,
839				},
840			},
841		},
842	},
843	"projects/licenses": {
844		"compute": {
845			"alpha": RestResource{
846				Name:               "licenses",
847				TypeKey:            "projects/licenses",
848				Service:            "compute",
849				IsPreferredVersion: false,
850				Parameters:         []string{"project", "resource"},
851				CollectionReplacementKeys: map[string]string{
852					"licenses": "resource",
853					"projects": "project",
854				},
855				GetMethod: RestMethod{
856					HttpMethod: "GET",
857					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
858					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
859				},
860				SetMethod: RestMethod{
861					HttpMethod:    "POST",
862					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
863					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
864					RequestFormat: `{"policy": %s}`,
865				},
866			},
867			"beta": RestResource{
868				Name:               "licenses",
869				TypeKey:            "projects/licenses",
870				Service:            "compute",
871				IsPreferredVersion: false,
872				Parameters:         []string{"project", "resource"},
873				CollectionReplacementKeys: map[string]string{
874					"licenses": "resource",
875					"projects": "project",
876				},
877				GetMethod: RestMethod{
878					HttpMethod: "GET",
879					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
880					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
881				},
882				SetMethod: RestMethod{
883					HttpMethod:    "POST",
884					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
885					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
886					RequestFormat: `{"policy": %s}`,
887				},
888			},
889			"v1": RestResource{
890				Name:               "licenses",
891				TypeKey:            "projects/licenses",
892				Service:            "compute",
893				IsPreferredVersion: true,
894				Parameters:         []string{"project", "resource"},
895				CollectionReplacementKeys: map[string]string{
896					"licenses": "resource",
897					"projects": "project",
898				},
899				GetMethod: RestMethod{
900					HttpMethod: "GET",
901					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
902					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
903				},
904				SetMethod: RestMethod{
905					HttpMethod:    "POST",
906					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
907					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
908					RequestFormat: `{"policy": %s}`,
909				},
910			},
911		},
912	},
913	"projects/locations/autoscalingPolicies": {
914		"dataproc": {
915			"v1": RestResource{
916				Name:                      "autoscalingPolicies",
917				TypeKey:                   "projects/locations/autoscalingPolicies",
918				Service:                   "dataproc",
919				IsPreferredVersion:        true,
920				Parameters:                []string{"resource"},
921				CollectionReplacementKeys: map[string]string{},
922				GetMethod: RestMethod{
923					HttpMethod: "POST",
924					BaseURL:    "https://dataproc.googleapis.com/",
925					Path:       "v1/{+resource}:getIamPolicy",
926				},
927				SetMethod: RestMethod{
928					HttpMethod:    "POST",
929					BaseURL:       "https://dataproc.googleapis.com/",
930					Path:          "v1/{+resource}:setIamPolicy",
931					RequestFormat: `{"policy": %s}`,
932				},
933			},
934			"v1beta2": RestResource{
935				Name:                      "autoscalingPolicies",
936				TypeKey:                   "projects/locations/autoscalingPolicies",
937				Service:                   "dataproc",
938				IsPreferredVersion:        false,
939				Parameters:                []string{"resource"},
940				CollectionReplacementKeys: map[string]string{},
941				GetMethod: RestMethod{
942					HttpMethod: "GET",
943					BaseURL:    "https://dataproc.googleapis.com/",
944					Path:       "v1beta2/{+resource}:getIamPolicy",
945				},
946				SetMethod: RestMethod{
947					HttpMethod:    "POST",
948					BaseURL:       "https://dataproc.googleapis.com/",
949					Path:          "v1beta2/{+resource}:setIamPolicy",
950					RequestFormat: `{"policy": %s}`,
951				},
952			},
953		},
954	},
955	"projects/locations/connections": {
956		"bigqueryconnection": {
957			"v1beta1": RestResource{
958				Name:                      "connections",
959				TypeKey:                   "projects/locations/connections",
960				Service:                   "bigqueryconnection",
961				IsPreferredVersion:        true,
962				Parameters:                []string{"resource"},
963				CollectionReplacementKeys: map[string]string{},
964				GetMethod: RestMethod{
965					HttpMethod: "POST",
966					BaseURL:    "https://bigqueryconnection.googleapis.com/",
967					Path:       "v1beta1/{+resource}:getIamPolicy",
968				},
969				SetMethod: RestMethod{
970					HttpMethod:    "POST",
971					BaseURL:       "https://bigqueryconnection.googleapis.com/",
972					Path:          "v1beta1/{+resource}:setIamPolicy",
973					RequestFormat: `{"policy": %s}`,
974				},
975			},
976		},
977	},
978	"projects/locations/connectivityTests": {
979		"networkmanagement": {
980			"v1beta1": RestResource{
981				Name:                      "connectivityTests",
982				TypeKey:                   "projects/locations/connectivityTests",
983				Service:                   "networkmanagement",
984				IsPreferredVersion:        true,
985				Parameters:                []string{"resource"},
986				CollectionReplacementKeys: map[string]string{},
987				GetMethod: RestMethod{
988					HttpMethod: "GET",
989					BaseURL:    "https://networkmanagement.googleapis.com/",
990					Path:       "v1beta1/{+resource}:getIamPolicy",
991				},
992				SetMethod: RestMethod{
993					HttpMethod:    "POST",
994					BaseURL:       "https://networkmanagement.googleapis.com/",
995					Path:          "v1beta1/{+resource}:setIamPolicy",
996					RequestFormat: `{"policy": %s}`,
997				},
998			},
999		},
1000	},
1001	"projects/locations/datasets": {
1002		"healthcare": {
1003			"v1beta1": RestResource{
1004				Name:                      "datasets",
1005				TypeKey:                   "projects/locations/datasets",
1006				Service:                   "healthcare",
1007				IsPreferredVersion:        true,
1008				Parameters:                []string{"resource"},
1009				CollectionReplacementKeys: map[string]string{},
1010				GetMethod: RestMethod{
1011					HttpMethod: "GET",
1012					BaseURL:    "https://healthcare.googleapis.com/",
1013					Path:       "v1beta1/{+resource}:getIamPolicy",
1014				},
1015				SetMethod: RestMethod{
1016					HttpMethod:    "POST",
1017					BaseURL:       "https://healthcare.googleapis.com/",
1018					Path:          "v1beta1/{+resource}:setIamPolicy",
1019					RequestFormat: `{"policy": %s}`,
1020				},
1021			},
1022		},
1023	},
1024	"projects/locations/datasets/annotationStores": {
1025		"healthcare": {
1026			"v1beta1": RestResource{
1027				Name:                      "annotationStores",
1028				TypeKey:                   "projects/locations/datasets/annotationStores",
1029				Service:                   "healthcare",
1030				IsPreferredVersion:        true,
1031				Parameters:                []string{"resource"},
1032				CollectionReplacementKeys: map[string]string{},
1033				GetMethod: RestMethod{
1034					HttpMethod: "GET",
1035					BaseURL:    "https://healthcare.googleapis.com/",
1036					Path:       "v1beta1/{+resource}:getIamPolicy",
1037				},
1038				SetMethod: RestMethod{
1039					HttpMethod:    "POST",
1040					BaseURL:       "https://healthcare.googleapis.com/",
1041					Path:          "v1beta1/{+resource}:setIamPolicy",
1042					RequestFormat: `{"policy": %s}`,
1043				},
1044			},
1045		},
1046	},
1047	"projects/locations/datasets/dicomStores": {
1048		"healthcare": {
1049			"v1beta1": RestResource{
1050				Name:                      "dicomStores",
1051				TypeKey:                   "projects/locations/datasets/dicomStores",
1052				Service:                   "healthcare",
1053				IsPreferredVersion:        true,
1054				Parameters:                []string{"resource"},
1055				CollectionReplacementKeys: map[string]string{},
1056				GetMethod: RestMethod{
1057					HttpMethod: "GET",
1058					BaseURL:    "https://healthcare.googleapis.com/",
1059					Path:       "v1beta1/{+resource}:getIamPolicy",
1060				},
1061				SetMethod: RestMethod{
1062					HttpMethod:    "POST",
1063					BaseURL:       "https://healthcare.googleapis.com/",
1064					Path:          "v1beta1/{+resource}:setIamPolicy",
1065					RequestFormat: `{"policy": %s}`,
1066				},
1067			},
1068		},
1069	},
1070	"projects/locations/datasets/fhirStores": {
1071		"healthcare": {
1072			"v1beta1": RestResource{
1073				Name:                      "fhirStores",
1074				TypeKey:                   "projects/locations/datasets/fhirStores",
1075				Service:                   "healthcare",
1076				IsPreferredVersion:        true,
1077				Parameters:                []string{"resource"},
1078				CollectionReplacementKeys: map[string]string{},
1079				GetMethod: RestMethod{
1080					HttpMethod: "GET",
1081					BaseURL:    "https://healthcare.googleapis.com/",
1082					Path:       "v1beta1/{+resource}:getIamPolicy",
1083				},
1084				SetMethod: RestMethod{
1085					HttpMethod:    "POST",
1086					BaseURL:       "https://healthcare.googleapis.com/",
1087					Path:          "v1beta1/{+resource}:setIamPolicy",
1088					RequestFormat: `{"policy": %s}`,
1089				},
1090			},
1091		},
1092	},
1093	"projects/locations/domains": {
1094		"managedidentities": {
1095			"v1": RestResource{
1096				Name:                      "domains",
1097				TypeKey:                   "projects/locations/domains",
1098				Service:                   "managedidentities",
1099				IsPreferredVersion:        true,
1100				Parameters:                []string{"resource"},
1101				CollectionReplacementKeys: map[string]string{},
1102				GetMethod: RestMethod{
1103					HttpMethod: "GET",
1104					BaseURL:    "https://managedidentities.googleapis.com/",
1105					Path:       "v1/{+resource}:getIamPolicy",
1106				},
1107				SetMethod: RestMethod{
1108					HttpMethod:    "POST",
1109					BaseURL:       "https://managedidentities.googleapis.com/",
1110					Path:          "v1/{+resource}:setIamPolicy",
1111					RequestFormat: `{"policy": %s}`,
1112				},
1113			},
1114			"v1alpha1": RestResource{
1115				Name:                      "domains",
1116				TypeKey:                   "projects/locations/domains",
1117				Service:                   "managedidentities",
1118				IsPreferredVersion:        false,
1119				Parameters:                []string{"resource"},
1120				CollectionReplacementKeys: map[string]string{},
1121				GetMethod: RestMethod{
1122					HttpMethod: "GET",
1123					BaseURL:    "https://managedidentities.googleapis.com/",
1124					Path:       "v1alpha1/{+resource}:getIamPolicy",
1125				},
1126				SetMethod: RestMethod{
1127					HttpMethod:    "POST",
1128					BaseURL:       "https://managedidentities.googleapis.com/",
1129					Path:          "v1alpha1/{+resource}:setIamPolicy",
1130					RequestFormat: `{"policy": %s}`,
1131				},
1132			},
1133			"v1beta1": RestResource{
1134				Name:                      "domains",
1135				TypeKey:                   "projects/locations/domains",
1136				Service:                   "managedidentities",
1137				IsPreferredVersion:        false,
1138				Parameters:                []string{"resource"},
1139				CollectionReplacementKeys: map[string]string{},
1140				GetMethod: RestMethod{
1141					HttpMethod: "GET",
1142					BaseURL:    "https://managedidentities.googleapis.com/",
1143					Path:       "v1beta1/{+resource}:getIamPolicy",
1144				},
1145				SetMethod: RestMethod{
1146					HttpMethod:    "POST",
1147					BaseURL:       "https://managedidentities.googleapis.com/",
1148					Path:          "v1beta1/{+resource}:setIamPolicy",
1149					RequestFormat: `{"policy": %s}`,
1150				},
1151			},
1152		},
1153	},
1154	"projects/locations/entryGroups": {
1155		"datacatalog": {
1156			"v1beta1": RestResource{
1157				Name:                      "entryGroups",
1158				TypeKey:                   "projects/locations/entryGroups",
1159				Service:                   "datacatalog",
1160				IsPreferredVersion:        true,
1161				Parameters:                []string{"resource"},
1162				CollectionReplacementKeys: map[string]string{},
1163				GetMethod: RestMethod{
1164					HttpMethod: "POST",
1165					BaseURL:    "https://datacatalog.googleapis.com/",
1166					Path:       "v1beta1/{+resource}:getIamPolicy",
1167				},
1168				SetMethod: RestMethod{
1169					HttpMethod:    "POST",
1170					BaseURL:       "https://datacatalog.googleapis.com/",
1171					Path:          "v1beta1/{+resource}:setIamPolicy",
1172					RequestFormat: `{"policy": %s}`,
1173				},
1174			},
1175		},
1176	},
1177	"projects/locations/functions": {
1178		"cloudfunctions": {
1179			"v1": RestResource{
1180				Name:                      "functions",
1181				TypeKey:                   "projects/locations/functions",
1182				Service:                   "cloudfunctions",
1183				IsPreferredVersion:        true,
1184				Parameters:                []string{"resource"},
1185				CollectionReplacementKeys: map[string]string{},
1186				GetMethod: RestMethod{
1187					HttpMethod: "GET",
1188					BaseURL:    "https://cloudfunctions.googleapis.com/",
1189					Path:       "v1/{+resource}:getIamPolicy",
1190				},
1191				SetMethod: RestMethod{
1192					HttpMethod:    "POST",
1193					BaseURL:       "https://cloudfunctions.googleapis.com/",
1194					Path:          "v1/{+resource}:setIamPolicy",
1195					RequestFormat: `{"policy": %s}`,
1196				},
1197			},
1198		},
1199	},
1200	"projects/locations/instances": {
1201		"datafusion": {
1202			"v1beta1": RestResource{
1203				Name:                      "instances",
1204				TypeKey:                   "projects/locations/instances",
1205				Service:                   "datafusion",
1206				IsPreferredVersion:        true,
1207				Parameters:                []string{"resource"},
1208				CollectionReplacementKeys: map[string]string{},
1209				GetMethod: RestMethod{
1210					HttpMethod: "GET",
1211					BaseURL:    "https://datafusion.googleapis.com/",
1212					Path:       "v1beta1/{+resource}:getIamPolicy",
1213				},
1214				SetMethod: RestMethod{
1215					HttpMethod:    "POST",
1216					BaseURL:       "https://datafusion.googleapis.com/",
1217					Path:          "v1beta1/{+resource}:setIamPolicy",
1218					RequestFormat: `{"policy": %s}`,
1219				},
1220			},
1221		},
1222		"memcache": {
1223			"v1beta2": RestResource{
1224				Name:                      "instances",
1225				TypeKey:                   "projects/locations/instances",
1226				Service:                   "memcache",
1227				IsPreferredVersion:        true,
1228				Parameters:                []string{"resource"},
1229				CollectionReplacementKeys: map[string]string{},
1230				GetMethod: RestMethod{
1231					HttpMethod: "GET",
1232					BaseURL:    "https://memcache.googleapis.com/",
1233					Path:       "v1beta2/{+resource}:getIamPolicy",
1234				},
1235				SetMethod: RestMethod{
1236					HttpMethod:    "POST",
1237					BaseURL:       "https://memcache.googleapis.com/",
1238					Path:          "v1beta2/{+resource}:setIamPolicy",
1239					RequestFormat: `{"policy": %s}`,
1240				},
1241			},
1242		},
1243	},
1244	"projects/locations/keyRings": {
1245		"cloudkms": {
1246			"v1": RestResource{
1247				Name:                      "keyRings",
1248				TypeKey:                   "projects/locations/keyRings",
1249				Service:                   "cloudkms",
1250				IsPreferredVersion:        true,
1251				Parameters:                []string{"resource"},
1252				CollectionReplacementKeys: map[string]string{},
1253				GetMethod: RestMethod{
1254					HttpMethod: "GET",
1255					BaseURL:    "https://cloudkms.googleapis.com/",
1256					Path:       "v1/{+resource}:getIamPolicy",
1257				},
1258				SetMethod: RestMethod{
1259					HttpMethod:    "POST",
1260					BaseURL:       "https://cloudkms.googleapis.com/",
1261					Path:          "v1/{+resource}:setIamPolicy",
1262					RequestFormat: `{"policy": %s}`,
1263				},
1264			},
1265		},
1266	},
1267	"projects/locations/keyRings/cryptoKeys": {
1268		"cloudkms": {
1269			"v1": RestResource{
1270				Name:                      "cryptoKeys",
1271				TypeKey:                   "projects/locations/keyRings/cryptoKeys",
1272				Service:                   "cloudkms",
1273				IsPreferredVersion:        true,
1274				Parameters:                []string{"resource"},
1275				CollectionReplacementKeys: map[string]string{},
1276				GetMethod: RestMethod{
1277					HttpMethod: "GET",
1278					BaseURL:    "https://cloudkms.googleapis.com/",
1279					Path:       "v1/{+resource}:getIamPolicy",
1280				},
1281				SetMethod: RestMethod{
1282					HttpMethod:    "POST",
1283					BaseURL:       "https://cloudkms.googleapis.com/",
1284					Path:          "v1/{+resource}:setIamPolicy",
1285					RequestFormat: `{"policy": %s}`,
1286				},
1287			},
1288		},
1289	},
1290	"projects/locations/keyRings/importJobs": {
1291		"cloudkms": {
1292			"v1": RestResource{
1293				Name:                      "importJobs",
1294				TypeKey:                   "projects/locations/keyRings/importJobs",
1295				Service:                   "cloudkms",
1296				IsPreferredVersion:        true,
1297				Parameters:                []string{"resource"},
1298				CollectionReplacementKeys: map[string]string{},
1299				GetMethod: RestMethod{
1300					HttpMethod: "GET",
1301					BaseURL:    "https://cloudkms.googleapis.com/",
1302					Path:       "v1/{+resource}:getIamPolicy",
1303				},
1304				SetMethod: RestMethod{
1305					HttpMethod:    "POST",
1306					BaseURL:       "https://cloudkms.googleapis.com/",
1307					Path:          "v1/{+resource}:setIamPolicy",
1308					RequestFormat: `{"policy": %s}`,
1309				},
1310			},
1311		},
1312	},
1313	"projects/locations/namespaces": {
1314		"servicedirectory": {
1315			"v1beta1": RestResource{
1316				Name:                      "namespaces",
1317				TypeKey:                   "projects/locations/namespaces",
1318				Service:                   "servicedirectory",
1319				IsPreferredVersion:        true,
1320				Parameters:                []string{"resource"},
1321				CollectionReplacementKeys: map[string]string{},
1322				GetMethod: RestMethod{
1323					HttpMethod: "POST",
1324					BaseURL:    "https://servicedirectory.googleapis.com/",
1325					Path:       "v1beta1/{+resource}:getIamPolicy",
1326				},
1327				SetMethod: RestMethod{
1328					HttpMethod:    "POST",
1329					BaseURL:       "https://servicedirectory.googleapis.com/",
1330					Path:          "v1beta1/{+resource}:setIamPolicy",
1331					RequestFormat: `{"policy": %s}`,
1332				},
1333			},
1334		},
1335	},
1336	"projects/locations/namespaces/services": {
1337		"servicedirectory": {
1338			"v1beta1": RestResource{
1339				Name:                      "services",
1340				TypeKey:                   "projects/locations/namespaces/services",
1341				Service:                   "servicedirectory",
1342				IsPreferredVersion:        true,
1343				Parameters:                []string{"resource"},
1344				CollectionReplacementKeys: map[string]string{},
1345				GetMethod: RestMethod{
1346					HttpMethod: "POST",
1347					BaseURL:    "https://servicedirectory.googleapis.com/",
1348					Path:       "v1beta1/{+resource}:getIamPolicy",
1349				},
1350				SetMethod: RestMethod{
1351					HttpMethod:    "POST",
1352					BaseURL:       "https://servicedirectory.googleapis.com/",
1353					Path:          "v1beta1/{+resource}:setIamPolicy",
1354					RequestFormat: `{"policy": %s}`,
1355				},
1356			},
1357		},
1358	},
1359	"projects/locations/queues": {
1360		"cloudtasks": {
1361			"v2": RestResource{
1362				Name:                      "queues",
1363				TypeKey:                   "projects/locations/queues",
1364				Service:                   "cloudtasks",
1365				IsPreferredVersion:        true,
1366				Parameters:                []string{"resource"},
1367				CollectionReplacementKeys: map[string]string{},
1368				GetMethod: RestMethod{
1369					HttpMethod: "POST",
1370					BaseURL:    "https://cloudtasks.googleapis.com/",
1371					Path:       "v2/{+resource}:getIamPolicy",
1372				},
1373				SetMethod: RestMethod{
1374					HttpMethod:    "POST",
1375					BaseURL:       "https://cloudtasks.googleapis.com/",
1376					Path:          "v2/{+resource}:setIamPolicy",
1377					RequestFormat: `{"policy": %s}`,
1378				},
1379			},
1380			"v2beta2": RestResource{
1381				Name:                      "queues",
1382				TypeKey:                   "projects/locations/queues",
1383				Service:                   "cloudtasks",
1384				IsPreferredVersion:        false,
1385				Parameters:                []string{"resource"},
1386				CollectionReplacementKeys: map[string]string{},
1387				GetMethod: RestMethod{
1388					HttpMethod: "POST",
1389					BaseURL:    "https://cloudtasks.googleapis.com/",
1390					Path:       "v2beta2/{+resource}:getIamPolicy",
1391				},
1392				SetMethod: RestMethod{
1393					HttpMethod:    "POST",
1394					BaseURL:       "https://cloudtasks.googleapis.com/",
1395					Path:          "v2beta2/{+resource}:setIamPolicy",
1396					RequestFormat: `{"policy": %s}`,
1397				},
1398			},
1399			"v2beta3": RestResource{
1400				Name:                      "queues",
1401				TypeKey:                   "projects/locations/queues",
1402				Service:                   "cloudtasks",
1403				IsPreferredVersion:        false,
1404				Parameters:                []string{"resource"},
1405				CollectionReplacementKeys: map[string]string{},
1406				GetMethod: RestMethod{
1407					HttpMethod: "POST",
1408					BaseURL:    "https://cloudtasks.googleapis.com/",
1409					Path:       "v2beta3/{+resource}:getIamPolicy",
1410				},
1411				SetMethod: RestMethod{
1412					HttpMethod:    "POST",
1413					BaseURL:       "https://cloudtasks.googleapis.com/",
1414					Path:          "v2beta3/{+resource}:setIamPolicy",
1415					RequestFormat: `{"policy": %s}`,
1416				},
1417			},
1418		},
1419	},
1420	"projects/locations/registries": {
1421		"cloudiot": {
1422			"v1": RestResource{
1423				Name:                      "registries",
1424				TypeKey:                   "projects/locations/registries",
1425				Service:                   "cloudiot",
1426				IsPreferredVersion:        true,
1427				Parameters:                []string{"resource"},
1428				CollectionReplacementKeys: map[string]string{},
1429				GetMethod: RestMethod{
1430					HttpMethod: "POST",
1431					BaseURL:    "https://cloudiot.googleapis.com/",
1432					Path:       "v1/{+resource}:getIamPolicy",
1433				},
1434				SetMethod: RestMethod{
1435					HttpMethod:    "POST",
1436					BaseURL:       "https://cloudiot.googleapis.com/",
1437					Path:          "v1/{+resource}:setIamPolicy",
1438					RequestFormat: `{"policy": %s}`,
1439				},
1440			},
1441		},
1442	},
1443	"projects/locations/registries/groups": {
1444		"cloudiot": {
1445			"v1": RestResource{
1446				Name:                      "groups",
1447				TypeKey:                   "projects/locations/registries/groups",
1448				Service:                   "cloudiot",
1449				IsPreferredVersion:        true,
1450				Parameters:                []string{"resource"},
1451				CollectionReplacementKeys: map[string]string{},
1452				GetMethod: RestMethod{
1453					HttpMethod: "POST",
1454					BaseURL:    "https://cloudiot.googleapis.com/",
1455					Path:       "v1/{+resource}:getIamPolicy",
1456				},
1457				SetMethod: RestMethod{
1458					HttpMethod:    "POST",
1459					BaseURL:       "https://cloudiot.googleapis.com/",
1460					Path:          "v1/{+resource}:setIamPolicy",
1461					RequestFormat: `{"policy": %s}`,
1462				},
1463			},
1464		},
1465	},
1466	"projects/locations/services": {
1467		"run": {
1468			"v1": RestResource{
1469				Name:                      "services",
1470				TypeKey:                   "projects/locations/services",
1471				Service:                   "run",
1472				IsPreferredVersion:        true,
1473				Parameters:                []string{"resource"},
1474				CollectionReplacementKeys: map[string]string{},
1475				GetMethod: RestMethod{
1476					HttpMethod: "GET",
1477					BaseURL:    "https://run.googleapis.com/",
1478					Path:       "v1/{+resource}:getIamPolicy",
1479				},
1480				SetMethod: RestMethod{
1481					HttpMethod:    "POST",
1482					BaseURL:       "https://run.googleapis.com/",
1483					Path:          "v1/{+resource}:setIamPolicy",
1484					RequestFormat: `{"policy": %s}`,
1485				},
1486			},
1487			"v1alpha1": RestResource{
1488				Name:                      "services",
1489				TypeKey:                   "projects/locations/services",
1490				Service:                   "run",
1491				IsPreferredVersion:        false,
1492				Parameters:                []string{"resource"},
1493				CollectionReplacementKeys: map[string]string{},
1494				GetMethod: RestMethod{
1495					HttpMethod: "GET",
1496					BaseURL:    "https://run.googleapis.com/",
1497					Path:       "v1alpha1/{+resource}:getIamPolicy",
1498				},
1499				SetMethod: RestMethod{
1500					HttpMethod:    "POST",
1501					BaseURL:       "https://run.googleapis.com/",
1502					Path:          "v1alpha1/{+resource}:setIamPolicy",
1503					RequestFormat: `{"policy": %s}`,
1504				},
1505			},
1506		},
1507	},
1508	"projects/locations/tagTemplates": {
1509		"datacatalog": {
1510			"v1beta1": RestResource{
1511				Name:                      "tagTemplates",
1512				TypeKey:                   "projects/locations/tagTemplates",
1513				Service:                   "datacatalog",
1514				IsPreferredVersion:        true,
1515				Parameters:                []string{"resource"},
1516				CollectionReplacementKeys: map[string]string{},
1517				GetMethod: RestMethod{
1518					HttpMethod: "POST",
1519					BaseURL:    "https://datacatalog.googleapis.com/",
1520					Path:       "v1beta1/{+resource}:getIamPolicy",
1521				},
1522				SetMethod: RestMethod{
1523					HttpMethod:    "POST",
1524					BaseURL:       "https://datacatalog.googleapis.com/",
1525					Path:          "v1beta1/{+resource}:setIamPolicy",
1526					RequestFormat: `{"policy": %s}`,
1527				},
1528			},
1529		},
1530	},
1531	"projects/locations/taxonomies": {
1532		"datacatalog": {
1533			"v1beta1": RestResource{
1534				Name:                      "taxonomies",
1535				TypeKey:                   "projects/locations/taxonomies",
1536				Service:                   "datacatalog",
1537				IsPreferredVersion:        true,
1538				Parameters:                []string{"resource"},
1539				CollectionReplacementKeys: map[string]string{},
1540				GetMethod: RestMethod{
1541					HttpMethod: "POST",
1542					BaseURL:    "https://datacatalog.googleapis.com/",
1543					Path:       "v1beta1/{+resource}:getIamPolicy",
1544				},
1545				SetMethod: RestMethod{
1546					HttpMethod:    "POST",
1547					BaseURL:       "https://datacatalog.googleapis.com/",
1548					Path:          "v1beta1/{+resource}:setIamPolicy",
1549					RequestFormat: `{"policy": %s}`,
1550				},
1551			},
1552		},
1553	},
1554	"projects/locations/taxonomies/policyTags": {
1555		"datacatalog": {
1556			"v1beta1": RestResource{
1557				Name:                      "policyTags",
1558				TypeKey:                   "projects/locations/taxonomies/policyTags",
1559				Service:                   "datacatalog",
1560				IsPreferredVersion:        true,
1561				Parameters:                []string{"resource"},
1562				CollectionReplacementKeys: map[string]string{},
1563				GetMethod: RestMethod{
1564					HttpMethod: "POST",
1565					BaseURL:    "https://datacatalog.googleapis.com/",
1566					Path:       "v1beta1/{+resource}:getIamPolicy",
1567				},
1568				SetMethod: RestMethod{
1569					HttpMethod:    "POST",
1570					BaseURL:       "https://datacatalog.googleapis.com/",
1571					Path:          "v1beta1/{+resource}:setIamPolicy",
1572					RequestFormat: `{"policy": %s}`,
1573				},
1574			},
1575		},
1576	},
1577	"projects/locations/workflowTemplates": {
1578		"dataproc": {
1579			"v1": RestResource{
1580				Name:                      "workflowTemplates",
1581				TypeKey:                   "projects/locations/workflowTemplates",
1582				Service:                   "dataproc",
1583				IsPreferredVersion:        true,
1584				Parameters:                []string{"resource"},
1585				CollectionReplacementKeys: map[string]string{},
1586				GetMethod: RestMethod{
1587					HttpMethod: "POST",
1588					BaseURL:    "https://dataproc.googleapis.com/",
1589					Path:       "v1/{+resource}:getIamPolicy",
1590				},
1591				SetMethod: RestMethod{
1592					HttpMethod:    "POST",
1593					BaseURL:       "https://dataproc.googleapis.com/",
1594					Path:          "v1/{+resource}:setIamPolicy",
1595					RequestFormat: `{"policy": %s}`,
1596				},
1597			},
1598			"v1beta2": RestResource{
1599				Name:                      "workflowTemplates",
1600				TypeKey:                   "projects/locations/workflowTemplates",
1601				Service:                   "dataproc",
1602				IsPreferredVersion:        false,
1603				Parameters:                []string{"resource"},
1604				CollectionReplacementKeys: map[string]string{},
1605				GetMethod: RestMethod{
1606					HttpMethod: "GET",
1607					BaseURL:    "https://dataproc.googleapis.com/",
1608					Path:       "v1beta2/{+resource}:getIamPolicy",
1609				},
1610				SetMethod: RestMethod{
1611					HttpMethod:    "POST",
1612					BaseURL:       "https://dataproc.googleapis.com/",
1613					Path:          "v1beta2/{+resource}:setIamPolicy",
1614					RequestFormat: `{"policy": %s}`,
1615				},
1616			},
1617		},
1618	},
1619	"projects/machineImages": {
1620		"compute": {
1621			"alpha": RestResource{
1622				Name:               "machineImages",
1623				TypeKey:            "projects/machineImages",
1624				Service:            "compute",
1625				IsPreferredVersion: false,
1626				Parameters:         []string{"project", "resource"},
1627				CollectionReplacementKeys: map[string]string{
1628					"machineImages": "resource",
1629					"projects":      "project",
1630				},
1631				GetMethod: RestMethod{
1632					HttpMethod: "GET",
1633					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
1634					Path:       "{project}/global/machineImages/{resource}/getIamPolicy",
1635				},
1636				SetMethod: RestMethod{
1637					HttpMethod:    "POST",
1638					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
1639					Path:          "{project}/global/machineImages/{resource}/setIamPolicy",
1640					RequestFormat: `{"policy": %s}`,
1641				},
1642			},
1643			"beta": RestResource{
1644				Name:               "machineImages",
1645				TypeKey:            "projects/machineImages",
1646				Service:            "compute",
1647				IsPreferredVersion: false,
1648				Parameters:         []string{"project", "resource"},
1649				CollectionReplacementKeys: map[string]string{
1650					"machineImages": "resource",
1651					"projects":      "project",
1652				},
1653				GetMethod: RestMethod{
1654					HttpMethod: "GET",
1655					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
1656					Path:       "{project}/global/machineImages/{resource}/getIamPolicy",
1657				},
1658				SetMethod: RestMethod{
1659					HttpMethod:    "POST",
1660					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
1661					Path:          "{project}/global/machineImages/{resource}/setIamPolicy",
1662					RequestFormat: `{"policy": %s}`,
1663				},
1664			},
1665		},
1666	},
1667	"projects/notes": {
1668		"containeranalysis": {
1669			"v1alpha1": RestResource{
1670				Name:                      "notes",
1671				TypeKey:                   "projects/notes",
1672				Service:                   "containeranalysis",
1673				IsPreferredVersion:        true,
1674				Parameters:                []string{"resource"},
1675				CollectionReplacementKeys: map[string]string{},
1676				GetMethod: RestMethod{
1677					HttpMethod: "POST",
1678					BaseURL:    "https://containeranalysis.googleapis.com/",
1679					Path:       "v1alpha1/{+resource}:getIamPolicy",
1680				},
1681				SetMethod: RestMethod{
1682					HttpMethod:    "POST",
1683					BaseURL:       "https://containeranalysis.googleapis.com/",
1684					Path:          "v1alpha1/{+resource}:setIamPolicy",
1685					RequestFormat: `{"policy": %s}`,
1686				},
1687			},
1688			"v1beta1": RestResource{
1689				Name:                      "notes",
1690				TypeKey:                   "projects/notes",
1691				Service:                   "containeranalysis",
1692				IsPreferredVersion:        false,
1693				Parameters:                []string{"resource"},
1694				CollectionReplacementKeys: map[string]string{},
1695				GetMethod: RestMethod{
1696					HttpMethod: "POST",
1697					BaseURL:    "https://containeranalysis.googleapis.com/",
1698					Path:       "v1beta1/{+resource}:getIamPolicy",
1699				},
1700				SetMethod: RestMethod{
1701					HttpMethod:    "POST",
1702					BaseURL:       "https://containeranalysis.googleapis.com/",
1703					Path:          "v1beta1/{+resource}:setIamPolicy",
1704					RequestFormat: `{"policy": %s}`,
1705				},
1706			},
1707		},
1708	},
1709	"projects/occurrences": {
1710		"containeranalysis": {
1711			"v1alpha1": RestResource{
1712				Name:                      "occurrences",
1713				TypeKey:                   "projects/occurrences",
1714				Service:                   "containeranalysis",
1715				IsPreferredVersion:        true,
1716				Parameters:                []string{"resource"},
1717				CollectionReplacementKeys: map[string]string{},
1718				GetMethod: RestMethod{
1719					HttpMethod: "POST",
1720					BaseURL:    "https://containeranalysis.googleapis.com/",
1721					Path:       "v1alpha1/{+resource}:getIamPolicy",
1722				},
1723				SetMethod: RestMethod{
1724					HttpMethod:    "POST",
1725					BaseURL:       "https://containeranalysis.googleapis.com/",
1726					Path:          "v1alpha1/{+resource}:setIamPolicy",
1727					RequestFormat: `{"policy": %s}`,
1728				},
1729			},
1730			"v1beta1": RestResource{
1731				Name:                      "occurrences",
1732				TypeKey:                   "projects/occurrences",
1733				Service:                   "containeranalysis",
1734				IsPreferredVersion:        false,
1735				Parameters:                []string{"resource"},
1736				CollectionReplacementKeys: map[string]string{},
1737				GetMethod: RestMethod{
1738					HttpMethod: "POST",
1739					BaseURL:    "https://containeranalysis.googleapis.com/",
1740					Path:       "v1beta1/{+resource}:getIamPolicy",
1741				},
1742				SetMethod: RestMethod{
1743					HttpMethod:    "POST",
1744					BaseURL:       "https://containeranalysis.googleapis.com/",
1745					Path:          "v1beta1/{+resource}:setIamPolicy",
1746					RequestFormat: `{"policy": %s}`,
1747				},
1748			},
1749		},
1750	},
1751	"projects/regions/autoscalingPolicies": {
1752		"dataproc": {
1753			"v1": RestResource{
1754				Name:                      "autoscalingPolicies",
1755				TypeKey:                   "projects/regions/autoscalingPolicies",
1756				Service:                   "dataproc",
1757				IsPreferredVersion:        true,
1758				Parameters:                []string{"resource"},
1759				CollectionReplacementKeys: map[string]string{},
1760				GetMethod: RestMethod{
1761					HttpMethod: "POST",
1762					BaseURL:    "https://dataproc.googleapis.com/",
1763					Path:       "v1/{+resource}:getIamPolicy",
1764				},
1765				SetMethod: RestMethod{
1766					HttpMethod:    "POST",
1767					BaseURL:       "https://dataproc.googleapis.com/",
1768					Path:          "v1/{+resource}:setIamPolicy",
1769					RequestFormat: `{"policy": %s}`,
1770				},
1771			},
1772			"v1beta2": RestResource{
1773				Name:                      "autoscalingPolicies",
1774				TypeKey:                   "projects/regions/autoscalingPolicies",
1775				Service:                   "dataproc",
1776				IsPreferredVersion:        false,
1777				Parameters:                []string{"resource"},
1778				CollectionReplacementKeys: map[string]string{},
1779				GetMethod: RestMethod{
1780					HttpMethod: "GET",
1781					BaseURL:    "https://dataproc.googleapis.com/",
1782					Path:       "v1beta2/{+resource}:getIamPolicy",
1783				},
1784				SetMethod: RestMethod{
1785					HttpMethod:    "POST",
1786					BaseURL:       "https://dataproc.googleapis.com/",
1787					Path:          "v1beta2/{+resource}:setIamPolicy",
1788					RequestFormat: `{"policy": %s}`,
1789				},
1790			},
1791		},
1792	},
1793	"projects/regions/clusters": {
1794		"dataproc": {
1795			"v1": RestResource{
1796				Name:                      "clusters",
1797				TypeKey:                   "projects/regions/clusters",
1798				Service:                   "dataproc",
1799				IsPreferredVersion:        true,
1800				Parameters:                []string{"resource"},
1801				CollectionReplacementKeys: map[string]string{},
1802				GetMethod: RestMethod{
1803					HttpMethod: "POST",
1804					BaseURL:    "https://dataproc.googleapis.com/",
1805					Path:       "v1/{+resource}:getIamPolicy",
1806				},
1807				SetMethod: RestMethod{
1808					HttpMethod:    "POST",
1809					BaseURL:       "https://dataproc.googleapis.com/",
1810					Path:          "v1/{+resource}:setIamPolicy",
1811					RequestFormat: `{"policy": %s}`,
1812				},
1813			},
1814			"v1beta2": RestResource{
1815				Name:                      "clusters",
1816				TypeKey:                   "projects/regions/clusters",
1817				Service:                   "dataproc",
1818				IsPreferredVersion:        false,
1819				Parameters:                []string{"resource"},
1820				CollectionReplacementKeys: map[string]string{},
1821				GetMethod: RestMethod{
1822					HttpMethod: "GET",
1823					BaseURL:    "https://dataproc.googleapis.com/",
1824					Path:       "v1beta2/{+resource}:getIamPolicy",
1825				},
1826				SetMethod: RestMethod{
1827					HttpMethod:    "POST",
1828					BaseURL:       "https://dataproc.googleapis.com/",
1829					Path:          "v1beta2/{+resource}:setIamPolicy",
1830					RequestFormat: `{"policy": %s}`,
1831				},
1832			},
1833		},
1834	},
1835	"projects/regions/disks": {
1836		"compute": {
1837			"alpha": RestResource{
1838				Name:               "regionDisks",
1839				TypeKey:            "projects/regions/disks",
1840				Service:            "compute",
1841				IsPreferredVersion: false,
1842				Parameters:         []string{"project", "region", "resource"},
1843				CollectionReplacementKeys: map[string]string{
1844					"disks":    "resource",
1845					"projects": "project",
1846					"regions":  "region",
1847				},
1848				GetMethod: RestMethod{
1849					HttpMethod: "GET",
1850					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
1851					Path:       "{project}/regions/{region}/disks/{resource}/getIamPolicy",
1852				},
1853				SetMethod: RestMethod{
1854					HttpMethod:    "POST",
1855					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
1856					Path:          "{project}/regions/{region}/disks/{resource}/setIamPolicy",
1857					RequestFormat: `{"policy": %s}`,
1858				},
1859			},
1860			"beta": RestResource{
1861				Name:               "regionDisks",
1862				TypeKey:            "projects/regions/disks",
1863				Service:            "compute",
1864				IsPreferredVersion: false,
1865				Parameters:         []string{"project", "region", "resource"},
1866				CollectionReplacementKeys: map[string]string{
1867					"disks":    "resource",
1868					"projects": "project",
1869					"regions":  "region",
1870				},
1871				GetMethod: RestMethod{
1872					HttpMethod: "GET",
1873					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
1874					Path:       "{project}/regions/{region}/disks/{resource}/getIamPolicy",
1875				},
1876				SetMethod: RestMethod{
1877					HttpMethod:    "POST",
1878					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
1879					Path:          "{project}/regions/{region}/disks/{resource}/setIamPolicy",
1880					RequestFormat: `{"policy": %s}`,
1881				},
1882			},
1883		},
1884	},
1885	"projects/regions/interconnectAttachments": {
1886		"compute": {
1887			"alpha": RestResource{
1888				Name:               "interconnectAttachments",
1889				TypeKey:            "projects/regions/interconnectAttachments",
1890				Service:            "compute",
1891				IsPreferredVersion: false,
1892				Parameters:         []string{"project", "region", "resource"},
1893				CollectionReplacementKeys: map[string]string{
1894					"interconnectAttachments": "resource",
1895					"projects":                "project",
1896					"regions":                 "region",
1897				},
1898				GetMethod: RestMethod{
1899					HttpMethod: "GET",
1900					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
1901					Path:       "{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy",
1902				},
1903				SetMethod: RestMethod{
1904					HttpMethod:    "POST",
1905					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
1906					Path:          "{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy",
1907					RequestFormat: `{"policy": %s}`,
1908				},
1909			},
1910		},
1911	},
1912	"projects/regions/jobs": {
1913		"dataproc": {
1914			"v1": RestResource{
1915				Name:                      "jobs",
1916				TypeKey:                   "projects/regions/jobs",
1917				Service:                   "dataproc",
1918				IsPreferredVersion:        true,
1919				Parameters:                []string{"resource"},
1920				CollectionReplacementKeys: map[string]string{},
1921				GetMethod: RestMethod{
1922					HttpMethod: "POST",
1923					BaseURL:    "https://dataproc.googleapis.com/",
1924					Path:       "v1/{+resource}:getIamPolicy",
1925				},
1926				SetMethod: RestMethod{
1927					HttpMethod:    "POST",
1928					BaseURL:       "https://dataproc.googleapis.com/",
1929					Path:          "v1/{+resource}:setIamPolicy",
1930					RequestFormat: `{"policy": %s}`,
1931				},
1932			},
1933			"v1beta2": RestResource{
1934				Name:                      "jobs",
1935				TypeKey:                   "projects/regions/jobs",
1936				Service:                   "dataproc",
1937				IsPreferredVersion:        false,
1938				Parameters:                []string{"resource"},
1939				CollectionReplacementKeys: map[string]string{},
1940				GetMethod: RestMethod{
1941					HttpMethod: "GET",
1942					BaseURL:    "https://dataproc.googleapis.com/",
1943					Path:       "v1beta2/{+resource}:getIamPolicy",
1944				},
1945				SetMethod: RestMethod{
1946					HttpMethod:    "POST",
1947					BaseURL:       "https://dataproc.googleapis.com/",
1948					Path:          "v1beta2/{+resource}:setIamPolicy",
1949					RequestFormat: `{"policy": %s}`,
1950				},
1951			},
1952		},
1953	},
1954	"projects/regions/nodeTemplates": {
1955		"compute": {
1956			"alpha": RestResource{
1957				Name:               "nodeTemplates",
1958				TypeKey:            "projects/regions/nodeTemplates",
1959				Service:            "compute",
1960				IsPreferredVersion: false,
1961				Parameters:         []string{"project", "region", "resource"},
1962				CollectionReplacementKeys: map[string]string{
1963					"nodeTemplates": "resource",
1964					"projects":      "project",
1965					"regions":       "region",
1966				},
1967				GetMethod: RestMethod{
1968					HttpMethod: "GET",
1969					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
1970					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
1971				},
1972				SetMethod: RestMethod{
1973					HttpMethod:    "POST",
1974					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
1975					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
1976					RequestFormat: `{"policy": %s}`,
1977				},
1978			},
1979			"beta": RestResource{
1980				Name:               "nodeTemplates",
1981				TypeKey:            "projects/regions/nodeTemplates",
1982				Service:            "compute",
1983				IsPreferredVersion: false,
1984				Parameters:         []string{"project", "region", "resource"},
1985				CollectionReplacementKeys: map[string]string{
1986					"nodeTemplates": "resource",
1987					"projects":      "project",
1988					"regions":       "region",
1989				},
1990				GetMethod: RestMethod{
1991					HttpMethod: "GET",
1992					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
1993					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
1994				},
1995				SetMethod: RestMethod{
1996					HttpMethod:    "POST",
1997					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
1998					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
1999					RequestFormat: `{"policy": %s}`,
2000				},
2001			},
2002			"v1": RestResource{
2003				Name:               "nodeTemplates",
2004				TypeKey:            "projects/regions/nodeTemplates",
2005				Service:            "compute",
2006				IsPreferredVersion: true,
2007				Parameters:         []string{"project", "region", "resource"},
2008				CollectionReplacementKeys: map[string]string{
2009					"nodeTemplates": "resource",
2010					"projects":      "project",
2011					"regions":       "region",
2012				},
2013				GetMethod: RestMethod{
2014					HttpMethod: "GET",
2015					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2016					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
2017				},
2018				SetMethod: RestMethod{
2019					HttpMethod:    "POST",
2020					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2021					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
2022					RequestFormat: `{"policy": %s}`,
2023				},
2024			},
2025		},
2026	},
2027	"projects/regions/operations": {
2028		"dataproc": {
2029			"v1": RestResource{
2030				Name:                      "operations",
2031				TypeKey:                   "projects/regions/operations",
2032				Service:                   "dataproc",
2033				IsPreferredVersion:        true,
2034				Parameters:                []string{"resource"},
2035				CollectionReplacementKeys: map[string]string{},
2036				GetMethod: RestMethod{
2037					HttpMethod: "POST",
2038					BaseURL:    "https://dataproc.googleapis.com/",
2039					Path:       "v1/{+resource}:getIamPolicy",
2040				},
2041				SetMethod: RestMethod{
2042					HttpMethod:    "POST",
2043					BaseURL:       "https://dataproc.googleapis.com/",
2044					Path:          "v1/{+resource}:setIamPolicy",
2045					RequestFormat: `{"policy": %s}`,
2046				},
2047			},
2048			"v1beta2": RestResource{
2049				Name:                      "operations",
2050				TypeKey:                   "projects/regions/operations",
2051				Service:                   "dataproc",
2052				IsPreferredVersion:        false,
2053				Parameters:                []string{"resource"},
2054				CollectionReplacementKeys: map[string]string{},
2055				GetMethod: RestMethod{
2056					HttpMethod: "GET",
2057					BaseURL:    "https://dataproc.googleapis.com/",
2058					Path:       "v1beta2/{+resource}:getIamPolicy",
2059				},
2060				SetMethod: RestMethod{
2061					HttpMethod:    "POST",
2062					BaseURL:       "https://dataproc.googleapis.com/",
2063					Path:          "v1beta2/{+resource}:setIamPolicy",
2064					RequestFormat: `{"policy": %s}`,
2065				},
2066			},
2067		},
2068	},
2069	"projects/regions/resourcePolicies": {
2070		"compute": {
2071			"alpha": RestResource{
2072				Name:               "resourcePolicies",
2073				TypeKey:            "projects/regions/resourcePolicies",
2074				Service:            "compute",
2075				IsPreferredVersion: false,
2076				Parameters:         []string{"project", "region", "resource"},
2077				CollectionReplacementKeys: map[string]string{
2078					"projects":         "project",
2079					"regions":          "region",
2080					"resourcePolicies": "resource",
2081				},
2082				GetMethod: RestMethod{
2083					HttpMethod: "GET",
2084					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2085					Path:       "{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy",
2086				},
2087				SetMethod: RestMethod{
2088					HttpMethod:    "POST",
2089					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2090					Path:          "{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy",
2091					RequestFormat: `{"policy": %s}`,
2092				},
2093			},
2094			"beta": RestResource{
2095				Name:               "resourcePolicies",
2096				TypeKey:            "projects/regions/resourcePolicies",
2097				Service:            "compute",
2098				IsPreferredVersion: false,
2099				Parameters:         []string{"project", "region", "resource"},
2100				CollectionReplacementKeys: map[string]string{
2101					"projects":         "project",
2102					"regions":          "region",
2103					"resourcePolicies": "resource",
2104				},
2105				GetMethod: RestMethod{
2106					HttpMethod: "GET",
2107					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2108					Path:       "{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy",
2109				},
2110				SetMethod: RestMethod{
2111					HttpMethod:    "POST",
2112					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2113					Path:          "{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy",
2114					RequestFormat: `{"policy": %s}`,
2115				},
2116			},
2117			"v1": RestResource{
2118				Name:               "resourcePolicies",
2119				TypeKey:            "projects/regions/resourcePolicies",
2120				Service:            "compute",
2121				IsPreferredVersion: true,
2122				Parameters:         []string{"project", "region", "resource"},
2123				CollectionReplacementKeys: map[string]string{
2124					"projects":         "project",
2125					"regions":          "region",
2126					"resourcePolicies": "resource",
2127				},
2128				GetMethod: RestMethod{
2129					HttpMethod: "GET",
2130					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2131					Path:       "{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy",
2132				},
2133				SetMethod: RestMethod{
2134					HttpMethod:    "POST",
2135					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2136					Path:          "{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy",
2137					RequestFormat: `{"policy": %s}`,
2138				},
2139			},
2140		},
2141	},
2142	"projects/regions/subnetworks": {
2143		"compute": {
2144			"alpha": RestResource{
2145				Name:               "subnetworks",
2146				TypeKey:            "projects/regions/subnetworks",
2147				Service:            "compute",
2148				IsPreferredVersion: false,
2149				Parameters:         []string{"project", "region", "resource"},
2150				CollectionReplacementKeys: map[string]string{
2151					"projects":    "project",
2152					"regions":     "region",
2153					"subnetworks": "resource",
2154				},
2155				GetMethod: RestMethod{
2156					HttpMethod: "GET",
2157					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2158					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
2159				},
2160				SetMethod: RestMethod{
2161					HttpMethod:    "POST",
2162					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2163					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
2164					RequestFormat: `{"policy": %s}`,
2165				},
2166			},
2167			"beta": RestResource{
2168				Name:               "subnetworks",
2169				TypeKey:            "projects/regions/subnetworks",
2170				Service:            "compute",
2171				IsPreferredVersion: false,
2172				Parameters:         []string{"project", "region", "resource"},
2173				CollectionReplacementKeys: map[string]string{
2174					"projects":    "project",
2175					"regions":     "region",
2176					"subnetworks": "resource",
2177				},
2178				GetMethod: RestMethod{
2179					HttpMethod: "GET",
2180					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2181					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
2182				},
2183				SetMethod: RestMethod{
2184					HttpMethod:    "POST",
2185					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2186					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
2187					RequestFormat: `{"policy": %s}`,
2188				},
2189			},
2190			"v1": RestResource{
2191				Name:               "subnetworks",
2192				TypeKey:            "projects/regions/subnetworks",
2193				Service:            "compute",
2194				IsPreferredVersion: true,
2195				Parameters:         []string{"project", "region", "resource"},
2196				CollectionReplacementKeys: map[string]string{
2197					"projects":    "project",
2198					"regions":     "region",
2199					"subnetworks": "resource",
2200				},
2201				GetMethod: RestMethod{
2202					HttpMethod: "GET",
2203					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2204					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
2205				},
2206				SetMethod: RestMethod{
2207					HttpMethod:    "POST",
2208					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2209					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
2210					RequestFormat: `{"policy": %s}`,
2211				},
2212			},
2213		},
2214	},
2215	"projects/regions/workflowTemplates": {
2216		"dataproc": {
2217			"v1": RestResource{
2218				Name:                      "workflowTemplates",
2219				TypeKey:                   "projects/regions/workflowTemplates",
2220				Service:                   "dataproc",
2221				IsPreferredVersion:        true,
2222				Parameters:                []string{"resource"},
2223				CollectionReplacementKeys: map[string]string{},
2224				GetMethod: RestMethod{
2225					HttpMethod: "POST",
2226					BaseURL:    "https://dataproc.googleapis.com/",
2227					Path:       "v1/{+resource}:getIamPolicy",
2228				},
2229				SetMethod: RestMethod{
2230					HttpMethod:    "POST",
2231					BaseURL:       "https://dataproc.googleapis.com/",
2232					Path:          "v1/{+resource}:setIamPolicy",
2233					RequestFormat: `{"policy": %s}`,
2234				},
2235			},
2236			"v1beta2": RestResource{
2237				Name:                      "workflowTemplates",
2238				TypeKey:                   "projects/regions/workflowTemplates",
2239				Service:                   "dataproc",
2240				IsPreferredVersion:        false,
2241				Parameters:                []string{"resource"},
2242				CollectionReplacementKeys: map[string]string{},
2243				GetMethod: RestMethod{
2244					HttpMethod: "GET",
2245					BaseURL:    "https://dataproc.googleapis.com/",
2246					Path:       "v1beta2/{+resource}:getIamPolicy",
2247				},
2248				SetMethod: RestMethod{
2249					HttpMethod:    "POST",
2250					BaseURL:       "https://dataproc.googleapis.com/",
2251					Path:          "v1beta2/{+resource}:setIamPolicy",
2252					RequestFormat: `{"policy": %s}`,
2253				},
2254			},
2255		},
2256	},
2257	"projects/repos": {
2258		"sourcerepo": {
2259			"v1": RestResource{
2260				Name:                      "repos",
2261				TypeKey:                   "projects/repos",
2262				Service:                   "sourcerepo",
2263				IsPreferredVersion:        true,
2264				Parameters:                []string{"resource"},
2265				CollectionReplacementKeys: map[string]string{},
2266				GetMethod: RestMethod{
2267					HttpMethod: "GET",
2268					BaseURL:    "https://sourcerepo.googleapis.com/",
2269					Path:       "v1/{+resource}:getIamPolicy",
2270				},
2271				SetMethod: RestMethod{
2272					HttpMethod:    "POST",
2273					BaseURL:       "https://sourcerepo.googleapis.com/",
2274					Path:          "v1/{+resource}:setIamPolicy",
2275					RequestFormat: `{"policy": %s}`,
2276				},
2277			},
2278		},
2279	},
2280	"projects/secrets": {
2281		"secretmanager": {
2282			"v1": RestResource{
2283				Name:                      "secrets",
2284				TypeKey:                   "projects/secrets",
2285				Service:                   "secretmanager",
2286				IsPreferredVersion:        true,
2287				Parameters:                []string{"resource"},
2288				CollectionReplacementKeys: map[string]string{},
2289				GetMethod: RestMethod{
2290					HttpMethod: "GET",
2291					BaseURL:    "https://secretmanager.googleapis.com/",
2292					Path:       "v1/{+resource}:getIamPolicy",
2293				},
2294				SetMethod: RestMethod{
2295					HttpMethod:    "POST",
2296					BaseURL:       "https://secretmanager.googleapis.com/",
2297					Path:          "v1/{+resource}:setIamPolicy",
2298					RequestFormat: `{"policy": %s}`,
2299				},
2300			},
2301			"v1beta1": RestResource{
2302				Name:                      "secrets",
2303				TypeKey:                   "projects/secrets",
2304				Service:                   "secretmanager",
2305				IsPreferredVersion:        false,
2306				Parameters:                []string{"resource"},
2307				CollectionReplacementKeys: map[string]string{},
2308				GetMethod: RestMethod{
2309					HttpMethod: "GET",
2310					BaseURL:    "https://secretmanager.googleapis.com/",
2311					Path:       "v1beta1/{+resource}:getIamPolicy",
2312				},
2313				SetMethod: RestMethod{
2314					HttpMethod:    "POST",
2315					BaseURL:       "https://secretmanager.googleapis.com/",
2316					Path:          "v1beta1/{+resource}:setIamPolicy",
2317					RequestFormat: `{"policy": %s}`,
2318				},
2319			},
2320		},
2321	},
2322	"projects/serviceAccounts": {
2323		"iam": {
2324			"v1": RestResource{
2325				Name:                      "serviceAccounts",
2326				TypeKey:                   "projects/serviceAccounts",
2327				Service:                   "iam",
2328				IsPreferredVersion:        true,
2329				Parameters:                []string{"resource"},
2330				CollectionReplacementKeys: map[string]string{},
2331				GetMethod: RestMethod{
2332					HttpMethod: "POST",
2333					BaseURL:    "https://iam.googleapis.com/",
2334					Path:       "v1/{+resource}:getIamPolicy",
2335				},
2336				SetMethod: RestMethod{
2337					HttpMethod:    "POST",
2338					BaseURL:       "https://iam.googleapis.com/",
2339					Path:          "v1/{+resource}:setIamPolicy",
2340					RequestFormat: `{"policy": %s}`,
2341				},
2342			},
2343		},
2344	},
2345	"projects/snapshots": {
2346		"compute": {
2347			"alpha": RestResource{
2348				Name:               "snapshots",
2349				TypeKey:            "projects/snapshots",
2350				Service:            "compute",
2351				IsPreferredVersion: false,
2352				Parameters:         []string{"project", "resource"},
2353				CollectionReplacementKeys: map[string]string{
2354					"projects":  "project",
2355					"snapshots": "resource",
2356				},
2357				GetMethod: RestMethod{
2358					HttpMethod: "GET",
2359					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2360					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
2361				},
2362				SetMethod: RestMethod{
2363					HttpMethod:    "POST",
2364					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2365					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
2366					RequestFormat: `{"policy": %s}`,
2367				},
2368			},
2369			"beta": RestResource{
2370				Name:               "snapshots",
2371				TypeKey:            "projects/snapshots",
2372				Service:            "compute",
2373				IsPreferredVersion: false,
2374				Parameters:         []string{"project", "resource"},
2375				CollectionReplacementKeys: map[string]string{
2376					"projects":  "project",
2377					"snapshots": "resource",
2378				},
2379				GetMethod: RestMethod{
2380					HttpMethod: "GET",
2381					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2382					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
2383				},
2384				SetMethod: RestMethod{
2385					HttpMethod:    "POST",
2386					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2387					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
2388					RequestFormat: `{"policy": %s}`,
2389				},
2390			},
2391			"v1": RestResource{
2392				Name:               "snapshots",
2393				TypeKey:            "projects/snapshots",
2394				Service:            "compute",
2395				IsPreferredVersion: true,
2396				Parameters:         []string{"project", "resource"},
2397				CollectionReplacementKeys: map[string]string{
2398					"projects":  "project",
2399					"snapshots": "resource",
2400				},
2401				GetMethod: RestMethod{
2402					HttpMethod: "GET",
2403					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2404					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
2405				},
2406				SetMethod: RestMethod{
2407					HttpMethod:    "POST",
2408					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2409					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
2410					RequestFormat: `{"policy": %s}`,
2411				},
2412			},
2413		},
2414		"pubsub": {
2415			"v1": RestResource{
2416				Name:                      "snapshots",
2417				TypeKey:                   "projects/snapshots",
2418				Service:                   "pubsub",
2419				IsPreferredVersion:        true,
2420				Parameters:                []string{"resource"},
2421				CollectionReplacementKeys: map[string]string{},
2422				GetMethod: RestMethod{
2423					HttpMethod: "GET",
2424					BaseURL:    "https://pubsub.googleapis.com/",
2425					Path:       "v1/{+resource}:getIamPolicy",
2426				},
2427				SetMethod: RestMethod{
2428					HttpMethod:    "POST",
2429					BaseURL:       "https://pubsub.googleapis.com/",
2430					Path:          "v1/{+resource}:setIamPolicy",
2431					RequestFormat: `{"policy": %s}`,
2432				},
2433			},
2434		},
2435	},
2436	"projects/subscriptions": {
2437		"pubsub": {
2438			"v1": RestResource{
2439				Name:                      "subscriptions",
2440				TypeKey:                   "projects/subscriptions",
2441				Service:                   "pubsub",
2442				IsPreferredVersion:        true,
2443				Parameters:                []string{"resource"},
2444				CollectionReplacementKeys: map[string]string{},
2445				GetMethod: RestMethod{
2446					HttpMethod: "GET",
2447					BaseURL:    "https://pubsub.googleapis.com/",
2448					Path:       "v1/{+resource}:getIamPolicy",
2449				},
2450				SetMethod: RestMethod{
2451					HttpMethod:    "POST",
2452					BaseURL:       "https://pubsub.googleapis.com/",
2453					Path:          "v1/{+resource}:setIamPolicy",
2454					RequestFormat: `{"policy": %s}`,
2455				},
2456			},
2457			"v1beta2": RestResource{
2458				Name:                      "subscriptions",
2459				TypeKey:                   "projects/subscriptions",
2460				Service:                   "pubsub",
2461				IsPreferredVersion:        false,
2462				Parameters:                []string{"resource"},
2463				CollectionReplacementKeys: map[string]string{},
2464				GetMethod: RestMethod{
2465					HttpMethod: "GET",
2466					BaseURL:    "https://pubsub.googleapis.com/",
2467					Path:       "v1beta2/{+resource}:getIamPolicy",
2468				},
2469				SetMethod: RestMethod{
2470					HttpMethod:    "POST",
2471					BaseURL:       "https://pubsub.googleapis.com/",
2472					Path:          "v1beta2/{+resource}:setIamPolicy",
2473					RequestFormat: `{"policy": %s}`,
2474				},
2475			},
2476		},
2477	},
2478	"projects/topics": {
2479		"pubsub": {
2480			"v1": RestResource{
2481				Name:                      "topics",
2482				TypeKey:                   "projects/topics",
2483				Service:                   "pubsub",
2484				IsPreferredVersion:        true,
2485				Parameters:                []string{"resource"},
2486				CollectionReplacementKeys: map[string]string{},
2487				GetMethod: RestMethod{
2488					HttpMethod: "GET",
2489					BaseURL:    "https://pubsub.googleapis.com/",
2490					Path:       "v1/{+resource}:getIamPolicy",
2491				},
2492				SetMethod: RestMethod{
2493					HttpMethod:    "POST",
2494					BaseURL:       "https://pubsub.googleapis.com/",
2495					Path:          "v1/{+resource}:setIamPolicy",
2496					RequestFormat: `{"policy": %s}`,
2497				},
2498			},
2499			"v1beta2": RestResource{
2500				Name:                      "topics",
2501				TypeKey:                   "projects/topics",
2502				Service:                   "pubsub",
2503				IsPreferredVersion:        false,
2504				Parameters:                []string{"resource"},
2505				CollectionReplacementKeys: map[string]string{},
2506				GetMethod: RestMethod{
2507					HttpMethod: "GET",
2508					BaseURL:    "https://pubsub.googleapis.com/",
2509					Path:       "v1beta2/{+resource}:getIamPolicy",
2510				},
2511				SetMethod: RestMethod{
2512					HttpMethod:    "POST",
2513					BaseURL:       "https://pubsub.googleapis.com/",
2514					Path:          "v1beta2/{+resource}:setIamPolicy",
2515					RequestFormat: `{"policy": %s}`,
2516				},
2517			},
2518		},
2519	},
2520	"projects/zones/disks": {
2521		"compute": {
2522			"alpha": RestResource{
2523				Name:               "disks",
2524				TypeKey:            "projects/zones/disks",
2525				Service:            "compute",
2526				IsPreferredVersion: false,
2527				Parameters:         []string{"project", "zone", "resource"},
2528				CollectionReplacementKeys: map[string]string{
2529					"disks":    "resource",
2530					"projects": "project",
2531					"zones":    "zone",
2532				},
2533				GetMethod: RestMethod{
2534					HttpMethod: "GET",
2535					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2536					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2537				},
2538				SetMethod: RestMethod{
2539					HttpMethod:    "POST",
2540					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2541					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2542					RequestFormat: `{"policy": %s}`,
2543				},
2544			},
2545			"beta": RestResource{
2546				Name:               "disks",
2547				TypeKey:            "projects/zones/disks",
2548				Service:            "compute",
2549				IsPreferredVersion: false,
2550				Parameters:         []string{"project", "zone", "resource"},
2551				CollectionReplacementKeys: map[string]string{
2552					"disks":    "resource",
2553					"projects": "project",
2554					"zones":    "zone",
2555				},
2556				GetMethod: RestMethod{
2557					HttpMethod: "GET",
2558					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2559					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2560				},
2561				SetMethod: RestMethod{
2562					HttpMethod:    "POST",
2563					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2564					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2565					RequestFormat: `{"policy": %s}`,
2566				},
2567			},
2568			"v1": RestResource{
2569				Name:               "disks",
2570				TypeKey:            "projects/zones/disks",
2571				Service:            "compute",
2572				IsPreferredVersion: true,
2573				Parameters:         []string{"project", "zone", "resource"},
2574				CollectionReplacementKeys: map[string]string{
2575					"disks":    "resource",
2576					"projects": "project",
2577					"zones":    "zone",
2578				},
2579				GetMethod: RestMethod{
2580					HttpMethod: "GET",
2581					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2582					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2583				},
2584				SetMethod: RestMethod{
2585					HttpMethod:    "POST",
2586					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2587					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2588					RequestFormat: `{"policy": %s}`,
2589				},
2590			},
2591		},
2592	},
2593	"projects/zones/instances": {
2594		"compute": {
2595			"alpha": RestResource{
2596				Name:               "instances",
2597				TypeKey:            "projects/zones/instances",
2598				Service:            "compute",
2599				IsPreferredVersion: false,
2600				Parameters:         []string{"project", "zone", "resource"},
2601				CollectionReplacementKeys: map[string]string{
2602					"instances": "resource",
2603					"projects":  "project",
2604					"zones":     "zone",
2605				},
2606				GetMethod: RestMethod{
2607					HttpMethod: "GET",
2608					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2609					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2610				},
2611				SetMethod: RestMethod{
2612					HttpMethod:    "POST",
2613					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2614					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2615					RequestFormat: `{"policy": %s}`,
2616				},
2617			},
2618			"beta": RestResource{
2619				Name:               "instances",
2620				TypeKey:            "projects/zones/instances",
2621				Service:            "compute",
2622				IsPreferredVersion: false,
2623				Parameters:         []string{"project", "zone", "resource"},
2624				CollectionReplacementKeys: map[string]string{
2625					"instances": "resource",
2626					"projects":  "project",
2627					"zones":     "zone",
2628				},
2629				GetMethod: RestMethod{
2630					HttpMethod: "GET",
2631					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2632					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2633				},
2634				SetMethod: RestMethod{
2635					HttpMethod:    "POST",
2636					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2637					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2638					RequestFormat: `{"policy": %s}`,
2639				},
2640			},
2641			"v1": RestResource{
2642				Name:               "instances",
2643				TypeKey:            "projects/zones/instances",
2644				Service:            "compute",
2645				IsPreferredVersion: true,
2646				Parameters:         []string{"project", "zone", "resource"},
2647				CollectionReplacementKeys: map[string]string{
2648					"instances": "resource",
2649					"projects":  "project",
2650					"zones":     "zone",
2651				},
2652				GetMethod: RestMethod{
2653					HttpMethod: "GET",
2654					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2655					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2656				},
2657				SetMethod: RestMethod{
2658					HttpMethod:    "POST",
2659					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2660					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2661					RequestFormat: `{"policy": %s}`,
2662				},
2663			},
2664		},
2665	},
2666	"projects/zones/nodeGroups": {
2667		"compute": {
2668			"alpha": RestResource{
2669				Name:               "nodeGroups",
2670				TypeKey:            "projects/zones/nodeGroups",
2671				Service:            "compute",
2672				IsPreferredVersion: false,
2673				Parameters:         []string{"project", "zone", "resource"},
2674				CollectionReplacementKeys: map[string]string{
2675					"nodeGroups": "resource",
2676					"projects":   "project",
2677					"zones":      "zone",
2678				},
2679				GetMethod: RestMethod{
2680					HttpMethod: "GET",
2681					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2682					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2683				},
2684				SetMethod: RestMethod{
2685					HttpMethod:    "POST",
2686					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2687					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2688					RequestFormat: `{"policy": %s}`,
2689				},
2690			},
2691			"beta": RestResource{
2692				Name:               "nodeGroups",
2693				TypeKey:            "projects/zones/nodeGroups",
2694				Service:            "compute",
2695				IsPreferredVersion: false,
2696				Parameters:         []string{"project", "zone", "resource"},
2697				CollectionReplacementKeys: map[string]string{
2698					"nodeGroups": "resource",
2699					"projects":   "project",
2700					"zones":      "zone",
2701				},
2702				GetMethod: RestMethod{
2703					HttpMethod: "GET",
2704					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2705					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2706				},
2707				SetMethod: RestMethod{
2708					HttpMethod:    "POST",
2709					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2710					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2711					RequestFormat: `{"policy": %s}`,
2712				},
2713			},
2714			"v1": RestResource{
2715				Name:               "nodeGroups",
2716				TypeKey:            "projects/zones/nodeGroups",
2717				Service:            "compute",
2718				IsPreferredVersion: true,
2719				Parameters:         []string{"project", "zone", "resource"},
2720				CollectionReplacementKeys: map[string]string{
2721					"nodeGroups": "resource",
2722					"projects":   "project",
2723					"zones":      "zone",
2724				},
2725				GetMethod: RestMethod{
2726					HttpMethod: "GET",
2727					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2728					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2729				},
2730				SetMethod: RestMethod{
2731					HttpMethod:    "POST",
2732					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2733					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2734					RequestFormat: `{"policy": %s}`,
2735				},
2736			},
2737		},
2738	},
2739	"projects/zones/reservations": {
2740		"compute": {
2741			"alpha": RestResource{
2742				Name:               "reservations",
2743				TypeKey:            "projects/zones/reservations",
2744				Service:            "compute",
2745				IsPreferredVersion: false,
2746				Parameters:         []string{"project", "zone", "resource"},
2747				CollectionReplacementKeys: map[string]string{
2748					"projects":     "project",
2749					"reservations": "resource",
2750					"zones":        "zone",
2751				},
2752				GetMethod: RestMethod{
2753					HttpMethod: "GET",
2754					BaseURL:    "https://compute.googleapis.com/compute/alpha/projects/",
2755					Path:       "{project}/zones/{zone}/reservations/{resource}/getIamPolicy",
2756				},
2757				SetMethod: RestMethod{
2758					HttpMethod:    "POST",
2759					BaseURL:       "https://compute.googleapis.com/compute/alpha/projects/",
2760					Path:          "{project}/zones/{zone}/reservations/{resource}/setIamPolicy",
2761					RequestFormat: `{"policy": %s}`,
2762				},
2763			},
2764			"beta": RestResource{
2765				Name:               "reservations",
2766				TypeKey:            "projects/zones/reservations",
2767				Service:            "compute",
2768				IsPreferredVersion: false,
2769				Parameters:         []string{"project", "zone", "resource"},
2770				CollectionReplacementKeys: map[string]string{
2771					"projects":     "project",
2772					"reservations": "resource",
2773					"zones":        "zone",
2774				},
2775				GetMethod: RestMethod{
2776					HttpMethod: "GET",
2777					BaseURL:    "https://compute.googleapis.com/compute/beta/projects/",
2778					Path:       "{project}/zones/{zone}/reservations/{resource}/getIamPolicy",
2779				},
2780				SetMethod: RestMethod{
2781					HttpMethod:    "POST",
2782					BaseURL:       "https://compute.googleapis.com/compute/beta/projects/",
2783					Path:          "{project}/zones/{zone}/reservations/{resource}/setIamPolicy",
2784					RequestFormat: `{"policy": %s}`,
2785				},
2786			},
2787			"v1": RestResource{
2788				Name:               "reservations",
2789				TypeKey:            "projects/zones/reservations",
2790				Service:            "compute",
2791				IsPreferredVersion: true,
2792				Parameters:         []string{"project", "zone", "resource"},
2793				CollectionReplacementKeys: map[string]string{
2794					"projects":     "project",
2795					"reservations": "resource",
2796					"zones":        "zone",
2797				},
2798				GetMethod: RestMethod{
2799					HttpMethod: "GET",
2800					BaseURL:    "https://compute.googleapis.com/compute/v1/projects/",
2801					Path:       "{project}/zones/{zone}/reservations/{resource}/getIamPolicy",
2802				},
2803				SetMethod: RestMethod{
2804					HttpMethod:    "POST",
2805					BaseURL:       "https://compute.googleapis.com/compute/v1/projects/",
2806					Path:          "{project}/zones/{zone}/reservations/{resource}/setIamPolicy",
2807					RequestFormat: `{"policy": %s}`,
2808				},
2809			},
2810		},
2811	},
2812	"providers/notes": {
2813		"containeranalysis": {
2814			"v1alpha1": RestResource{
2815				Name:                      "notes",
2816				TypeKey:                   "providers/notes",
2817				Service:                   "containeranalysis",
2818				IsPreferredVersion:        true,
2819				Parameters:                []string{"resource"},
2820				CollectionReplacementKeys: map[string]string{},
2821				GetMethod: RestMethod{
2822					HttpMethod: "POST",
2823					BaseURL:    "https://containeranalysis.googleapis.com/",
2824					Path:       "v1alpha1/{+resource}:getIamPolicy",
2825				},
2826				SetMethod: RestMethod{
2827					HttpMethod:    "POST",
2828					BaseURL:       "https://containeranalysis.googleapis.com/",
2829					Path:          "v1alpha1/{+resource}:setIamPolicy",
2830					RequestFormat: `{"policy": %s}`,
2831				},
2832			},
2833		},
2834	},
2835	"services": {
2836		"servicemanagement": {
2837			"v1": RestResource{
2838				Name:                      "services",
2839				TypeKey:                   "services",
2840				Service:                   "servicemanagement",
2841				IsPreferredVersion:        true,
2842				Parameters:                []string{"resource"},
2843				CollectionReplacementKeys: map[string]string{},
2844				GetMethod: RestMethod{
2845					HttpMethod: "POST",
2846					BaseURL:    "https://servicemanagement.googleapis.com/",
2847					Path:       "v1/{+resource}:getIamPolicy",
2848				},
2849				SetMethod: RestMethod{
2850					HttpMethod:    "POST",
2851					BaseURL:       "https://servicemanagement.googleapis.com/",
2852					Path:          "v1/{+resource}:setIamPolicy",
2853					RequestFormat: `{"policy": %s}`,
2854				},
2855			},
2856		},
2857	},
2858	"services/consumers": {
2859		"servicemanagement": {
2860			"v1": RestResource{
2861				Name:                      "consumers",
2862				TypeKey:                   "services/consumers",
2863				Service:                   "servicemanagement",
2864				IsPreferredVersion:        true,
2865				Parameters:                []string{"resource"},
2866				CollectionReplacementKeys: map[string]string{},
2867				GetMethod: RestMethod{
2868					HttpMethod: "POST",
2869					BaseURL:    "https://servicemanagement.googleapis.com/",
2870					Path:       "v1/{+resource}:getIamPolicy",
2871				},
2872				SetMethod: RestMethod{
2873					HttpMethod:    "POST",
2874					BaseURL:       "https://servicemanagement.googleapis.com/",
2875					Path:          "v1/{+resource}:setIamPolicy",
2876					RequestFormat: `{"policy": %s}`,
2877				},
2878			},
2879		},
2880	},
2881}
2882