1// THIS FILE IS AUTOGENERATED USING go generate. DO NOT EDIT.
2package iamutil
3
4func GetEnabledIamResources() GeneratedResources {
5	return generatedIamResources
6}
7
8var generatedIamResources = map[string]map[string]map[string]IamRestResource{
9	"": {
10		"iap": {
11			"v1": IamRestResource{
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": IamRestResource{
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": IamRestResource{
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://www.googleapis.com/storage/v1/",
66					Path:       "b/{bucket}/iam",
67				},
68				SetMethod: RestMethod{
69					HttpMethod:    "PUT",
70					BaseURL:       "https://www.googleapis.com/storage/v1/",
71					Path:          "b/{bucket}/iam",
72					RequestFormat: `%s`,
73				},
74			},
75		},
76	},
77	"b/o": {
78		"storage": {
79			"v1": IamRestResource{
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://www.googleapis.com/storage/v1/",
94					Path:       "b/{bucket}/o/{object}/iam",
95				},
96				SetMethod: RestMethod{
97					HttpMethod:    "PUT",
98					BaseURL:       "https://www.googleapis.com/storage/v1/",
99					Path:          "b/{bucket}/o/{object}/iam",
100					RequestFormat: `%s`,
101				},
102			},
103		},
104	},
105	"billingAccounts": {
106		"cloudbilling": {
107			"v1": IamRestResource{
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": IamRestResource{
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://www.googleapis.com/storage/v1/",
143					Path:       "b/{bucket}/iam",
144				},
145				SetMethod: RestMethod{
146					HttpMethod:    "PUT",
147					BaseURL:       "https://www.googleapis.com/storage/v1/",
148					Path:          "b/{bucket}/iam",
149					RequestFormat: `%s`,
150				},
151			},
152		},
153	},
154	"buckets/objects": {
155		"storage": {
156			"v1": IamRestResource{
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://www.googleapis.com/storage/v1/",
171					Path:       "b/{bucket}/o/{object}/iam",
172				},
173				SetMethod: RestMethod{
174					HttpMethod:    "PUT",
175					BaseURL:       "https://www.googleapis.com/storage/v1/",
176					Path:          "b/{bucket}/o/{object}/iam",
177					RequestFormat: `%s`,
178				},
179			},
180		},
181	},
182	"datasets": {
183		"genomics": {
184			"v1": IamRestResource{
185				Name:                      "datasets",
186				TypeKey:                   "datasets",
187				Service:                   "genomics",
188				IsPreferredVersion:        true,
189				Parameters:                []string{"resource"},
190				CollectionReplacementKeys: map[string]string{},
191				GetMethod: RestMethod{
192					HttpMethod: "POST",
193					BaseURL:    "https://genomics.googleapis.com/",
194					Path:       "v1/{+resource}:getIamPolicy",
195				},
196				SetMethod: RestMethod{
197					HttpMethod:    "POST",
198					BaseURL:       "https://genomics.googleapis.com/",
199					Path:          "v1/{+resource}:setIamPolicy",
200					RequestFormat: `{"policy": %s}`,
201				},
202			},
203		},
204	},
205	"folders": {
206		"cloudresourcemanager": {
207			"v2": IamRestResource{
208				Name:                      "folders",
209				TypeKey:                   "folders",
210				Service:                   "cloudresourcemanager",
211				IsPreferredVersion:        true,
212				Parameters:                []string{"resource"},
213				CollectionReplacementKeys: map[string]string{},
214				GetMethod: RestMethod{
215					HttpMethod: "POST",
216					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
217					Path:       "v2/{+resource}:getIamPolicy",
218				},
219				SetMethod: RestMethod{
220					HttpMethod:    "POST",
221					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
222					Path:          "v2/{+resource}:setIamPolicy",
223					RequestFormat: `{"policy": %s}`,
224				},
225			},
226			"v2beta1": IamRestResource{
227				Name:                      "folders",
228				TypeKey:                   "folders",
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:       "v2/{+resource}:getIamPolicy",
237				},
238				SetMethod: RestMethod{
239					HttpMethod:    "POST",
240					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
241					Path:          "v2/{+resource}:setIamPolicy",
242					RequestFormat: `{"policy": %s}`,
243				},
244			},
245		},
246	},
247	"organizations": {
248		"cloudresourcemanager": {
249			"v1": IamRestResource{
250				Name:                      "organizations",
251				TypeKey:                   "organizations",
252				Service:                   "cloudresourcemanager",
253				IsPreferredVersion:        false,
254				Parameters:                []string{"resource"},
255				CollectionReplacementKeys: map[string]string{},
256				GetMethod: RestMethod{
257					HttpMethod: "POST",
258					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
259					Path:       "v1/{+resource}:getIamPolicy",
260				},
261				SetMethod: RestMethod{
262					HttpMethod:    "POST",
263					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
264					Path:          "v1/{+resource}:setIamPolicy",
265					RequestFormat: `{"policy": %s}`,
266				},
267			},
268			"v1beta1": IamRestResource{
269				Name:                      "organizations",
270				TypeKey:                   "organizations",
271				Service:                   "cloudresourcemanager",
272				IsPreferredVersion:        false,
273				Parameters:                []string{"resource"},
274				CollectionReplacementKeys: map[string]string{},
275				GetMethod: RestMethod{
276					HttpMethod: "POST",
277					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
278					Path:       "v1beta1/{+resource}:getIamPolicy",
279				},
280				SetMethod: RestMethod{
281					HttpMethod:    "POST",
282					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
283					Path:          "v1beta1/{+resource}:setIamPolicy",
284					RequestFormat: `{"policy": %s}`,
285				},
286			},
287		},
288	},
289	"projects": {
290		"cloudresourcemanager": {
291			"v1": IamRestResource{
292				Name:               "projects",
293				TypeKey:            "projects",
294				Service:            "cloudresourcemanager",
295				IsPreferredVersion: false,
296				Parameters:         []string{"resource"},
297				CollectionReplacementKeys: map[string]string{
298					"projects": "resource",
299				},
300				GetMethod: RestMethod{
301					HttpMethod: "POST",
302					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
303					Path:       "v1/projects/{resource}:getIamPolicy",
304				},
305				SetMethod: RestMethod{
306					HttpMethod:    "POST",
307					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
308					Path:          "v1/projects/{resource}:setIamPolicy",
309					RequestFormat: `{"policy": %s}`,
310				},
311			},
312			"v1beta1": IamRestResource{
313				Name:               "projects",
314				TypeKey:            "projects",
315				Service:            "cloudresourcemanager",
316				IsPreferredVersion: false,
317				Parameters:         []string{"resource"},
318				CollectionReplacementKeys: map[string]string{
319					"projects": "resource",
320				},
321				GetMethod: RestMethod{
322					HttpMethod: "POST",
323					BaseURL:    "https://cloudresourcemanager.googleapis.com/",
324					Path:       "v1beta1/projects/{resource}:getIamPolicy",
325				},
326				SetMethod: RestMethod{
327					HttpMethod:    "POST",
328					BaseURL:       "https://cloudresourcemanager.googleapis.com/",
329					Path:          "v1beta1/projects/{resource}:setIamPolicy",
330					RequestFormat: `{"policy": %s}`,
331				},
332			},
333		},
334	},
335	"projects/backendBuckets": {
336		"compute": {
337			"alpha": IamRestResource{
338				Name:               "backendBuckets",
339				TypeKey:            "projects/backendBuckets",
340				Service:            "compute",
341				IsPreferredVersion: false,
342				Parameters:         []string{"project", "resource"},
343				CollectionReplacementKeys: map[string]string{
344					"backendBuckets": "resource",
345					"projects":       "project",
346				},
347				GetMethod: RestMethod{
348					HttpMethod: "GET",
349					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
350					Path:       "{project}/global/backendBuckets/{resource}/getIamPolicy",
351				},
352				SetMethod: RestMethod{
353					HttpMethod:    "POST",
354					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
355					Path:          "{project}/global/backendBuckets/{resource}/setIamPolicy",
356					RequestFormat: `{"policy": %s}`,
357				},
358			},
359		},
360	},
361	"projects/configs": {
362		"runtimeconfig": {
363			"v1beta1": IamRestResource{
364				Name:                      "configs",
365				TypeKey:                   "projects/configs",
366				Service:                   "runtimeconfig",
367				IsPreferredVersion:        false,
368				Parameters:                []string{"resource"},
369				CollectionReplacementKeys: map[string]string{},
370				GetMethod: RestMethod{
371					HttpMethod: "GET",
372					BaseURL:    "https://runtimeconfig.googleapis.com/",
373					Path:       "v1beta1/{+resource}:getIamPolicy",
374				},
375				SetMethod: RestMethod{
376					HttpMethod:    "POST",
377					BaseURL:       "https://runtimeconfig.googleapis.com/",
378					Path:          "v1beta1/{+resource}:setIamPolicy",
379					RequestFormat: `{"policy": %s}`,
380				},
381			},
382		},
383	},
384	"projects/deployments": {
385		"deploymentmanager": {
386			"alpha": IamRestResource{
387				Name:               "deployments",
388				TypeKey:            "projects/deployments",
389				Service:            "deploymentmanager",
390				IsPreferredVersion: false,
391				Parameters:         []string{"project", "resource"},
392				CollectionReplacementKeys: map[string]string{
393					"deployments": "resource",
394					"projects":    "project",
395				},
396				GetMethod: RestMethod{
397					HttpMethod: "GET",
398					BaseURL:    "https://www.googleapis.com/deploymentmanager/alpha/projects/",
399					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
400				},
401				SetMethod: RestMethod{
402					HttpMethod:    "POST",
403					BaseURL:       "https://www.googleapis.com/deploymentmanager/alpha/projects/",
404					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
405					RequestFormat: `{"policy": %s}`,
406				},
407			},
408			"v2": IamRestResource{
409				Name:               "deployments",
410				TypeKey:            "projects/deployments",
411				Service:            "deploymentmanager",
412				IsPreferredVersion: true,
413				Parameters:         []string{"project", "resource"},
414				CollectionReplacementKeys: map[string]string{
415					"deployments": "resource",
416					"projects":    "project",
417				},
418				GetMethod: RestMethod{
419					HttpMethod: "GET",
420					BaseURL:    "https://www.googleapis.com/deploymentmanager/v2/projects/",
421					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
422				},
423				SetMethod: RestMethod{
424					HttpMethod:    "POST",
425					BaseURL:       "https://www.googleapis.com/deploymentmanager/v2/projects/",
426					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
427					RequestFormat: `{"policy": %s}`,
428				},
429			},
430			"v2beta": IamRestResource{
431				Name:               "deployments",
432				TypeKey:            "projects/deployments",
433				Service:            "deploymentmanager",
434				IsPreferredVersion: false,
435				Parameters:         []string{"project", "resource"},
436				CollectionReplacementKeys: map[string]string{
437					"deployments": "resource",
438					"projects":    "project",
439				},
440				GetMethod: RestMethod{
441					HttpMethod: "GET",
442					BaseURL:    "https://www.googleapis.com/deploymentmanager/v2beta/projects/",
443					Path:       "{project}/global/deployments/{resource}/getIamPolicy",
444				},
445				SetMethod: RestMethod{
446					HttpMethod:    "POST",
447					BaseURL:       "https://www.googleapis.com/deploymentmanager/v2beta/projects/",
448					Path:          "{project}/global/deployments/{resource}/setIamPolicy",
449					RequestFormat: `{"policy": %s}`,
450				},
451			},
452		},
453	},
454	"projects/images": {
455		"compute": {
456			"alpha": IamRestResource{
457				Name:               "images",
458				TypeKey:            "projects/images",
459				Service:            "compute",
460				IsPreferredVersion: false,
461				Parameters:         []string{"project", "resource"},
462				CollectionReplacementKeys: map[string]string{
463					"images":   "resource",
464					"projects": "project",
465				},
466				GetMethod: RestMethod{
467					HttpMethod: "GET",
468					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
469					Path:       "{project}/global/images/{resource}/getIamPolicy",
470				},
471				SetMethod: RestMethod{
472					HttpMethod:    "POST",
473					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
474					Path:          "{project}/global/images/{resource}/setIamPolicy",
475					RequestFormat: `{"policy": %s}`,
476				},
477			},
478			"beta": IamRestResource{
479				Name:               "images",
480				TypeKey:            "projects/images",
481				Service:            "compute",
482				IsPreferredVersion: false,
483				Parameters:         []string{"project", "resource"},
484				CollectionReplacementKeys: map[string]string{
485					"images":   "resource",
486					"projects": "project",
487				},
488				GetMethod: RestMethod{
489					HttpMethod: "GET",
490					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
491					Path:       "{project}/global/images/{resource}/getIamPolicy",
492				},
493				SetMethod: RestMethod{
494					HttpMethod:    "POST",
495					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
496					Path:          "{project}/global/images/{resource}/setIamPolicy",
497					RequestFormat: `{"policy": %s}`,
498				},
499			},
500			"v1": IamRestResource{
501				Name:               "images",
502				TypeKey:            "projects/images",
503				Service:            "compute",
504				IsPreferredVersion: true,
505				Parameters:         []string{"project", "resource"},
506				CollectionReplacementKeys: map[string]string{
507					"images":   "resource",
508					"projects": "project",
509				},
510				GetMethod: RestMethod{
511					HttpMethod: "GET",
512					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
513					Path:       "{project}/global/images/{resource}/getIamPolicy",
514				},
515				SetMethod: RestMethod{
516					HttpMethod:    "POST",
517					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
518					Path:          "{project}/global/images/{resource}/setIamPolicy",
519					RequestFormat: `{"policy": %s}`,
520				},
521			},
522		},
523	},
524	"projects/instanceTemplates": {
525		"compute": {
526			"alpha": IamRestResource{
527				Name:               "instanceTemplates",
528				TypeKey:            "projects/instanceTemplates",
529				Service:            "compute",
530				IsPreferredVersion: false,
531				Parameters:         []string{"project", "resource"},
532				CollectionReplacementKeys: map[string]string{
533					"instanceTemplates": "resource",
534					"projects":          "project",
535				},
536				GetMethod: RestMethod{
537					HttpMethod: "GET",
538					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
539					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
540				},
541				SetMethod: RestMethod{
542					HttpMethod:    "POST",
543					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
544					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
545					RequestFormat: `{"policy": %s}`,
546				},
547			},
548			"beta": IamRestResource{
549				Name:               "instanceTemplates",
550				TypeKey:            "projects/instanceTemplates",
551				Service:            "compute",
552				IsPreferredVersion: false,
553				Parameters:         []string{"project", "resource"},
554				CollectionReplacementKeys: map[string]string{
555					"instanceTemplates": "resource",
556					"projects":          "project",
557				},
558				GetMethod: RestMethod{
559					HttpMethod: "GET",
560					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
561					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
562				},
563				SetMethod: RestMethod{
564					HttpMethod:    "POST",
565					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
566					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
567					RequestFormat: `{"policy": %s}`,
568				},
569			},
570			"v1": IamRestResource{
571				Name:               "instanceTemplates",
572				TypeKey:            "projects/instanceTemplates",
573				Service:            "compute",
574				IsPreferredVersion: true,
575				Parameters:         []string{"project", "resource"},
576				CollectionReplacementKeys: map[string]string{
577					"instanceTemplates": "resource",
578					"projects":          "project",
579				},
580				GetMethod: RestMethod{
581					HttpMethod: "GET",
582					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
583					Path:       "{project}/global/instanceTemplates/{resource}/getIamPolicy",
584				},
585				SetMethod: RestMethod{
586					HttpMethod:    "POST",
587					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
588					Path:          "{project}/global/instanceTemplates/{resource}/setIamPolicy",
589					RequestFormat: `{"policy": %s}`,
590				},
591			},
592		},
593	},
594	"projects/instances": {
595		"bigtableadmin": {
596			"v2": IamRestResource{
597				Name:                      "instances",
598				TypeKey:                   "projects/instances",
599				Service:                   "bigtableadmin",
600				IsPreferredVersion:        true,
601				Parameters:                []string{"resource"},
602				CollectionReplacementKeys: map[string]string{},
603				GetMethod: RestMethod{
604					HttpMethod: "POST",
605					BaseURL:    "https://bigtableadmin.googleapis.com/",
606					Path:       "v2/{+resource}:getIamPolicy",
607				},
608				SetMethod: RestMethod{
609					HttpMethod:    "POST",
610					BaseURL:       "https://bigtableadmin.googleapis.com/",
611					Path:          "v2/{+resource}:setIamPolicy",
612					RequestFormat: `{"policy": %s}`,
613				},
614			},
615		},
616		"spanner": {
617			"v1": IamRestResource{
618				Name:                      "instances",
619				TypeKey:                   "projects/instances",
620				Service:                   "spanner",
621				IsPreferredVersion:        true,
622				Parameters:                []string{"resource"},
623				CollectionReplacementKeys: map[string]string{},
624				GetMethod: RestMethod{
625					HttpMethod: "POST",
626					BaseURL:    "https://spanner.googleapis.com/",
627					Path:       "v1/{+resource}:getIamPolicy",
628				},
629				SetMethod: RestMethod{
630					HttpMethod:    "POST",
631					BaseURL:       "https://spanner.googleapis.com/",
632					Path:          "v1/{+resource}:setIamPolicy",
633					RequestFormat: `{"policy": %s}`,
634				},
635			},
636		},
637	},
638	"projects/instances/databases": {
639		"spanner": {
640			"v1": IamRestResource{
641				Name:                      "databases",
642				TypeKey:                   "projects/instances/databases",
643				Service:                   "spanner",
644				IsPreferredVersion:        true,
645				Parameters:                []string{"resource"},
646				CollectionReplacementKeys: map[string]string{},
647				GetMethod: RestMethod{
648					HttpMethod: "POST",
649					BaseURL:    "https://spanner.googleapis.com/",
650					Path:       "v1/{+resource}:getIamPolicy",
651				},
652				SetMethod: RestMethod{
653					HttpMethod:    "POST",
654					BaseURL:       "https://spanner.googleapis.com/",
655					Path:          "v1/{+resource}:setIamPolicy",
656					RequestFormat: `{"policy": %s}`,
657				},
658			},
659		},
660	},
661	"projects/interconnects": {
662		"compute": {
663			"alpha": IamRestResource{
664				Name:               "interconnects",
665				TypeKey:            "projects/interconnects",
666				Service:            "compute",
667				IsPreferredVersion: false,
668				Parameters:         []string{"project", "resource"},
669				CollectionReplacementKeys: map[string]string{
670					"interconnects": "resource",
671					"projects":      "project",
672				},
673				GetMethod: RestMethod{
674					HttpMethod: "GET",
675					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
676					Path:       "{project}/global/interconnects/{resource}/getIamPolicy",
677				},
678				SetMethod: RestMethod{
679					HttpMethod:    "POST",
680					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
681					Path:          "{project}/global/interconnects/{resource}/setIamPolicy",
682					RequestFormat: `{"policy": %s}`,
683				},
684			},
685		},
686	},
687	"projects/licenseCodes": {
688		"compute": {
689			"alpha": IamRestResource{
690				Name:               "licenseCodes",
691				TypeKey:            "projects/licenseCodes",
692				Service:            "compute",
693				IsPreferredVersion: false,
694				Parameters:         []string{"project", "resource"},
695				CollectionReplacementKeys: map[string]string{
696					"licenseCodes": "resource",
697					"projects":     "project",
698				},
699				GetMethod: RestMethod{
700					HttpMethod: "GET",
701					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
702					Path:       "{project}/global/licenseCodes/{resource}/getIamPolicy",
703				},
704				SetMethod: RestMethod{
705					HttpMethod:    "POST",
706					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
707					Path:          "{project}/global/licenseCodes/{resource}/setIamPolicy",
708					RequestFormat: `{"policy": %s}`,
709				},
710			},
711		},
712	},
713	"projects/licenses": {
714		"compute": {
715			"alpha": IamRestResource{
716				Name:               "licenses",
717				TypeKey:            "projects/licenses",
718				Service:            "compute",
719				IsPreferredVersion: false,
720				Parameters:         []string{"project", "resource"},
721				CollectionReplacementKeys: map[string]string{
722					"licenses": "resource",
723					"projects": "project",
724				},
725				GetMethod: RestMethod{
726					HttpMethod: "GET",
727					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
728					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
729				},
730				SetMethod: RestMethod{
731					HttpMethod:    "POST",
732					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
733					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
734					RequestFormat: `{"policy": %s}`,
735				},
736			},
737			"beta": IamRestResource{
738				Name:               "licenses",
739				TypeKey:            "projects/licenses",
740				Service:            "compute",
741				IsPreferredVersion: false,
742				Parameters:         []string{"project", "resource"},
743				CollectionReplacementKeys: map[string]string{
744					"licenses": "resource",
745					"projects": "project",
746				},
747				GetMethod: RestMethod{
748					HttpMethod: "GET",
749					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
750					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
751				},
752				SetMethod: RestMethod{
753					HttpMethod:    "POST",
754					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
755					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
756					RequestFormat: `{"policy": %s}`,
757				},
758			},
759			"v1": IamRestResource{
760				Name:               "licenses",
761				TypeKey:            "projects/licenses",
762				Service:            "compute",
763				IsPreferredVersion: true,
764				Parameters:         []string{"project", "resource"},
765				CollectionReplacementKeys: map[string]string{
766					"licenses": "resource",
767					"projects": "project",
768				},
769				GetMethod: RestMethod{
770					HttpMethod: "GET",
771					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
772					Path:       "{project}/global/licenses/{resource}/getIamPolicy",
773				},
774				SetMethod: RestMethod{
775					HttpMethod:    "POST",
776					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
777					Path:          "{project}/global/licenses/{resource}/setIamPolicy",
778					RequestFormat: `{"policy": %s}`,
779				},
780			},
781		},
782	},
783	"projects/locations/autoscalingPolicies": {
784		"dataproc": {
785			"v1beta2": IamRestResource{
786				Name:                      "autoscalingPolicies",
787				TypeKey:                   "projects/locations/autoscalingPolicies",
788				Service:                   "dataproc",
789				IsPreferredVersion:        false,
790				Parameters:                []string{"resource"},
791				CollectionReplacementKeys: map[string]string{},
792				GetMethod: RestMethod{
793					HttpMethod: "GET",
794					BaseURL:    "https://dataproc.googleapis.com/",
795					Path:       "v1beta2/{+resource}:getIamPolicy",
796				},
797				SetMethod: RestMethod{
798					HttpMethod:    "POST",
799					BaseURL:       "https://dataproc.googleapis.com/",
800					Path:          "v1beta2/{+resource}:setIamPolicy",
801					RequestFormat: `{"policy": %s}`,
802				},
803			},
804		},
805	},
806	"projects/locations/datasets": {
807		"healthcare": {
808			"v1alpha": IamRestResource{
809				Name:                      "datasets",
810				TypeKey:                   "projects/locations/datasets",
811				Service:                   "healthcare",
812				IsPreferredVersion:        false,
813				Parameters:                []string{"resource"},
814				CollectionReplacementKeys: map[string]string{},
815				GetMethod: RestMethod{
816					HttpMethod: "GET",
817					BaseURL:    "https://healthcare.googleapis.com/",
818					Path:       "v1alpha/{+resource}:getIamPolicy",
819				},
820				SetMethod: RestMethod{
821					HttpMethod:    "POST",
822					BaseURL:       "https://healthcare.googleapis.com/",
823					Path:          "v1alpha/{+resource}:setIamPolicy",
824					RequestFormat: `{"policy": %s}`,
825				},
826			},
827			"v1alpha2": IamRestResource{
828				Name:                      "datasets",
829				TypeKey:                   "projects/locations/datasets",
830				Service:                   "healthcare",
831				IsPreferredVersion:        true,
832				Parameters:                []string{"resource"},
833				CollectionReplacementKeys: map[string]string{},
834				GetMethod: RestMethod{
835					HttpMethod: "GET",
836					BaseURL:    "https://healthcare.googleapis.com/",
837					Path:       "v1alpha2/{+resource}:getIamPolicy",
838				},
839				SetMethod: RestMethod{
840					HttpMethod:    "POST",
841					BaseURL:       "https://healthcare.googleapis.com/",
842					Path:          "v1alpha2/{+resource}:setIamPolicy",
843					RequestFormat: `{"policy": %s}`,
844				},
845			},
846		},
847	},
848	"projects/locations/datasets/annotationStores": {
849		"healthcare": {
850			"v1alpha": IamRestResource{
851				Name:                      "annotationStores",
852				TypeKey:                   "projects/locations/datasets/annotationStores",
853				Service:                   "healthcare",
854				IsPreferredVersion:        false,
855				Parameters:                []string{"resource"},
856				CollectionReplacementKeys: map[string]string{},
857				GetMethod: RestMethod{
858					HttpMethod: "POST",
859					BaseURL:    "https://healthcare.googleapis.com/",
860					Path:       "v1alpha/{+resource}:getIamPolicy",
861				},
862				SetMethod: RestMethod{
863					HttpMethod:    "POST",
864					BaseURL:       "https://healthcare.googleapis.com/",
865					Path:          "v1alpha/{+resource}:setIamPolicy",
866					RequestFormat: `{"policy": %s}`,
867				},
868			},
869			"v1alpha2": IamRestResource{
870				Name:                      "annotationStores",
871				TypeKey:                   "projects/locations/datasets/annotationStores",
872				Service:                   "healthcare",
873				IsPreferredVersion:        true,
874				Parameters:                []string{"resource"},
875				CollectionReplacementKeys: map[string]string{},
876				GetMethod: RestMethod{
877					HttpMethod: "POST",
878					BaseURL:    "https://healthcare.googleapis.com/",
879					Path:       "v1alpha2/{+resource}:getIamPolicy",
880				},
881				SetMethod: RestMethod{
882					HttpMethod:    "POST",
883					BaseURL:       "https://healthcare.googleapis.com/",
884					Path:          "v1alpha2/{+resource}:setIamPolicy",
885					RequestFormat: `{"policy": %s}`,
886				},
887			},
888		},
889	},
890	"projects/locations/datasets/dicomStores": {
891		"healthcare": {
892			"v1alpha": IamRestResource{
893				Name:                      "dicomStores",
894				TypeKey:                   "projects/locations/datasets/dicomStores",
895				Service:                   "healthcare",
896				IsPreferredVersion:        false,
897				Parameters:                []string{"resource"},
898				CollectionReplacementKeys: map[string]string{},
899				GetMethod: RestMethod{
900					HttpMethod: "GET",
901					BaseURL:    "https://healthcare.googleapis.com/",
902					Path:       "v1alpha/{+resource}:getIamPolicy",
903				},
904				SetMethod: RestMethod{
905					HttpMethod:    "POST",
906					BaseURL:       "https://healthcare.googleapis.com/",
907					Path:          "v1alpha/{+resource}:setIamPolicy",
908					RequestFormat: `{"policy": %s}`,
909				},
910			},
911			"v1alpha2": IamRestResource{
912				Name:                      "dicomStores",
913				TypeKey:                   "projects/locations/datasets/dicomStores",
914				Service:                   "healthcare",
915				IsPreferredVersion:        true,
916				Parameters:                []string{"resource"},
917				CollectionReplacementKeys: map[string]string{},
918				GetMethod: RestMethod{
919					HttpMethod: "GET",
920					BaseURL:    "https://healthcare.googleapis.com/",
921					Path:       "v1alpha2/{+resource}:getIamPolicy",
922				},
923				SetMethod: RestMethod{
924					HttpMethod:    "POST",
925					BaseURL:       "https://healthcare.googleapis.com/",
926					Path:          "v1alpha2/{+resource}:setIamPolicy",
927					RequestFormat: `{"policy": %s}`,
928				},
929			},
930		},
931	},
932	"projects/locations/datasets/fhirStores": {
933		"healthcare": {
934			"v1alpha": IamRestResource{
935				Name:                      "fhirStores",
936				TypeKey:                   "projects/locations/datasets/fhirStores",
937				Service:                   "healthcare",
938				IsPreferredVersion:        false,
939				Parameters:                []string{"resource"},
940				CollectionReplacementKeys: map[string]string{},
941				GetMethod: RestMethod{
942					HttpMethod: "POST",
943					BaseURL:    "https://healthcare.googleapis.com/",
944					Path:       "v1alpha/{+resource}:getIamPolicy",
945				},
946				SetMethod: RestMethod{
947					HttpMethod:    "POST",
948					BaseURL:       "https://healthcare.googleapis.com/",
949					Path:          "v1alpha/{+resource}:setIamPolicy",
950					RequestFormat: `{"policy": %s}`,
951				},
952			},
953			"v1alpha2": IamRestResource{
954				Name:                      "fhirStores",
955				TypeKey:                   "projects/locations/datasets/fhirStores",
956				Service:                   "healthcare",
957				IsPreferredVersion:        true,
958				Parameters:                []string{"resource"},
959				CollectionReplacementKeys: map[string]string{},
960				GetMethod: RestMethod{
961					HttpMethod: "GET",
962					BaseURL:    "https://healthcare.googleapis.com/",
963					Path:       "v1alpha2/{+resource}:getIamPolicy",
964				},
965				SetMethod: RestMethod{
966					HttpMethod:    "POST",
967					BaseURL:       "https://healthcare.googleapis.com/",
968					Path:          "v1alpha2/{+resource}:setIamPolicy",
969					RequestFormat: `{"policy": %s}`,
970				},
971			},
972		},
973	},
974	"projects/locations/datasets/fhirStores/securityLabels": {
975		"healthcare": {
976			"v1alpha": IamRestResource{
977				Name:                      "securityLabels",
978				TypeKey:                   "projects/locations/datasets/fhirStores/securityLabels",
979				Service:                   "healthcare",
980				IsPreferredVersion:        false,
981				Parameters:                []string{"resource"},
982				CollectionReplacementKeys: map[string]string{},
983				GetMethod: RestMethod{
984					HttpMethod: "POST",
985					BaseURL:    "https://healthcare.googleapis.com/",
986					Path:       "v1alpha/{+resource}:getIamPolicy",
987				},
988				SetMethod: RestMethod{
989					HttpMethod:    "POST",
990					BaseURL:       "https://healthcare.googleapis.com/",
991					Path:          "v1alpha/{+resource}:setIamPolicy",
992					RequestFormat: `{"policy": %s}`,
993				},
994			},
995			"v1alpha2": IamRestResource{
996				Name:                      "securityLabels",
997				TypeKey:                   "projects/locations/datasets/fhirStores/securityLabels",
998				Service:                   "healthcare",
999				IsPreferredVersion:        true,
1000				Parameters:                []string{"resource"},
1001				CollectionReplacementKeys: map[string]string{},
1002				GetMethod: RestMethod{
1003					HttpMethod: "GET",
1004					BaseURL:    "https://healthcare.googleapis.com/",
1005					Path:       "v1alpha2/{+resource}:getIamPolicy",
1006				},
1007				SetMethod: RestMethod{
1008					HttpMethod:    "POST",
1009					BaseURL:       "https://healthcare.googleapis.com/",
1010					Path:          "v1alpha2/{+resource}:setIamPolicy",
1011					RequestFormat: `{"policy": %s}`,
1012				},
1013			},
1014		},
1015	},
1016	"projects/locations/functions": {
1017		"cloudfunctions": {
1018			"v1": IamRestResource{
1019				Name:                      "functions",
1020				TypeKey:                   "projects/locations/functions",
1021				Service:                   "cloudfunctions",
1022				IsPreferredVersion:        true,
1023				Parameters:                []string{"resource"},
1024				CollectionReplacementKeys: map[string]string{},
1025				GetMethod: RestMethod{
1026					HttpMethod: "GET",
1027					BaseURL:    "https://cloudfunctions.googleapis.com/",
1028					Path:       "v1/{+resource}:getIamPolicy",
1029				},
1030				SetMethod: RestMethod{
1031					HttpMethod:    "POST",
1032					BaseURL:       "https://cloudfunctions.googleapis.com/",
1033					Path:          "v1/{+resource}:setIamPolicy",
1034					RequestFormat: `{"policy": %s}`,
1035				},
1036			},
1037		},
1038	},
1039	"projects/locations/keyRings": {
1040		"cloudkms": {
1041			"v1": IamRestResource{
1042				Name:                      "keyRings",
1043				TypeKey:                   "projects/locations/keyRings",
1044				Service:                   "cloudkms",
1045				IsPreferredVersion:        true,
1046				Parameters:                []string{"resource"},
1047				CollectionReplacementKeys: map[string]string{},
1048				GetMethod: RestMethod{
1049					HttpMethod: "GET",
1050					BaseURL:    "https://cloudkms.googleapis.com/",
1051					Path:       "v1/{+resource}:getIamPolicy",
1052				},
1053				SetMethod: RestMethod{
1054					HttpMethod:    "POST",
1055					BaseURL:       "https://cloudkms.googleapis.com/",
1056					Path:          "v1/{+resource}:setIamPolicy",
1057					RequestFormat: `{"policy": %s}`,
1058				},
1059			},
1060		},
1061	},
1062	"projects/locations/keyRings/cryptoKeys": {
1063		"cloudkms": {
1064			"v1": IamRestResource{
1065				Name:                      "cryptoKeys",
1066				TypeKey:                   "projects/locations/keyRings/cryptoKeys",
1067				Service:                   "cloudkms",
1068				IsPreferredVersion:        true,
1069				Parameters:                []string{"resource"},
1070				CollectionReplacementKeys: map[string]string{},
1071				GetMethod: RestMethod{
1072					HttpMethod: "GET",
1073					BaseURL:    "https://cloudkms.googleapis.com/",
1074					Path:       "v1/{+resource}:getIamPolicy",
1075				},
1076				SetMethod: RestMethod{
1077					HttpMethod:    "POST",
1078					BaseURL:       "https://cloudkms.googleapis.com/",
1079					Path:          "v1/{+resource}:setIamPolicy",
1080					RequestFormat: `{"policy": %s}`,
1081				},
1082			},
1083		},
1084	},
1085	"projects/locations/keyRings/importJobs": {
1086		"cloudkms": {
1087			"v1": IamRestResource{
1088				Name:                      "importJobs",
1089				TypeKey:                   "projects/locations/keyRings/importJobs",
1090				Service:                   "cloudkms",
1091				IsPreferredVersion:        true,
1092				Parameters:                []string{"resource"},
1093				CollectionReplacementKeys: map[string]string{},
1094				GetMethod: RestMethod{
1095					HttpMethod: "GET",
1096					BaseURL:    "https://cloudkms.googleapis.com/",
1097					Path:       "v1/{+resource}:getIamPolicy",
1098				},
1099				SetMethod: RestMethod{
1100					HttpMethod:    "POST",
1101					BaseURL:       "https://cloudkms.googleapis.com/",
1102					Path:          "v1/{+resource}:setIamPolicy",
1103					RequestFormat: `{"policy": %s}`,
1104				},
1105			},
1106		},
1107	},
1108	"projects/locations/queues": {
1109		"cloudtasks": {
1110			"v2beta2": IamRestResource{
1111				Name:                      "queues",
1112				TypeKey:                   "projects/locations/queues",
1113				Service:                   "cloudtasks",
1114				IsPreferredVersion:        false,
1115				Parameters:                []string{"resource"},
1116				CollectionReplacementKeys: map[string]string{},
1117				GetMethod: RestMethod{
1118					HttpMethod: "POST",
1119					BaseURL:    "https://cloudtasks.googleapis.com/",
1120					Path:       "v2beta2/{+resource}:getIamPolicy",
1121				},
1122				SetMethod: RestMethod{
1123					HttpMethod:    "POST",
1124					BaseURL:       "https://cloudtasks.googleapis.com/",
1125					Path:          "v2beta2/{+resource}:setIamPolicy",
1126					RequestFormat: `{"policy": %s}`,
1127				},
1128			},
1129			"v2beta3": IamRestResource{
1130				Name:                      "queues",
1131				TypeKey:                   "projects/locations/queues",
1132				Service:                   "cloudtasks",
1133				IsPreferredVersion:        true,
1134				Parameters:                []string{"resource"},
1135				CollectionReplacementKeys: map[string]string{},
1136				GetMethod: RestMethod{
1137					HttpMethod: "POST",
1138					BaseURL:    "https://cloudtasks.googleapis.com/",
1139					Path:       "v2beta3/{+resource}:getIamPolicy",
1140				},
1141				SetMethod: RestMethod{
1142					HttpMethod:    "POST",
1143					BaseURL:       "https://cloudtasks.googleapis.com/",
1144					Path:          "v2beta3/{+resource}:setIamPolicy",
1145					RequestFormat: `{"policy": %s}`,
1146				},
1147			},
1148		},
1149	},
1150	"projects/locations/registries": {
1151		"cloudiot": {
1152			"v1": IamRestResource{
1153				Name:                      "registries",
1154				TypeKey:                   "projects/locations/registries",
1155				Service:                   "cloudiot",
1156				IsPreferredVersion:        true,
1157				Parameters:                []string{"resource"},
1158				CollectionReplacementKeys: map[string]string{},
1159				GetMethod: RestMethod{
1160					HttpMethod: "POST",
1161					BaseURL:    "https://cloudiot.googleapis.com/",
1162					Path:       "v1/{+resource}:getIamPolicy",
1163				},
1164				SetMethod: RestMethod{
1165					HttpMethod:    "POST",
1166					BaseURL:       "https://cloudiot.googleapis.com/",
1167					Path:          "v1/{+resource}:setIamPolicy",
1168					RequestFormat: `{"policy": %s}`,
1169				},
1170			},
1171		},
1172	},
1173	"projects/locations/registries/groups": {
1174		"cloudiot": {
1175			"v1": IamRestResource{
1176				Name:                      "groups",
1177				TypeKey:                   "projects/locations/registries/groups",
1178				Service:                   "cloudiot",
1179				IsPreferredVersion:        true,
1180				Parameters:                []string{"resource"},
1181				CollectionReplacementKeys: map[string]string{},
1182				GetMethod: RestMethod{
1183					HttpMethod: "POST",
1184					BaseURL:    "https://cloudiot.googleapis.com/",
1185					Path:       "v1/{+resource}:getIamPolicy",
1186				},
1187				SetMethod: RestMethod{
1188					HttpMethod:    "POST",
1189					BaseURL:       "https://cloudiot.googleapis.com/",
1190					Path:          "v1/{+resource}:setIamPolicy",
1191					RequestFormat: `{"policy": %s}`,
1192				},
1193			},
1194		},
1195	},
1196	"projects/locations/workflowTemplates": {
1197		"dataproc": {
1198			"v1": IamRestResource{
1199				Name:                      "workflowTemplates",
1200				TypeKey:                   "projects/locations/workflowTemplates",
1201				Service:                   "dataproc",
1202				IsPreferredVersion:        true,
1203				Parameters:                []string{"resource"},
1204				CollectionReplacementKeys: map[string]string{},
1205				GetMethod: RestMethod{
1206					HttpMethod: "POST",
1207					BaseURL:    "https://dataproc.googleapis.com/",
1208					Path:       "v1/{+resource}:getIamPolicy",
1209				},
1210				SetMethod: RestMethod{
1211					HttpMethod:    "POST",
1212					BaseURL:       "https://dataproc.googleapis.com/",
1213					Path:          "v1/{+resource}:setIamPolicy",
1214					RequestFormat: `{"policy": %s}`,
1215				},
1216			},
1217			"v1beta2": IamRestResource{
1218				Name:                      "workflowTemplates",
1219				TypeKey:                   "projects/locations/workflowTemplates",
1220				Service:                   "dataproc",
1221				IsPreferredVersion:        false,
1222				Parameters:                []string{"resource"},
1223				CollectionReplacementKeys: map[string]string{},
1224				GetMethod: RestMethod{
1225					HttpMethod: "GET",
1226					BaseURL:    "https://dataproc.googleapis.com/",
1227					Path:       "v1beta2/{+resource}:getIamPolicy",
1228				},
1229				SetMethod: RestMethod{
1230					HttpMethod:    "POST",
1231					BaseURL:       "https://dataproc.googleapis.com/",
1232					Path:          "v1beta2/{+resource}:setIamPolicy",
1233					RequestFormat: `{"policy": %s}`,
1234				},
1235			},
1236		},
1237	},
1238	"projects/machineImages": {
1239		"compute": {
1240			"alpha": IamRestResource{
1241				Name:               "machineImages",
1242				TypeKey:            "projects/machineImages",
1243				Service:            "compute",
1244				IsPreferredVersion: false,
1245				Parameters:         []string{"project", "resource"},
1246				CollectionReplacementKeys: map[string]string{
1247					"machineImages": "resource",
1248					"projects":      "project",
1249				},
1250				GetMethod: RestMethod{
1251					HttpMethod: "GET",
1252					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1253					Path:       "{project}/global/machineImages/{resource}/getIamPolicy",
1254				},
1255				SetMethod: RestMethod{
1256					HttpMethod:    "POST",
1257					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1258					Path:          "{project}/global/machineImages/{resource}/setIamPolicy",
1259					RequestFormat: `{"policy": %s}`,
1260				},
1261			},
1262		},
1263	},
1264	"projects/notes": {
1265		"containeranalysis": {
1266			"v1alpha1": IamRestResource{
1267				Name:                      "notes",
1268				TypeKey:                   "projects/notes",
1269				Service:                   "containeranalysis",
1270				IsPreferredVersion:        true,
1271				Parameters:                []string{"resource"},
1272				CollectionReplacementKeys: map[string]string{},
1273				GetMethod: RestMethod{
1274					HttpMethod: "POST",
1275					BaseURL:    "https://containeranalysis.googleapis.com/",
1276					Path:       "v1alpha1/{+resource}:getIamPolicy",
1277				},
1278				SetMethod: RestMethod{
1279					HttpMethod:    "POST",
1280					BaseURL:       "https://containeranalysis.googleapis.com/",
1281					Path:          "v1alpha1/{+resource}:setIamPolicy",
1282					RequestFormat: `{"policy": %s}`,
1283				},
1284			},
1285			"v1beta1": IamRestResource{
1286				Name:                      "notes",
1287				TypeKey:                   "projects/notes",
1288				Service:                   "containeranalysis",
1289				IsPreferredVersion:        false,
1290				Parameters:                []string{"resource"},
1291				CollectionReplacementKeys: map[string]string{},
1292				GetMethod: RestMethod{
1293					HttpMethod: "POST",
1294					BaseURL:    "https://containeranalysis.googleapis.com/",
1295					Path:       "v1beta1/{+resource}:getIamPolicy",
1296				},
1297				SetMethod: RestMethod{
1298					HttpMethod:    "POST",
1299					BaseURL:       "https://containeranalysis.googleapis.com/",
1300					Path:          "v1beta1/{+resource}:setIamPolicy",
1301					RequestFormat: `{"policy": %s}`,
1302				},
1303			},
1304		},
1305	},
1306	"projects/occurrences": {
1307		"containeranalysis": {
1308			"v1alpha1": IamRestResource{
1309				Name:                      "occurrences",
1310				TypeKey:                   "projects/occurrences",
1311				Service:                   "containeranalysis",
1312				IsPreferredVersion:        true,
1313				Parameters:                []string{"resource"},
1314				CollectionReplacementKeys: map[string]string{},
1315				GetMethod: RestMethod{
1316					HttpMethod: "POST",
1317					BaseURL:    "https://containeranalysis.googleapis.com/",
1318					Path:       "v1alpha1/{+resource}:getIamPolicy",
1319				},
1320				SetMethod: RestMethod{
1321					HttpMethod:    "POST",
1322					BaseURL:       "https://containeranalysis.googleapis.com/",
1323					Path:          "v1alpha1/{+resource}:setIamPolicy",
1324					RequestFormat: `{"policy": %s}`,
1325				},
1326			},
1327			"v1beta1": IamRestResource{
1328				Name:                      "occurrences",
1329				TypeKey:                   "projects/occurrences",
1330				Service:                   "containeranalysis",
1331				IsPreferredVersion:        false,
1332				Parameters:                []string{"resource"},
1333				CollectionReplacementKeys: map[string]string{},
1334				GetMethod: RestMethod{
1335					HttpMethod: "POST",
1336					BaseURL:    "https://containeranalysis.googleapis.com/",
1337					Path:       "v1beta1/{+resource}:getIamPolicy",
1338				},
1339				SetMethod: RestMethod{
1340					HttpMethod:    "POST",
1341					BaseURL:       "https://containeranalysis.googleapis.com/",
1342					Path:          "v1beta1/{+resource}:setIamPolicy",
1343					RequestFormat: `{"policy": %s}`,
1344				},
1345			},
1346		},
1347	},
1348	"projects/regions/autoscalingPolicies": {
1349		"dataproc": {
1350			"v1beta2": IamRestResource{
1351				Name:                      "autoscalingPolicies",
1352				TypeKey:                   "projects/regions/autoscalingPolicies",
1353				Service:                   "dataproc",
1354				IsPreferredVersion:        false,
1355				Parameters:                []string{"resource"},
1356				CollectionReplacementKeys: map[string]string{},
1357				GetMethod: RestMethod{
1358					HttpMethod: "POST",
1359					BaseURL:    "https://dataproc.googleapis.com/",
1360					Path:       "v1beta2/{+resource}:getIamPolicy",
1361				},
1362				SetMethod: RestMethod{
1363					HttpMethod:    "POST",
1364					BaseURL:       "https://dataproc.googleapis.com/",
1365					Path:          "v1beta2/{+resource}:setIamPolicy",
1366					RequestFormat: `{"policy": %s}`,
1367				},
1368			},
1369		},
1370	},
1371	"projects/regions/clusters": {
1372		"dataproc": {
1373			"v1": IamRestResource{
1374				Name:                      "clusters",
1375				TypeKey:                   "projects/regions/clusters",
1376				Service:                   "dataproc",
1377				IsPreferredVersion:        true,
1378				Parameters:                []string{"resource"},
1379				CollectionReplacementKeys: map[string]string{},
1380				GetMethod: RestMethod{
1381					HttpMethod: "POST",
1382					BaseURL:    "https://dataproc.googleapis.com/",
1383					Path:       "v1/{+resource}:getIamPolicy",
1384				},
1385				SetMethod: RestMethod{
1386					HttpMethod:    "POST",
1387					BaseURL:       "https://dataproc.googleapis.com/",
1388					Path:          "v1/{+resource}:setIamPolicy",
1389					RequestFormat: `{"policy": %s}`,
1390				},
1391			},
1392			"v1beta2": IamRestResource{
1393				Name:                      "clusters",
1394				TypeKey:                   "projects/regions/clusters",
1395				Service:                   "dataproc",
1396				IsPreferredVersion:        false,
1397				Parameters:                []string{"resource"},
1398				CollectionReplacementKeys: map[string]string{},
1399				GetMethod: RestMethod{
1400					HttpMethod: "GET",
1401					BaseURL:    "https://dataproc.googleapis.com/",
1402					Path:       "v1beta2/{+resource}:getIamPolicy",
1403				},
1404				SetMethod: RestMethod{
1405					HttpMethod:    "POST",
1406					BaseURL:       "https://dataproc.googleapis.com/",
1407					Path:          "v1beta2/{+resource}:setIamPolicy",
1408					RequestFormat: `{"policy": %s}`,
1409				},
1410			},
1411		},
1412	},
1413	"projects/regions/disks": {
1414		"compute": {
1415			"alpha": IamRestResource{
1416				Name:               "regionDisks",
1417				TypeKey:            "projects/regions/disks",
1418				Service:            "compute",
1419				IsPreferredVersion: false,
1420				Parameters:         []string{"project", "region", "resource"},
1421				CollectionReplacementKeys: map[string]string{
1422					"disks":    "resource",
1423					"projects": "project",
1424					"regions":  "region",
1425				},
1426				GetMethod: RestMethod{
1427					HttpMethod: "GET",
1428					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1429					Path:       "{project}/regions/{region}/disks/{resource}/getIamPolicy",
1430				},
1431				SetMethod: RestMethod{
1432					HttpMethod:    "POST",
1433					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1434					Path:          "{project}/regions/{region}/disks/{resource}/setIamPolicy",
1435					RequestFormat: `{"policy": %s}`,
1436				},
1437			},
1438			"beta": IamRestResource{
1439				Name:               "regionDisks",
1440				TypeKey:            "projects/regions/disks",
1441				Service:            "compute",
1442				IsPreferredVersion: false,
1443				Parameters:         []string{"project", "region", "resource"},
1444				CollectionReplacementKeys: map[string]string{
1445					"disks":    "resource",
1446					"projects": "project",
1447					"regions":  "region",
1448				},
1449				GetMethod: RestMethod{
1450					HttpMethod: "GET",
1451					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
1452					Path:       "{project}/regions/{region}/disks/{resource}/getIamPolicy",
1453				},
1454				SetMethod: RestMethod{
1455					HttpMethod:    "POST",
1456					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
1457					Path:          "{project}/regions/{region}/disks/{resource}/setIamPolicy",
1458					RequestFormat: `{"policy": %s}`,
1459				},
1460			},
1461		},
1462	},
1463	"projects/regions/interconnectAttachments": {
1464		"compute": {
1465			"alpha": IamRestResource{
1466				Name:               "interconnectAttachments",
1467				TypeKey:            "projects/regions/interconnectAttachments",
1468				Service:            "compute",
1469				IsPreferredVersion: false,
1470				Parameters:         []string{"project", "region", "resource"},
1471				CollectionReplacementKeys: map[string]string{
1472					"interconnectAttachments": "resource",
1473					"projects":                "project",
1474					"regions":                 "region",
1475				},
1476				GetMethod: RestMethod{
1477					HttpMethod: "GET",
1478					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1479					Path:       "{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy",
1480				},
1481				SetMethod: RestMethod{
1482					HttpMethod:    "POST",
1483					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1484					Path:          "{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy",
1485					RequestFormat: `{"policy": %s}`,
1486				},
1487			},
1488		},
1489	},
1490	"projects/regions/jobs": {
1491		"dataproc": {
1492			"v1": IamRestResource{
1493				Name:                      "jobs",
1494				TypeKey:                   "projects/regions/jobs",
1495				Service:                   "dataproc",
1496				IsPreferredVersion:        true,
1497				Parameters:                []string{"resource"},
1498				CollectionReplacementKeys: map[string]string{},
1499				GetMethod: RestMethod{
1500					HttpMethod: "POST",
1501					BaseURL:    "https://dataproc.googleapis.com/",
1502					Path:       "v1/{+resource}:getIamPolicy",
1503				},
1504				SetMethod: RestMethod{
1505					HttpMethod:    "POST",
1506					BaseURL:       "https://dataproc.googleapis.com/",
1507					Path:          "v1/{+resource}:setIamPolicy",
1508					RequestFormat: `{"policy": %s}`,
1509				},
1510			},
1511			"v1beta2": IamRestResource{
1512				Name:                      "jobs",
1513				TypeKey:                   "projects/regions/jobs",
1514				Service:                   "dataproc",
1515				IsPreferredVersion:        false,
1516				Parameters:                []string{"resource"},
1517				CollectionReplacementKeys: map[string]string{},
1518				GetMethod: RestMethod{
1519					HttpMethod: "GET",
1520					BaseURL:    "https://dataproc.googleapis.com/",
1521					Path:       "v1beta2/{+resource}:getIamPolicy",
1522				},
1523				SetMethod: RestMethod{
1524					HttpMethod:    "POST",
1525					BaseURL:       "https://dataproc.googleapis.com/",
1526					Path:          "v1beta2/{+resource}:setIamPolicy",
1527					RequestFormat: `{"policy": %s}`,
1528				},
1529			},
1530		},
1531	},
1532	"projects/regions/nodeTemplates": {
1533		"compute": {
1534			"alpha": IamRestResource{
1535				Name:               "nodeTemplates",
1536				TypeKey:            "projects/regions/nodeTemplates",
1537				Service:            "compute",
1538				IsPreferredVersion: false,
1539				Parameters:         []string{"project", "region", "resource"},
1540				CollectionReplacementKeys: map[string]string{
1541					"nodeTemplates": "resource",
1542					"projects":      "project",
1543					"regions":       "region",
1544				},
1545				GetMethod: RestMethod{
1546					HttpMethod: "GET",
1547					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1548					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
1549				},
1550				SetMethod: RestMethod{
1551					HttpMethod:    "POST",
1552					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1553					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
1554					RequestFormat: `{"policy": %s}`,
1555				},
1556			},
1557			"beta": IamRestResource{
1558				Name:               "nodeTemplates",
1559				TypeKey:            "projects/regions/nodeTemplates",
1560				Service:            "compute",
1561				IsPreferredVersion: false,
1562				Parameters:         []string{"project", "region", "resource"},
1563				CollectionReplacementKeys: map[string]string{
1564					"nodeTemplates": "resource",
1565					"projects":      "project",
1566					"regions":       "region",
1567				},
1568				GetMethod: RestMethod{
1569					HttpMethod: "GET",
1570					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
1571					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
1572				},
1573				SetMethod: RestMethod{
1574					HttpMethod:    "POST",
1575					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
1576					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
1577					RequestFormat: `{"policy": %s}`,
1578				},
1579			},
1580			"v1": IamRestResource{
1581				Name:               "nodeTemplates",
1582				TypeKey:            "projects/regions/nodeTemplates",
1583				Service:            "compute",
1584				IsPreferredVersion: true,
1585				Parameters:         []string{"project", "region", "resource"},
1586				CollectionReplacementKeys: map[string]string{
1587					"nodeTemplates": "resource",
1588					"projects":      "project",
1589					"regions":       "region",
1590				},
1591				GetMethod: RestMethod{
1592					HttpMethod: "GET",
1593					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
1594					Path:       "{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy",
1595				},
1596				SetMethod: RestMethod{
1597					HttpMethod:    "POST",
1598					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
1599					Path:          "{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy",
1600					RequestFormat: `{"policy": %s}`,
1601				},
1602			},
1603		},
1604	},
1605	"projects/regions/operations": {
1606		"dataproc": {
1607			"v1": IamRestResource{
1608				Name:                      "operations",
1609				TypeKey:                   "projects/regions/operations",
1610				Service:                   "dataproc",
1611				IsPreferredVersion:        true,
1612				Parameters:                []string{"resource"},
1613				CollectionReplacementKeys: map[string]string{},
1614				GetMethod: RestMethod{
1615					HttpMethod: "POST",
1616					BaseURL:    "https://dataproc.googleapis.com/",
1617					Path:       "v1/{+resource}:getIamPolicy",
1618				},
1619				SetMethod: RestMethod{
1620					HttpMethod:    "POST",
1621					BaseURL:       "https://dataproc.googleapis.com/",
1622					Path:          "v1/{+resource}:setIamPolicy",
1623					RequestFormat: `{"policy": %s}`,
1624				},
1625			},
1626			"v1beta2": IamRestResource{
1627				Name:                      "operations",
1628				TypeKey:                   "projects/regions/operations",
1629				Service:                   "dataproc",
1630				IsPreferredVersion:        false,
1631				Parameters:                []string{"resource"},
1632				CollectionReplacementKeys: map[string]string{},
1633				GetMethod: RestMethod{
1634					HttpMethod: "GET",
1635					BaseURL:    "https://dataproc.googleapis.com/",
1636					Path:       "v1beta2/{+resource}:getIamPolicy",
1637				},
1638				SetMethod: RestMethod{
1639					HttpMethod:    "POST",
1640					BaseURL:       "https://dataproc.googleapis.com/",
1641					Path:          "v1beta2/{+resource}:setIamPolicy",
1642					RequestFormat: `{"policy": %s}`,
1643				},
1644			},
1645		},
1646	},
1647	"projects/regions/resourcePolicies": {
1648		"compute": {
1649			"alpha": IamRestResource{
1650				Name:               "resourcePolicies",
1651				TypeKey:            "projects/regions/resourcePolicies",
1652				Service:            "compute",
1653				IsPreferredVersion: false,
1654				Parameters:         []string{"project", "region", "resource"},
1655				CollectionReplacementKeys: map[string]string{
1656					"projects":         "project",
1657					"regions":          "region",
1658					"resourcePolicies": "resource",
1659				},
1660				GetMethod: RestMethod{
1661					HttpMethod: "GET",
1662					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1663					Path:       "{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy",
1664				},
1665				SetMethod: RestMethod{
1666					HttpMethod:    "POST",
1667					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1668					Path:          "{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy",
1669					RequestFormat: `{"policy": %s}`,
1670				},
1671			},
1672		},
1673	},
1674	"projects/regions/subnetworks": {
1675		"compute": {
1676			"alpha": IamRestResource{
1677				Name:               "subnetworks",
1678				TypeKey:            "projects/regions/subnetworks",
1679				Service:            "compute",
1680				IsPreferredVersion: false,
1681				Parameters:         []string{"project", "region", "resource"},
1682				CollectionReplacementKeys: map[string]string{
1683					"projects":    "project",
1684					"regions":     "region",
1685					"subnetworks": "resource",
1686				},
1687				GetMethod: RestMethod{
1688					HttpMethod: "GET",
1689					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1690					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
1691				},
1692				SetMethod: RestMethod{
1693					HttpMethod:    "POST",
1694					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1695					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
1696					RequestFormat: `{"policy": %s}`,
1697				},
1698			},
1699			"beta": IamRestResource{
1700				Name:               "subnetworks",
1701				TypeKey:            "projects/regions/subnetworks",
1702				Service:            "compute",
1703				IsPreferredVersion: false,
1704				Parameters:         []string{"project", "region", "resource"},
1705				CollectionReplacementKeys: map[string]string{
1706					"projects":    "project",
1707					"regions":     "region",
1708					"subnetworks": "resource",
1709				},
1710				GetMethod: RestMethod{
1711					HttpMethod: "GET",
1712					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
1713					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
1714				},
1715				SetMethod: RestMethod{
1716					HttpMethod:    "POST",
1717					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
1718					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
1719					RequestFormat: `{"policy": %s}`,
1720				},
1721			},
1722			"v1": IamRestResource{
1723				Name:               "subnetworks",
1724				TypeKey:            "projects/regions/subnetworks",
1725				Service:            "compute",
1726				IsPreferredVersion: true,
1727				Parameters:         []string{"project", "region", "resource"},
1728				CollectionReplacementKeys: map[string]string{
1729					"projects":    "project",
1730					"regions":     "region",
1731					"subnetworks": "resource",
1732				},
1733				GetMethod: RestMethod{
1734					HttpMethod: "GET",
1735					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
1736					Path:       "{project}/regions/{region}/subnetworks/{resource}/getIamPolicy",
1737				},
1738				SetMethod: RestMethod{
1739					HttpMethod:    "POST",
1740					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
1741					Path:          "{project}/regions/{region}/subnetworks/{resource}/setIamPolicy",
1742					RequestFormat: `{"policy": %s}`,
1743				},
1744			},
1745		},
1746	},
1747	"projects/regions/workflowTemplates": {
1748		"dataproc": {
1749			"v1": IamRestResource{
1750				Name:                      "workflowTemplates",
1751				TypeKey:                   "projects/regions/workflowTemplates",
1752				Service:                   "dataproc",
1753				IsPreferredVersion:        true,
1754				Parameters:                []string{"resource"},
1755				CollectionReplacementKeys: map[string]string{},
1756				GetMethod: RestMethod{
1757					HttpMethod: "POST",
1758					BaseURL:    "https://dataproc.googleapis.com/",
1759					Path:       "v1/{+resource}:getIamPolicy",
1760				},
1761				SetMethod: RestMethod{
1762					HttpMethod:    "POST",
1763					BaseURL:       "https://dataproc.googleapis.com/",
1764					Path:          "v1/{+resource}:setIamPolicy",
1765					RequestFormat: `{"policy": %s}`,
1766				},
1767			},
1768			"v1beta2": IamRestResource{
1769				Name:                      "workflowTemplates",
1770				TypeKey:                   "projects/regions/workflowTemplates",
1771				Service:                   "dataproc",
1772				IsPreferredVersion:        false,
1773				Parameters:                []string{"resource"},
1774				CollectionReplacementKeys: map[string]string{},
1775				GetMethod: RestMethod{
1776					HttpMethod: "GET",
1777					BaseURL:    "https://dataproc.googleapis.com/",
1778					Path:       "v1beta2/{+resource}:getIamPolicy",
1779				},
1780				SetMethod: RestMethod{
1781					HttpMethod:    "POST",
1782					BaseURL:       "https://dataproc.googleapis.com/",
1783					Path:          "v1beta2/{+resource}:setIamPolicy",
1784					RequestFormat: `{"policy": %s}`,
1785				},
1786			},
1787		},
1788	},
1789	"projects/repos": {
1790		"sourcerepo": {
1791			"v1": IamRestResource{
1792				Name:                      "repos",
1793				TypeKey:                   "projects/repos",
1794				Service:                   "sourcerepo",
1795				IsPreferredVersion:        true,
1796				Parameters:                []string{"resource"},
1797				CollectionReplacementKeys: map[string]string{},
1798				GetMethod: RestMethod{
1799					HttpMethod: "GET",
1800					BaseURL:    "https://sourcerepo.googleapis.com/",
1801					Path:       "v1/{+resource}:getIamPolicy",
1802				},
1803				SetMethod: RestMethod{
1804					HttpMethod:    "POST",
1805					BaseURL:       "https://sourcerepo.googleapis.com/",
1806					Path:          "v1/{+resource}:setIamPolicy",
1807					RequestFormat: `{"policy": %s}`,
1808				},
1809			},
1810		},
1811	},
1812	"projects/serviceAccounts": {
1813		"iam": {
1814			"v1": IamRestResource{
1815				Name:                      "serviceAccounts",
1816				TypeKey:                   "projects/serviceAccounts",
1817				Service:                   "iam",
1818				IsPreferredVersion:        true,
1819				Parameters:                []string{"resource"},
1820				CollectionReplacementKeys: map[string]string{},
1821				GetMethod: RestMethod{
1822					HttpMethod: "POST",
1823					BaseURL:    "https://iam.googleapis.com/",
1824					Path:       "v1/{+resource}:getIamPolicy",
1825				},
1826				SetMethod: RestMethod{
1827					HttpMethod:    "POST",
1828					BaseURL:       "https://iam.googleapis.com/",
1829					Path:          "v1/{+resource}:setIamPolicy",
1830					RequestFormat: `{"policy": %s}`,
1831				},
1832			},
1833		},
1834	},
1835	"projects/snapshots": {
1836		"compute": {
1837			"alpha": IamRestResource{
1838				Name:               "snapshots",
1839				TypeKey:            "projects/snapshots",
1840				Service:            "compute",
1841				IsPreferredVersion: false,
1842				Parameters:         []string{"project", "resource"},
1843				CollectionReplacementKeys: map[string]string{
1844					"projects":  "project",
1845					"snapshots": "resource",
1846				},
1847				GetMethod: RestMethod{
1848					HttpMethod: "GET",
1849					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
1850					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
1851				},
1852				SetMethod: RestMethod{
1853					HttpMethod:    "POST",
1854					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
1855					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
1856					RequestFormat: `{"policy": %s}`,
1857				},
1858			},
1859			"beta": IamRestResource{
1860				Name:               "snapshots",
1861				TypeKey:            "projects/snapshots",
1862				Service:            "compute",
1863				IsPreferredVersion: false,
1864				Parameters:         []string{"project", "resource"},
1865				CollectionReplacementKeys: map[string]string{
1866					"projects":  "project",
1867					"snapshots": "resource",
1868				},
1869				GetMethod: RestMethod{
1870					HttpMethod: "GET",
1871					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
1872					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
1873				},
1874				SetMethod: RestMethod{
1875					HttpMethod:    "POST",
1876					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
1877					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
1878					RequestFormat: `{"policy": %s}`,
1879				},
1880			},
1881			"v1": IamRestResource{
1882				Name:               "snapshots",
1883				TypeKey:            "projects/snapshots",
1884				Service:            "compute",
1885				IsPreferredVersion: true,
1886				Parameters:         []string{"project", "resource"},
1887				CollectionReplacementKeys: map[string]string{
1888					"projects":  "project",
1889					"snapshots": "resource",
1890				},
1891				GetMethod: RestMethod{
1892					HttpMethod: "GET",
1893					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
1894					Path:       "{project}/global/snapshots/{resource}/getIamPolicy",
1895				},
1896				SetMethod: RestMethod{
1897					HttpMethod:    "POST",
1898					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
1899					Path:          "{project}/global/snapshots/{resource}/setIamPolicy",
1900					RequestFormat: `{"policy": %s}`,
1901				},
1902			},
1903		},
1904		"pubsub": {
1905			"v1": IamRestResource{
1906				Name:                      "snapshots",
1907				TypeKey:                   "projects/snapshots",
1908				Service:                   "pubsub",
1909				IsPreferredVersion:        true,
1910				Parameters:                []string{"resource"},
1911				CollectionReplacementKeys: map[string]string{},
1912				GetMethod: RestMethod{
1913					HttpMethod: "GET",
1914					BaseURL:    "https://pubsub.googleapis.com/",
1915					Path:       "v1/{+resource}:getIamPolicy",
1916				},
1917				SetMethod: RestMethod{
1918					HttpMethod:    "POST",
1919					BaseURL:       "https://pubsub.googleapis.com/",
1920					Path:          "v1/{+resource}:setIamPolicy",
1921					RequestFormat: `{"policy": %s}`,
1922				},
1923			},
1924		},
1925	},
1926	"projects/subscriptions": {
1927		"pubsub": {
1928			"v1": IamRestResource{
1929				Name:                      "subscriptions",
1930				TypeKey:                   "projects/subscriptions",
1931				Service:                   "pubsub",
1932				IsPreferredVersion:        true,
1933				Parameters:                []string{"resource"},
1934				CollectionReplacementKeys: map[string]string{},
1935				GetMethod: RestMethod{
1936					HttpMethod: "GET",
1937					BaseURL:    "https://pubsub.googleapis.com/",
1938					Path:       "v1/{+resource}:getIamPolicy",
1939				},
1940				SetMethod: RestMethod{
1941					HttpMethod:    "POST",
1942					BaseURL:       "https://pubsub.googleapis.com/",
1943					Path:          "v1/{+resource}:setIamPolicy",
1944					RequestFormat: `{"policy": %s}`,
1945				},
1946			},
1947			"v1beta2": IamRestResource{
1948				Name:                      "subscriptions",
1949				TypeKey:                   "projects/subscriptions",
1950				Service:                   "pubsub",
1951				IsPreferredVersion:        false,
1952				Parameters:                []string{"resource"},
1953				CollectionReplacementKeys: map[string]string{},
1954				GetMethod: RestMethod{
1955					HttpMethod: "GET",
1956					BaseURL:    "https://pubsub.googleapis.com/",
1957					Path:       "v1beta2/{+resource}:getIamPolicy",
1958				},
1959				SetMethod: RestMethod{
1960					HttpMethod:    "POST",
1961					BaseURL:       "https://pubsub.googleapis.com/",
1962					Path:          "v1beta2/{+resource}:setIamPolicy",
1963					RequestFormat: `{"policy": %s}`,
1964				},
1965			},
1966		},
1967	},
1968	"projects/topics": {
1969		"pubsub": {
1970			"v1": IamRestResource{
1971				Name:                      "topics",
1972				TypeKey:                   "projects/topics",
1973				Service:                   "pubsub",
1974				IsPreferredVersion:        true,
1975				Parameters:                []string{"resource"},
1976				CollectionReplacementKeys: map[string]string{},
1977				GetMethod: RestMethod{
1978					HttpMethod: "GET",
1979					BaseURL:    "https://pubsub.googleapis.com/",
1980					Path:       "v1/{+resource}:getIamPolicy",
1981				},
1982				SetMethod: RestMethod{
1983					HttpMethod:    "POST",
1984					BaseURL:       "https://pubsub.googleapis.com/",
1985					Path:          "v1/{+resource}:setIamPolicy",
1986					RequestFormat: `{"policy": %s}`,
1987				},
1988			},
1989			"v1beta2": IamRestResource{
1990				Name:                      "topics",
1991				TypeKey:                   "projects/topics",
1992				Service:                   "pubsub",
1993				IsPreferredVersion:        false,
1994				Parameters:                []string{"resource"},
1995				CollectionReplacementKeys: map[string]string{},
1996				GetMethod: RestMethod{
1997					HttpMethod: "GET",
1998					BaseURL:    "https://pubsub.googleapis.com/",
1999					Path:       "v1beta2/{+resource}:getIamPolicy",
2000				},
2001				SetMethod: RestMethod{
2002					HttpMethod:    "POST",
2003					BaseURL:       "https://pubsub.googleapis.com/",
2004					Path:          "v1beta2/{+resource}:setIamPolicy",
2005					RequestFormat: `{"policy": %s}`,
2006				},
2007			},
2008		},
2009	},
2010	"projects/zones/allocations": {
2011		"compute": {
2012			"alpha": IamRestResource{
2013				Name:               "allocations",
2014				TypeKey:            "projects/zones/allocations",
2015				Service:            "compute",
2016				IsPreferredVersion: false,
2017				Parameters:         []string{"project", "zone", "resource"},
2018				CollectionReplacementKeys: map[string]string{
2019					"allocations": "resource",
2020					"projects":    "project",
2021					"zones":       "zone",
2022				},
2023				GetMethod: RestMethod{
2024					HttpMethod: "GET",
2025					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
2026					Path:       "{project}/zones/{zone}/allocations/{resource}/getIamPolicy",
2027				},
2028				SetMethod: RestMethod{
2029					HttpMethod:    "POST",
2030					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
2031					Path:          "{project}/zones/{zone}/allocations/{resource}/setIamPolicy",
2032					RequestFormat: `{"policy": %s}`,
2033				},
2034			},
2035			"beta": IamRestResource{
2036				Name:               "allocations",
2037				TypeKey:            "projects/zones/allocations",
2038				Service:            "compute",
2039				IsPreferredVersion: false,
2040				Parameters:         []string{"project", "zone", "resource"},
2041				CollectionReplacementKeys: map[string]string{
2042					"allocations": "resource",
2043					"projects":    "project",
2044					"zones":       "zone",
2045				},
2046				GetMethod: RestMethod{
2047					HttpMethod: "GET",
2048					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
2049					Path:       "{project}/zones/{zone}/allocations/{resource}/getIamPolicy",
2050				},
2051				SetMethod: RestMethod{
2052					HttpMethod:    "POST",
2053					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
2054					Path:          "{project}/zones/{zone}/allocations/{resource}/setIamPolicy",
2055					RequestFormat: `{"policy": %s}`,
2056				},
2057			},
2058		},
2059	},
2060	"projects/zones/disks": {
2061		"compute": {
2062			"alpha": IamRestResource{
2063				Name:               "disks",
2064				TypeKey:            "projects/zones/disks",
2065				Service:            "compute",
2066				IsPreferredVersion: false,
2067				Parameters:         []string{"project", "zone", "resource"},
2068				CollectionReplacementKeys: map[string]string{
2069					"disks":    "resource",
2070					"projects": "project",
2071					"zones":    "zone",
2072				},
2073				GetMethod: RestMethod{
2074					HttpMethod: "GET",
2075					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
2076					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2077				},
2078				SetMethod: RestMethod{
2079					HttpMethod:    "POST",
2080					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
2081					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2082					RequestFormat: `{"policy": %s}`,
2083				},
2084			},
2085			"beta": IamRestResource{
2086				Name:               "disks",
2087				TypeKey:            "projects/zones/disks",
2088				Service:            "compute",
2089				IsPreferredVersion: false,
2090				Parameters:         []string{"project", "zone", "resource"},
2091				CollectionReplacementKeys: map[string]string{
2092					"disks":    "resource",
2093					"projects": "project",
2094					"zones":    "zone",
2095				},
2096				GetMethod: RestMethod{
2097					HttpMethod: "GET",
2098					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
2099					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2100				},
2101				SetMethod: RestMethod{
2102					HttpMethod:    "POST",
2103					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
2104					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2105					RequestFormat: `{"policy": %s}`,
2106				},
2107			},
2108			"v1": IamRestResource{
2109				Name:               "disks",
2110				TypeKey:            "projects/zones/disks",
2111				Service:            "compute",
2112				IsPreferredVersion: true,
2113				Parameters:         []string{"project", "zone", "resource"},
2114				CollectionReplacementKeys: map[string]string{
2115					"disks":    "resource",
2116					"projects": "project",
2117					"zones":    "zone",
2118				},
2119				GetMethod: RestMethod{
2120					HttpMethod: "GET",
2121					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
2122					Path:       "{project}/zones/{zone}/disks/{resource}/getIamPolicy",
2123				},
2124				SetMethod: RestMethod{
2125					HttpMethod:    "POST",
2126					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
2127					Path:          "{project}/zones/{zone}/disks/{resource}/setIamPolicy",
2128					RequestFormat: `{"policy": %s}`,
2129				},
2130			},
2131		},
2132	},
2133	"projects/zones/instances": {
2134		"compute": {
2135			"alpha": IamRestResource{
2136				Name:               "instances",
2137				TypeKey:            "projects/zones/instances",
2138				Service:            "compute",
2139				IsPreferredVersion: false,
2140				Parameters:         []string{"project", "zone", "resource"},
2141				CollectionReplacementKeys: map[string]string{
2142					"instances": "resource",
2143					"projects":  "project",
2144					"zones":     "zone",
2145				},
2146				GetMethod: RestMethod{
2147					HttpMethod: "GET",
2148					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
2149					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2150				},
2151				SetMethod: RestMethod{
2152					HttpMethod:    "POST",
2153					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
2154					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2155					RequestFormat: `{"policy": %s}`,
2156				},
2157			},
2158			"beta": IamRestResource{
2159				Name:               "instances",
2160				TypeKey:            "projects/zones/instances",
2161				Service:            "compute",
2162				IsPreferredVersion: false,
2163				Parameters:         []string{"project", "zone", "resource"},
2164				CollectionReplacementKeys: map[string]string{
2165					"instances": "resource",
2166					"projects":  "project",
2167					"zones":     "zone",
2168				},
2169				GetMethod: RestMethod{
2170					HttpMethod: "GET",
2171					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
2172					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2173				},
2174				SetMethod: RestMethod{
2175					HttpMethod:    "POST",
2176					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
2177					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2178					RequestFormat: `{"policy": %s}`,
2179				},
2180			},
2181			"v1": IamRestResource{
2182				Name:               "instances",
2183				TypeKey:            "projects/zones/instances",
2184				Service:            "compute",
2185				IsPreferredVersion: true,
2186				Parameters:         []string{"project", "zone", "resource"},
2187				CollectionReplacementKeys: map[string]string{
2188					"instances": "resource",
2189					"projects":  "project",
2190					"zones":     "zone",
2191				},
2192				GetMethod: RestMethod{
2193					HttpMethod: "GET",
2194					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
2195					Path:       "{project}/zones/{zone}/instances/{resource}/getIamPolicy",
2196				},
2197				SetMethod: RestMethod{
2198					HttpMethod:    "POST",
2199					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
2200					Path:          "{project}/zones/{zone}/instances/{resource}/setIamPolicy",
2201					RequestFormat: `{"policy": %s}`,
2202				},
2203			},
2204		},
2205	},
2206	"projects/zones/nodeGroups": {
2207		"compute": {
2208			"alpha": IamRestResource{
2209				Name:               "nodeGroups",
2210				TypeKey:            "projects/zones/nodeGroups",
2211				Service:            "compute",
2212				IsPreferredVersion: false,
2213				Parameters:         []string{"project", "zone", "resource"},
2214				CollectionReplacementKeys: map[string]string{
2215					"nodeGroups": "resource",
2216					"projects":   "project",
2217					"zones":      "zone",
2218				},
2219				GetMethod: RestMethod{
2220					HttpMethod: "GET",
2221					BaseURL:    "https://www.googleapis.com/compute/alpha/projects/",
2222					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2223				},
2224				SetMethod: RestMethod{
2225					HttpMethod:    "POST",
2226					BaseURL:       "https://www.googleapis.com/compute/alpha/projects/",
2227					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2228					RequestFormat: `{"policy": %s}`,
2229				},
2230			},
2231			"beta": IamRestResource{
2232				Name:               "nodeGroups",
2233				TypeKey:            "projects/zones/nodeGroups",
2234				Service:            "compute",
2235				IsPreferredVersion: false,
2236				Parameters:         []string{"project", "zone", "resource"},
2237				CollectionReplacementKeys: map[string]string{
2238					"nodeGroups": "resource",
2239					"projects":   "project",
2240					"zones":      "zone",
2241				},
2242				GetMethod: RestMethod{
2243					HttpMethod: "GET",
2244					BaseURL:    "https://www.googleapis.com/compute/beta/projects/",
2245					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2246				},
2247				SetMethod: RestMethod{
2248					HttpMethod:    "POST",
2249					BaseURL:       "https://www.googleapis.com/compute/beta/projects/",
2250					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2251					RequestFormat: `{"policy": %s}`,
2252				},
2253			},
2254			"v1": IamRestResource{
2255				Name:               "nodeGroups",
2256				TypeKey:            "projects/zones/nodeGroups",
2257				Service:            "compute",
2258				IsPreferredVersion: true,
2259				Parameters:         []string{"project", "zone", "resource"},
2260				CollectionReplacementKeys: map[string]string{
2261					"nodeGroups": "resource",
2262					"projects":   "project",
2263					"zones":      "zone",
2264				},
2265				GetMethod: RestMethod{
2266					HttpMethod: "GET",
2267					BaseURL:    "https://www.googleapis.com/compute/v1/projects/",
2268					Path:       "{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy",
2269				},
2270				SetMethod: RestMethod{
2271					HttpMethod:    "POST",
2272					BaseURL:       "https://www.googleapis.com/compute/v1/projects/",
2273					Path:          "{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy",
2274					RequestFormat: `{"policy": %s}`,
2275				},
2276			},
2277		},
2278	},
2279	"providers/notes": {
2280		"containeranalysis": {
2281			"v1alpha1": IamRestResource{
2282				Name:                      "notes",
2283				TypeKey:                   "providers/notes",
2284				Service:                   "containeranalysis",
2285				IsPreferredVersion:        true,
2286				Parameters:                []string{"resource"},
2287				CollectionReplacementKeys: map[string]string{},
2288				GetMethod: RestMethod{
2289					HttpMethod: "POST",
2290					BaseURL:    "https://containeranalysis.googleapis.com/",
2291					Path:       "v1alpha1/{+resource}:getIamPolicy",
2292				},
2293				SetMethod: RestMethod{
2294					HttpMethod:    "POST",
2295					BaseURL:       "https://containeranalysis.googleapis.com/",
2296					Path:          "v1alpha1/{+resource}:setIamPolicy",
2297					RequestFormat: `{"policy": %s}`,
2298				},
2299			},
2300		},
2301	},
2302	"services": {
2303		"servicemanagement": {
2304			"v1": IamRestResource{
2305				Name:                      "services",
2306				TypeKey:                   "services",
2307				Service:                   "servicemanagement",
2308				IsPreferredVersion:        true,
2309				Parameters:                []string{"resource"},
2310				CollectionReplacementKeys: map[string]string{},
2311				GetMethod: RestMethod{
2312					HttpMethod: "POST",
2313					BaseURL:    "https://servicemanagement.googleapis.com/",
2314					Path:       "v1/{+resource}:getIamPolicy",
2315				},
2316				SetMethod: RestMethod{
2317					HttpMethod:    "POST",
2318					BaseURL:       "https://servicemanagement.googleapis.com/",
2319					Path:          "v1/{+resource}:setIamPolicy",
2320					RequestFormat: `{"policy": %s}`,
2321				},
2322			},
2323		},
2324	},
2325	"services/consumers": {
2326		"servicemanagement": {
2327			"v1": IamRestResource{
2328				Name:                      "consumers",
2329				TypeKey:                   "services/consumers",
2330				Service:                   "servicemanagement",
2331				IsPreferredVersion:        true,
2332				Parameters:                []string{"resource"},
2333				CollectionReplacementKeys: map[string]string{},
2334				GetMethod: RestMethod{
2335					HttpMethod: "POST",
2336					BaseURL:    "https://servicemanagement.googleapis.com/",
2337					Path:       "v1/{+resource}:getIamPolicy",
2338				},
2339				SetMethod: RestMethod{
2340					HttpMethod:    "POST",
2341					BaseURL:       "https://servicemanagement.googleapis.com/",
2342					Path:          "v1/{+resource}:setIamPolicy",
2343					RequestFormat: `{"policy": %s}`,
2344				},
2345			},
2346		},
2347	},
2348}
2349