1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/iam/admin/v1/iam.proto
20
21package admin
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	v1 "google.golang.org/genproto/googleapis/iam/v1"
30	expr "google.golang.org/genproto/googleapis/type/expr"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	_ "google.golang.org/protobuf/types/known/anypb"
37	emptypb "google.golang.org/protobuf/types/known/emptypb"
38	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
39	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// Supported key algorithms.
50type ServiceAccountKeyAlgorithm int32
51
52const (
53	// An unspecified key algorithm.
54	ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED ServiceAccountKeyAlgorithm = 0
55	// 1k RSA Key.
56	ServiceAccountKeyAlgorithm_KEY_ALG_RSA_1024 ServiceAccountKeyAlgorithm = 1
57	// 2k RSA Key.
58	ServiceAccountKeyAlgorithm_KEY_ALG_RSA_2048 ServiceAccountKeyAlgorithm = 2
59)
60
61// Enum value maps for ServiceAccountKeyAlgorithm.
62var (
63	ServiceAccountKeyAlgorithm_name = map[int32]string{
64		0: "KEY_ALG_UNSPECIFIED",
65		1: "KEY_ALG_RSA_1024",
66		2: "KEY_ALG_RSA_2048",
67	}
68	ServiceAccountKeyAlgorithm_value = map[string]int32{
69		"KEY_ALG_UNSPECIFIED": 0,
70		"KEY_ALG_RSA_1024":    1,
71		"KEY_ALG_RSA_2048":    2,
72	}
73)
74
75func (x ServiceAccountKeyAlgorithm) Enum() *ServiceAccountKeyAlgorithm {
76	p := new(ServiceAccountKeyAlgorithm)
77	*p = x
78	return p
79}
80
81func (x ServiceAccountKeyAlgorithm) String() string {
82	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
83}
84
85func (ServiceAccountKeyAlgorithm) Descriptor() protoreflect.EnumDescriptor {
86	return file_google_iam_admin_v1_iam_proto_enumTypes[0].Descriptor()
87}
88
89func (ServiceAccountKeyAlgorithm) Type() protoreflect.EnumType {
90	return &file_google_iam_admin_v1_iam_proto_enumTypes[0]
91}
92
93func (x ServiceAccountKeyAlgorithm) Number() protoreflect.EnumNumber {
94	return protoreflect.EnumNumber(x)
95}
96
97// Deprecated: Use ServiceAccountKeyAlgorithm.Descriptor instead.
98func (ServiceAccountKeyAlgorithm) EnumDescriptor() ([]byte, []int) {
99	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{0}
100}
101
102// Supported private key output formats.
103type ServiceAccountPrivateKeyType int32
104
105const (
106	// Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.
107	ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED ServiceAccountPrivateKeyType = 0
108	// PKCS12 format.
109	// The password for the PKCS12 file is `notasecret`.
110	// For more information, see https://tools.ietf.org/html/rfc7292.
111	ServiceAccountPrivateKeyType_TYPE_PKCS12_FILE ServiceAccountPrivateKeyType = 1
112	// Google Credentials File format.
113	ServiceAccountPrivateKeyType_TYPE_GOOGLE_CREDENTIALS_FILE ServiceAccountPrivateKeyType = 2
114)
115
116// Enum value maps for ServiceAccountPrivateKeyType.
117var (
118	ServiceAccountPrivateKeyType_name = map[int32]string{
119		0: "TYPE_UNSPECIFIED",
120		1: "TYPE_PKCS12_FILE",
121		2: "TYPE_GOOGLE_CREDENTIALS_FILE",
122	}
123	ServiceAccountPrivateKeyType_value = map[string]int32{
124		"TYPE_UNSPECIFIED":             0,
125		"TYPE_PKCS12_FILE":             1,
126		"TYPE_GOOGLE_CREDENTIALS_FILE": 2,
127	}
128)
129
130func (x ServiceAccountPrivateKeyType) Enum() *ServiceAccountPrivateKeyType {
131	p := new(ServiceAccountPrivateKeyType)
132	*p = x
133	return p
134}
135
136func (x ServiceAccountPrivateKeyType) String() string {
137	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
138}
139
140func (ServiceAccountPrivateKeyType) Descriptor() protoreflect.EnumDescriptor {
141	return file_google_iam_admin_v1_iam_proto_enumTypes[1].Descriptor()
142}
143
144func (ServiceAccountPrivateKeyType) Type() protoreflect.EnumType {
145	return &file_google_iam_admin_v1_iam_proto_enumTypes[1]
146}
147
148func (x ServiceAccountPrivateKeyType) Number() protoreflect.EnumNumber {
149	return protoreflect.EnumNumber(x)
150}
151
152// Deprecated: Use ServiceAccountPrivateKeyType.Descriptor instead.
153func (ServiceAccountPrivateKeyType) EnumDescriptor() ([]byte, []int) {
154	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{1}
155}
156
157// Supported public key output formats.
158type ServiceAccountPublicKeyType int32
159
160const (
161	// Unspecified. Returns nothing here.
162	ServiceAccountPublicKeyType_TYPE_NONE ServiceAccountPublicKeyType = 0
163	// X509 PEM format.
164	ServiceAccountPublicKeyType_TYPE_X509_PEM_FILE ServiceAccountPublicKeyType = 1
165	// Raw public key.
166	ServiceAccountPublicKeyType_TYPE_RAW_PUBLIC_KEY ServiceAccountPublicKeyType = 2
167)
168
169// Enum value maps for ServiceAccountPublicKeyType.
170var (
171	ServiceAccountPublicKeyType_name = map[int32]string{
172		0: "TYPE_NONE",
173		1: "TYPE_X509_PEM_FILE",
174		2: "TYPE_RAW_PUBLIC_KEY",
175	}
176	ServiceAccountPublicKeyType_value = map[string]int32{
177		"TYPE_NONE":           0,
178		"TYPE_X509_PEM_FILE":  1,
179		"TYPE_RAW_PUBLIC_KEY": 2,
180	}
181)
182
183func (x ServiceAccountPublicKeyType) Enum() *ServiceAccountPublicKeyType {
184	p := new(ServiceAccountPublicKeyType)
185	*p = x
186	return p
187}
188
189func (x ServiceAccountPublicKeyType) String() string {
190	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
191}
192
193func (ServiceAccountPublicKeyType) Descriptor() protoreflect.EnumDescriptor {
194	return file_google_iam_admin_v1_iam_proto_enumTypes[2].Descriptor()
195}
196
197func (ServiceAccountPublicKeyType) Type() protoreflect.EnumType {
198	return &file_google_iam_admin_v1_iam_proto_enumTypes[2]
199}
200
201func (x ServiceAccountPublicKeyType) Number() protoreflect.EnumNumber {
202	return protoreflect.EnumNumber(x)
203}
204
205// Deprecated: Use ServiceAccountPublicKeyType.Descriptor instead.
206func (ServiceAccountPublicKeyType) EnumDescriptor() ([]byte, []int) {
207	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{2}
208}
209
210// Service Account Key Origin.
211type ServiceAccountKeyOrigin int32
212
213const (
214	// Unspecified key origin.
215	ServiceAccountKeyOrigin_ORIGIN_UNSPECIFIED ServiceAccountKeyOrigin = 0
216	// Key is provided by user.
217	ServiceAccountKeyOrigin_USER_PROVIDED ServiceAccountKeyOrigin = 1
218	// Key is provided by Google.
219	ServiceAccountKeyOrigin_GOOGLE_PROVIDED ServiceAccountKeyOrigin = 2
220)
221
222// Enum value maps for ServiceAccountKeyOrigin.
223var (
224	ServiceAccountKeyOrigin_name = map[int32]string{
225		0: "ORIGIN_UNSPECIFIED",
226		1: "USER_PROVIDED",
227		2: "GOOGLE_PROVIDED",
228	}
229	ServiceAccountKeyOrigin_value = map[string]int32{
230		"ORIGIN_UNSPECIFIED": 0,
231		"USER_PROVIDED":      1,
232		"GOOGLE_PROVIDED":    2,
233	}
234)
235
236func (x ServiceAccountKeyOrigin) Enum() *ServiceAccountKeyOrigin {
237	p := new(ServiceAccountKeyOrigin)
238	*p = x
239	return p
240}
241
242func (x ServiceAccountKeyOrigin) String() string {
243	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
244}
245
246func (ServiceAccountKeyOrigin) Descriptor() protoreflect.EnumDescriptor {
247	return file_google_iam_admin_v1_iam_proto_enumTypes[3].Descriptor()
248}
249
250func (ServiceAccountKeyOrigin) Type() protoreflect.EnumType {
251	return &file_google_iam_admin_v1_iam_proto_enumTypes[3]
252}
253
254func (x ServiceAccountKeyOrigin) Number() protoreflect.EnumNumber {
255	return protoreflect.EnumNumber(x)
256}
257
258// Deprecated: Use ServiceAccountKeyOrigin.Descriptor instead.
259func (ServiceAccountKeyOrigin) EnumDescriptor() ([]byte, []int) {
260	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{3}
261}
262
263// A view for Role objects.
264type RoleView int32
265
266const (
267	// Omits the `included_permissions` field.
268	// This is the default value.
269	RoleView_BASIC RoleView = 0
270	// Returns all fields.
271	RoleView_FULL RoleView = 1
272)
273
274// Enum value maps for RoleView.
275var (
276	RoleView_name = map[int32]string{
277		0: "BASIC",
278		1: "FULL",
279	}
280	RoleView_value = map[string]int32{
281		"BASIC": 0,
282		"FULL":  1,
283	}
284)
285
286func (x RoleView) Enum() *RoleView {
287	p := new(RoleView)
288	*p = x
289	return p
290}
291
292func (x RoleView) String() string {
293	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
294}
295
296func (RoleView) Descriptor() protoreflect.EnumDescriptor {
297	return file_google_iam_admin_v1_iam_proto_enumTypes[4].Descriptor()
298}
299
300func (RoleView) Type() protoreflect.EnumType {
301	return &file_google_iam_admin_v1_iam_proto_enumTypes[4]
302}
303
304func (x RoleView) Number() protoreflect.EnumNumber {
305	return protoreflect.EnumNumber(x)
306}
307
308// Deprecated: Use RoleView.Descriptor instead.
309func (RoleView) EnumDescriptor() ([]byte, []int) {
310	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{4}
311}
312
313// `KeyType` filters to selectively retrieve certain varieties
314// of keys.
315type ListServiceAccountKeysRequest_KeyType int32
316
317const (
318	// Unspecified key type. The presence of this in the
319	// message will immediately result in an error.
320	ListServiceAccountKeysRequest_KEY_TYPE_UNSPECIFIED ListServiceAccountKeysRequest_KeyType = 0
321	// User-managed keys (managed and rotated by the user).
322	ListServiceAccountKeysRequest_USER_MANAGED ListServiceAccountKeysRequest_KeyType = 1
323	// System-managed keys (managed and rotated by Google).
324	ListServiceAccountKeysRequest_SYSTEM_MANAGED ListServiceAccountKeysRequest_KeyType = 2
325)
326
327// Enum value maps for ListServiceAccountKeysRequest_KeyType.
328var (
329	ListServiceAccountKeysRequest_KeyType_name = map[int32]string{
330		0: "KEY_TYPE_UNSPECIFIED",
331		1: "USER_MANAGED",
332		2: "SYSTEM_MANAGED",
333	}
334	ListServiceAccountKeysRequest_KeyType_value = map[string]int32{
335		"KEY_TYPE_UNSPECIFIED": 0,
336		"USER_MANAGED":         1,
337		"SYSTEM_MANAGED":       2,
338	}
339)
340
341func (x ListServiceAccountKeysRequest_KeyType) Enum() *ListServiceAccountKeysRequest_KeyType {
342	p := new(ListServiceAccountKeysRequest_KeyType)
343	*p = x
344	return p
345}
346
347func (x ListServiceAccountKeysRequest_KeyType) String() string {
348	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
349}
350
351func (ListServiceAccountKeysRequest_KeyType) Descriptor() protoreflect.EnumDescriptor {
352	return file_google_iam_admin_v1_iam_proto_enumTypes[5].Descriptor()
353}
354
355func (ListServiceAccountKeysRequest_KeyType) Type() protoreflect.EnumType {
356	return &file_google_iam_admin_v1_iam_proto_enumTypes[5]
357}
358
359func (x ListServiceAccountKeysRequest_KeyType) Number() protoreflect.EnumNumber {
360	return protoreflect.EnumNumber(x)
361}
362
363// Deprecated: Use ListServiceAccountKeysRequest_KeyType.Descriptor instead.
364func (ListServiceAccountKeysRequest_KeyType) EnumDescriptor() ([]byte, []int) {
365	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{11, 0}
366}
367
368// A stage representing a role's lifecycle phase.
369type Role_RoleLaunchStage int32
370
371const (
372	// The user has indicated this role is currently in an Alpha phase. If this
373	// launch stage is selected, the `stage` field will not be included when
374	// requesting the definition for a given role.
375	Role_ALPHA Role_RoleLaunchStage = 0
376	// The user has indicated this role is currently in a Beta phase.
377	Role_BETA Role_RoleLaunchStage = 1
378	// The user has indicated this role is generally available.
379	Role_GA Role_RoleLaunchStage = 2
380	// The user has indicated this role is being deprecated.
381	Role_DEPRECATED Role_RoleLaunchStage = 4
382	// This role is disabled and will not contribute permissions to any members
383	// it is granted to in policies.
384	Role_DISABLED Role_RoleLaunchStage = 5
385	// The user has indicated this role is currently in an EAP phase.
386	Role_EAP Role_RoleLaunchStage = 6
387)
388
389// Enum value maps for Role_RoleLaunchStage.
390var (
391	Role_RoleLaunchStage_name = map[int32]string{
392		0: "ALPHA",
393		1: "BETA",
394		2: "GA",
395		4: "DEPRECATED",
396		5: "DISABLED",
397		6: "EAP",
398	}
399	Role_RoleLaunchStage_value = map[string]int32{
400		"ALPHA":      0,
401		"BETA":       1,
402		"GA":         2,
403		"DEPRECATED": 4,
404		"DISABLED":   5,
405		"EAP":        6,
406	}
407)
408
409func (x Role_RoleLaunchStage) Enum() *Role_RoleLaunchStage {
410	p := new(Role_RoleLaunchStage)
411	*p = x
412	return p
413}
414
415func (x Role_RoleLaunchStage) String() string {
416	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
417}
418
419func (Role_RoleLaunchStage) Descriptor() protoreflect.EnumDescriptor {
420	return file_google_iam_admin_v1_iam_proto_enumTypes[6].Descriptor()
421}
422
423func (Role_RoleLaunchStage) Type() protoreflect.EnumType {
424	return &file_google_iam_admin_v1_iam_proto_enumTypes[6]
425}
426
427func (x Role_RoleLaunchStage) Number() protoreflect.EnumNumber {
428	return protoreflect.EnumNumber(x)
429}
430
431// Deprecated: Use Role_RoleLaunchStage.Descriptor instead.
432func (Role_RoleLaunchStage) EnumDescriptor() ([]byte, []int) {
433	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{22, 0}
434}
435
436// A stage representing a permission's lifecycle phase.
437type Permission_PermissionLaunchStage int32
438
439const (
440	// The permission is currently in an alpha phase.
441	Permission_ALPHA Permission_PermissionLaunchStage = 0
442	// The permission is currently in a beta phase.
443	Permission_BETA Permission_PermissionLaunchStage = 1
444	// The permission is generally available.
445	Permission_GA Permission_PermissionLaunchStage = 2
446	// The permission is being deprecated.
447	Permission_DEPRECATED Permission_PermissionLaunchStage = 3
448)
449
450// Enum value maps for Permission_PermissionLaunchStage.
451var (
452	Permission_PermissionLaunchStage_name = map[int32]string{
453		0: "ALPHA",
454		1: "BETA",
455		2: "GA",
456		3: "DEPRECATED",
457	}
458	Permission_PermissionLaunchStage_value = map[string]int32{
459		"ALPHA":      0,
460		"BETA":       1,
461		"GA":         2,
462		"DEPRECATED": 3,
463	}
464)
465
466func (x Permission_PermissionLaunchStage) Enum() *Permission_PermissionLaunchStage {
467	p := new(Permission_PermissionLaunchStage)
468	*p = x
469	return p
470}
471
472func (x Permission_PermissionLaunchStage) String() string {
473	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
474}
475
476func (Permission_PermissionLaunchStage) Descriptor() protoreflect.EnumDescriptor {
477	return file_google_iam_admin_v1_iam_proto_enumTypes[7].Descriptor()
478}
479
480func (Permission_PermissionLaunchStage) Type() protoreflect.EnumType {
481	return &file_google_iam_admin_v1_iam_proto_enumTypes[7]
482}
483
484func (x Permission_PermissionLaunchStage) Number() protoreflect.EnumNumber {
485	return protoreflect.EnumNumber(x)
486}
487
488// Deprecated: Use Permission_PermissionLaunchStage.Descriptor instead.
489func (Permission_PermissionLaunchStage) EnumDescriptor() ([]byte, []int) {
490	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{32, 0}
491}
492
493// The state of the permission with regards to custom roles.
494type Permission_CustomRolesSupportLevel int32
495
496const (
497	// Permission is fully supported for custom role use.
498	Permission_SUPPORTED Permission_CustomRolesSupportLevel = 0
499	// Permission is being tested to check custom role compatibility.
500	Permission_TESTING Permission_CustomRolesSupportLevel = 1
501	// Permission is not supported for custom role use.
502	Permission_NOT_SUPPORTED Permission_CustomRolesSupportLevel = 2
503)
504
505// Enum value maps for Permission_CustomRolesSupportLevel.
506var (
507	Permission_CustomRolesSupportLevel_name = map[int32]string{
508		0: "SUPPORTED",
509		1: "TESTING",
510		2: "NOT_SUPPORTED",
511	}
512	Permission_CustomRolesSupportLevel_value = map[string]int32{
513		"SUPPORTED":     0,
514		"TESTING":       1,
515		"NOT_SUPPORTED": 2,
516	}
517)
518
519func (x Permission_CustomRolesSupportLevel) Enum() *Permission_CustomRolesSupportLevel {
520	p := new(Permission_CustomRolesSupportLevel)
521	*p = x
522	return p
523}
524
525func (x Permission_CustomRolesSupportLevel) String() string {
526	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
527}
528
529func (Permission_CustomRolesSupportLevel) Descriptor() protoreflect.EnumDescriptor {
530	return file_google_iam_admin_v1_iam_proto_enumTypes[8].Descriptor()
531}
532
533func (Permission_CustomRolesSupportLevel) Type() protoreflect.EnumType {
534	return &file_google_iam_admin_v1_iam_proto_enumTypes[8]
535}
536
537func (x Permission_CustomRolesSupportLevel) Number() protoreflect.EnumNumber {
538	return protoreflect.EnumNumber(x)
539}
540
541// Deprecated: Use Permission_CustomRolesSupportLevel.Descriptor instead.
542func (Permission_CustomRolesSupportLevel) EnumDescriptor() ([]byte, []int) {
543	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{32, 1}
544}
545
546// Possible Level values of a validation unit corresponding to its domain
547// of discourse.
548type LintResult_Level int32
549
550const (
551	// Level is unspecified.
552	LintResult_LEVEL_UNSPECIFIED LintResult_Level = 0
553	// A validation unit which operates on an individual condition within a
554	// binding.
555	LintResult_CONDITION LintResult_Level = 3
556)
557
558// Enum value maps for LintResult_Level.
559var (
560	LintResult_Level_name = map[int32]string{
561		0: "LEVEL_UNSPECIFIED",
562		3: "CONDITION",
563	}
564	LintResult_Level_value = map[string]int32{
565		"LEVEL_UNSPECIFIED": 0,
566		"CONDITION":         3,
567	}
568)
569
570func (x LintResult_Level) Enum() *LintResult_Level {
571	p := new(LintResult_Level)
572	*p = x
573	return p
574}
575
576func (x LintResult_Level) String() string {
577	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
578}
579
580func (LintResult_Level) Descriptor() protoreflect.EnumDescriptor {
581	return file_google_iam_admin_v1_iam_proto_enumTypes[9].Descriptor()
582}
583
584func (LintResult_Level) Type() protoreflect.EnumType {
585	return &file_google_iam_admin_v1_iam_proto_enumTypes[9]
586}
587
588func (x LintResult_Level) Number() protoreflect.EnumNumber {
589	return protoreflect.EnumNumber(x)
590}
591
592// Deprecated: Use LintResult_Level.Descriptor instead.
593func (LintResult_Level) EnumDescriptor() ([]byte, []int) {
594	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{38, 0}
595}
596
597// Possible Severity values of an issued result.
598type LintResult_Severity int32
599
600const (
601	// Severity is unspecified.
602	LintResult_SEVERITY_UNSPECIFIED LintResult_Severity = 0
603	// A validation unit returns an error only for critical issues. If an
604	// attempt is made to set the problematic policy without rectifying the
605	// critical issue, it causes the `setPolicy` operation to fail.
606	LintResult_ERROR LintResult_Severity = 1
607	// Any issue which is severe enough but does not cause an error.
608	// For example, suspicious constructs in the input object will not
609	// necessarily fail `setPolicy`, but there is a high likelihood that they
610	// won't behave as expected during policy evaluation in `checkPolicy`.
611	// This includes the following common scenarios:
612	//
613	// - Unsatisfiable condition: Expired timestamp in date/time condition.
614	// - Ineffective condition: Condition on a <member, role> pair which is
615	//   granted unconditionally in another binding of the same policy.
616	LintResult_WARNING LintResult_Severity = 2
617	// Reserved for the issues that are not severe as `ERROR`/`WARNING`, but
618	// need special handling. For instance, messages about skipped validation
619	// units are issued as `NOTICE`.
620	LintResult_NOTICE LintResult_Severity = 3
621	// Any informative statement which is not severe enough to raise
622	// `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the
623	// input content. Note that current version of the linter does not utilize
624	// `INFO`.
625	LintResult_INFO LintResult_Severity = 4
626	// Deprecated severity level.
627	LintResult_DEPRECATED LintResult_Severity = 5
628)
629
630// Enum value maps for LintResult_Severity.
631var (
632	LintResult_Severity_name = map[int32]string{
633		0: "SEVERITY_UNSPECIFIED",
634		1: "ERROR",
635		2: "WARNING",
636		3: "NOTICE",
637		4: "INFO",
638		5: "DEPRECATED",
639	}
640	LintResult_Severity_value = map[string]int32{
641		"SEVERITY_UNSPECIFIED": 0,
642		"ERROR":                1,
643		"WARNING":              2,
644		"NOTICE":               3,
645		"INFO":                 4,
646		"DEPRECATED":           5,
647	}
648)
649
650func (x LintResult_Severity) Enum() *LintResult_Severity {
651	p := new(LintResult_Severity)
652	*p = x
653	return p
654}
655
656func (x LintResult_Severity) String() string {
657	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
658}
659
660func (LintResult_Severity) Descriptor() protoreflect.EnumDescriptor {
661	return file_google_iam_admin_v1_iam_proto_enumTypes[10].Descriptor()
662}
663
664func (LintResult_Severity) Type() protoreflect.EnumType {
665	return &file_google_iam_admin_v1_iam_proto_enumTypes[10]
666}
667
668func (x LintResult_Severity) Number() protoreflect.EnumNumber {
669	return protoreflect.EnumNumber(x)
670}
671
672// Deprecated: Use LintResult_Severity.Descriptor instead.
673func (LintResult_Severity) EnumDescriptor() ([]byte, []int) {
674	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{38, 1}
675}
676
677// An IAM service account.
678//
679// A service account is an account for an application or a virtual machine (VM)
680// instance, not a person. You can use a service account to call Google APIs. To
681// learn more, read the [overview of service
682// accounts](https://cloud.google.com/iam/help/service-accounts/overview).
683//
684// When you create a service account, you specify the project ID that owns the
685// service account, as well as a name that must be unique within the project.
686// IAM uses these values to create an email address that identifies the service
687// account.
688type ServiceAccount struct {
689	state         protoimpl.MessageState
690	sizeCache     protoimpl.SizeCache
691	unknownFields protoimpl.UnknownFields
692
693	// The resource name of the service account.
694	//
695	// Use one of the following formats:
696	//
697	// * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`
698	// * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`
699	//
700	// As an alternative, you can use the `-` wildcard character instead of the
701	// project ID:
702	//
703	// * `projects/-/serviceAccounts/{EMAIL_ADDRESS}`
704	// * `projects/-/serviceAccounts/{UNIQUE_ID}`
705	//
706	// When possible, avoid using the `-` wildcard character, because it can cause
707	// response messages to contain misleading error codes. For example, if you
708	// try to get the service account
709	// `projects/-/serviceAccounts/fake@example.com`, which does not exist, the
710	// response contains an HTTP `403 Forbidden` error instead of a `404 Not
711	// Found` error.
712	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
713	// Output only. The ID of the project that owns the service account.
714	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
715	// Output only. The unique, stable numeric ID for the service account.
716	//
717	// Each service account retains its unique ID even if you delete the service
718	// account. For example, if you delete a service account, then create a new
719	// service account with the same name, the new service account has a different
720	// unique ID than the deleted service account.
721	UniqueId string `protobuf:"bytes,4,opt,name=unique_id,json=uniqueId,proto3" json:"unique_id,omitempty"`
722	// Output only. The email address of the service account.
723	Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
724	// Optional. A user-specified, human-readable name for the service account. The maximum
725	// length is 100 UTF-8 bytes.
726	DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
727	// Deprecated. Do not use.
728	//
729	// Deprecated: Do not use.
730	Etag []byte `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
731	// Optional. A user-specified, human-readable description of the service account. The
732	// maximum length is 256 UTF-8 bytes.
733	Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
734	// Output only. The OAuth 2.0 client ID for the service account.
735	Oauth2ClientId string `protobuf:"bytes,9,opt,name=oauth2_client_id,json=oauth2ClientId,proto3" json:"oauth2_client_id,omitempty"`
736	// Output only. Whether the service account is disabled.
737	Disabled bool `protobuf:"varint,11,opt,name=disabled,proto3" json:"disabled,omitempty"`
738}
739
740func (x *ServiceAccount) Reset() {
741	*x = ServiceAccount{}
742	if protoimpl.UnsafeEnabled {
743		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[0]
744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
745		ms.StoreMessageInfo(mi)
746	}
747}
748
749func (x *ServiceAccount) String() string {
750	return protoimpl.X.MessageStringOf(x)
751}
752
753func (*ServiceAccount) ProtoMessage() {}
754
755func (x *ServiceAccount) ProtoReflect() protoreflect.Message {
756	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[0]
757	if protoimpl.UnsafeEnabled && x != nil {
758		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
759		if ms.LoadMessageInfo() == nil {
760			ms.StoreMessageInfo(mi)
761		}
762		return ms
763	}
764	return mi.MessageOf(x)
765}
766
767// Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead.
768func (*ServiceAccount) Descriptor() ([]byte, []int) {
769	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{0}
770}
771
772func (x *ServiceAccount) GetName() string {
773	if x != nil {
774		return x.Name
775	}
776	return ""
777}
778
779func (x *ServiceAccount) GetProjectId() string {
780	if x != nil {
781		return x.ProjectId
782	}
783	return ""
784}
785
786func (x *ServiceAccount) GetUniqueId() string {
787	if x != nil {
788		return x.UniqueId
789	}
790	return ""
791}
792
793func (x *ServiceAccount) GetEmail() string {
794	if x != nil {
795		return x.Email
796	}
797	return ""
798}
799
800func (x *ServiceAccount) GetDisplayName() string {
801	if x != nil {
802		return x.DisplayName
803	}
804	return ""
805}
806
807// Deprecated: Do not use.
808func (x *ServiceAccount) GetEtag() []byte {
809	if x != nil {
810		return x.Etag
811	}
812	return nil
813}
814
815func (x *ServiceAccount) GetDescription() string {
816	if x != nil {
817		return x.Description
818	}
819	return ""
820}
821
822func (x *ServiceAccount) GetOauth2ClientId() string {
823	if x != nil {
824		return x.Oauth2ClientId
825	}
826	return ""
827}
828
829func (x *ServiceAccount) GetDisabled() bool {
830	if x != nil {
831		return x.Disabled
832	}
833	return false
834}
835
836// The service account create request.
837type CreateServiceAccountRequest struct {
838	state         protoimpl.MessageState
839	sizeCache     protoimpl.SizeCache
840	unknownFields protoimpl.UnknownFields
841
842	// Required. The resource name of the project associated with the service
843	// accounts, such as `projects/my-project-123`.
844	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
845	// Required. The account id that is used to generate the service account
846	// email address and a stable unique id. It is unique within a project,
847	// must be 6-30 characters long, and match the regular expression
848	// `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
849	AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
850	// The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to
851	// create. Currently, only the following values are user assignable:
852	// `display_name` and `description`.
853	ServiceAccount *ServiceAccount `protobuf:"bytes,3,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
854}
855
856func (x *CreateServiceAccountRequest) Reset() {
857	*x = CreateServiceAccountRequest{}
858	if protoimpl.UnsafeEnabled {
859		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[1]
860		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
861		ms.StoreMessageInfo(mi)
862	}
863}
864
865func (x *CreateServiceAccountRequest) String() string {
866	return protoimpl.X.MessageStringOf(x)
867}
868
869func (*CreateServiceAccountRequest) ProtoMessage() {}
870
871func (x *CreateServiceAccountRequest) ProtoReflect() protoreflect.Message {
872	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[1]
873	if protoimpl.UnsafeEnabled && x != nil {
874		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
875		if ms.LoadMessageInfo() == nil {
876			ms.StoreMessageInfo(mi)
877		}
878		return ms
879	}
880	return mi.MessageOf(x)
881}
882
883// Deprecated: Use CreateServiceAccountRequest.ProtoReflect.Descriptor instead.
884func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) {
885	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{1}
886}
887
888func (x *CreateServiceAccountRequest) GetName() string {
889	if x != nil {
890		return x.Name
891	}
892	return ""
893}
894
895func (x *CreateServiceAccountRequest) GetAccountId() string {
896	if x != nil {
897		return x.AccountId
898	}
899	return ""
900}
901
902func (x *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
903	if x != nil {
904		return x.ServiceAccount
905	}
906	return nil
907}
908
909// The service account list request.
910type ListServiceAccountsRequest struct {
911	state         protoimpl.MessageState
912	sizeCache     protoimpl.SizeCache
913	unknownFields protoimpl.UnknownFields
914
915	// Required. The resource name of the project associated with the service
916	// accounts, such as `projects/my-project-123`.
917	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
918	// Optional limit on the number of service accounts to include in the
919	// response. Further accounts can subsequently be obtained by including the
920	// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]
921	// in a subsequent request.
922	//
923	// The default is 20, and the maximum is 100.
924	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
925	// Optional pagination token returned in an earlier
926	// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token].
927	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
928}
929
930func (x *ListServiceAccountsRequest) Reset() {
931	*x = ListServiceAccountsRequest{}
932	if protoimpl.UnsafeEnabled {
933		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[2]
934		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
935		ms.StoreMessageInfo(mi)
936	}
937}
938
939func (x *ListServiceAccountsRequest) String() string {
940	return protoimpl.X.MessageStringOf(x)
941}
942
943func (*ListServiceAccountsRequest) ProtoMessage() {}
944
945func (x *ListServiceAccountsRequest) ProtoReflect() protoreflect.Message {
946	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[2]
947	if protoimpl.UnsafeEnabled && x != nil {
948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949		if ms.LoadMessageInfo() == nil {
950			ms.StoreMessageInfo(mi)
951		}
952		return ms
953	}
954	return mi.MessageOf(x)
955}
956
957// Deprecated: Use ListServiceAccountsRequest.ProtoReflect.Descriptor instead.
958func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) {
959	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{2}
960}
961
962func (x *ListServiceAccountsRequest) GetName() string {
963	if x != nil {
964		return x.Name
965	}
966	return ""
967}
968
969func (x *ListServiceAccountsRequest) GetPageSize() int32 {
970	if x != nil {
971		return x.PageSize
972	}
973	return 0
974}
975
976func (x *ListServiceAccountsRequest) GetPageToken() string {
977	if x != nil {
978		return x.PageToken
979	}
980	return ""
981}
982
983// The service account list response.
984type ListServiceAccountsResponse struct {
985	state         protoimpl.MessageState
986	sizeCache     protoimpl.SizeCache
987	unknownFields protoimpl.UnknownFields
988
989	// The list of matching service accounts.
990	Accounts []*ServiceAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"`
991	// To retrieve the next page of results, set
992	// [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token]
993	// to this value.
994	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
995}
996
997func (x *ListServiceAccountsResponse) Reset() {
998	*x = ListServiceAccountsResponse{}
999	if protoimpl.UnsafeEnabled {
1000		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[3]
1001		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1002		ms.StoreMessageInfo(mi)
1003	}
1004}
1005
1006func (x *ListServiceAccountsResponse) String() string {
1007	return protoimpl.X.MessageStringOf(x)
1008}
1009
1010func (*ListServiceAccountsResponse) ProtoMessage() {}
1011
1012func (x *ListServiceAccountsResponse) ProtoReflect() protoreflect.Message {
1013	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[3]
1014	if protoimpl.UnsafeEnabled && x != nil {
1015		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1016		if ms.LoadMessageInfo() == nil {
1017			ms.StoreMessageInfo(mi)
1018		}
1019		return ms
1020	}
1021	return mi.MessageOf(x)
1022}
1023
1024// Deprecated: Use ListServiceAccountsResponse.ProtoReflect.Descriptor instead.
1025func (*ListServiceAccountsResponse) Descriptor() ([]byte, []int) {
1026	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{3}
1027}
1028
1029func (x *ListServiceAccountsResponse) GetAccounts() []*ServiceAccount {
1030	if x != nil {
1031		return x.Accounts
1032	}
1033	return nil
1034}
1035
1036func (x *ListServiceAccountsResponse) GetNextPageToken() string {
1037	if x != nil {
1038		return x.NextPageToken
1039	}
1040	return ""
1041}
1042
1043// The service account get request.
1044type GetServiceAccountRequest struct {
1045	state         protoimpl.MessageState
1046	sizeCache     protoimpl.SizeCache
1047	unknownFields protoimpl.UnknownFields
1048
1049	// Required. The resource name of the service account in the following format:
1050	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1051	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1052	// the account. The `ACCOUNT` value can be the `email` address or the
1053	// `unique_id` of the service account.
1054	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1055}
1056
1057func (x *GetServiceAccountRequest) Reset() {
1058	*x = GetServiceAccountRequest{}
1059	if protoimpl.UnsafeEnabled {
1060		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[4]
1061		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1062		ms.StoreMessageInfo(mi)
1063	}
1064}
1065
1066func (x *GetServiceAccountRequest) String() string {
1067	return protoimpl.X.MessageStringOf(x)
1068}
1069
1070func (*GetServiceAccountRequest) ProtoMessage() {}
1071
1072func (x *GetServiceAccountRequest) ProtoReflect() protoreflect.Message {
1073	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[4]
1074	if protoimpl.UnsafeEnabled && x != nil {
1075		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1076		if ms.LoadMessageInfo() == nil {
1077			ms.StoreMessageInfo(mi)
1078		}
1079		return ms
1080	}
1081	return mi.MessageOf(x)
1082}
1083
1084// Deprecated: Use GetServiceAccountRequest.ProtoReflect.Descriptor instead.
1085func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) {
1086	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{4}
1087}
1088
1089func (x *GetServiceAccountRequest) GetName() string {
1090	if x != nil {
1091		return x.Name
1092	}
1093	return ""
1094}
1095
1096// The service account delete request.
1097type DeleteServiceAccountRequest struct {
1098	state         protoimpl.MessageState
1099	sizeCache     protoimpl.SizeCache
1100	unknownFields protoimpl.UnknownFields
1101
1102	// Required. The resource name of the service account in the following format:
1103	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1104	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1105	// the account. The `ACCOUNT` value can be the `email` address or the
1106	// `unique_id` of the service account.
1107	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1108}
1109
1110func (x *DeleteServiceAccountRequest) Reset() {
1111	*x = DeleteServiceAccountRequest{}
1112	if protoimpl.UnsafeEnabled {
1113		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[5]
1114		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1115		ms.StoreMessageInfo(mi)
1116	}
1117}
1118
1119func (x *DeleteServiceAccountRequest) String() string {
1120	return protoimpl.X.MessageStringOf(x)
1121}
1122
1123func (*DeleteServiceAccountRequest) ProtoMessage() {}
1124
1125func (x *DeleteServiceAccountRequest) ProtoReflect() protoreflect.Message {
1126	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[5]
1127	if protoimpl.UnsafeEnabled && x != nil {
1128		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1129		if ms.LoadMessageInfo() == nil {
1130			ms.StoreMessageInfo(mi)
1131		}
1132		return ms
1133	}
1134	return mi.MessageOf(x)
1135}
1136
1137// Deprecated: Use DeleteServiceAccountRequest.ProtoReflect.Descriptor instead.
1138func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) {
1139	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{5}
1140}
1141
1142func (x *DeleteServiceAccountRequest) GetName() string {
1143	if x != nil {
1144		return x.Name
1145	}
1146	return ""
1147}
1148
1149// The request for
1150// [PatchServiceAccount][google.iam.admin.v1.PatchServiceAccount].
1151//
1152// You can patch only the `display_name` and `description` fields. You must use
1153// the `update_mask` field to specify which of these fields you want to patch.
1154//
1155// Only the fields specified in the request are guaranteed to be returned in
1156// the response. Other fields may be empty in the response.
1157type PatchServiceAccountRequest struct {
1158	state         protoimpl.MessageState
1159	sizeCache     protoimpl.SizeCache
1160	unknownFields protoimpl.UnknownFields
1161
1162	ServiceAccount *ServiceAccount        `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
1163	UpdateMask     *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1164}
1165
1166func (x *PatchServiceAccountRequest) Reset() {
1167	*x = PatchServiceAccountRequest{}
1168	if protoimpl.UnsafeEnabled {
1169		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[6]
1170		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1171		ms.StoreMessageInfo(mi)
1172	}
1173}
1174
1175func (x *PatchServiceAccountRequest) String() string {
1176	return protoimpl.X.MessageStringOf(x)
1177}
1178
1179func (*PatchServiceAccountRequest) ProtoMessage() {}
1180
1181func (x *PatchServiceAccountRequest) ProtoReflect() protoreflect.Message {
1182	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[6]
1183	if protoimpl.UnsafeEnabled && x != nil {
1184		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1185		if ms.LoadMessageInfo() == nil {
1186			ms.StoreMessageInfo(mi)
1187		}
1188		return ms
1189	}
1190	return mi.MessageOf(x)
1191}
1192
1193// Deprecated: Use PatchServiceAccountRequest.ProtoReflect.Descriptor instead.
1194func (*PatchServiceAccountRequest) Descriptor() ([]byte, []int) {
1195	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{6}
1196}
1197
1198func (x *PatchServiceAccountRequest) GetServiceAccount() *ServiceAccount {
1199	if x != nil {
1200		return x.ServiceAccount
1201	}
1202	return nil
1203}
1204
1205func (x *PatchServiceAccountRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1206	if x != nil {
1207		return x.UpdateMask
1208	}
1209	return nil
1210}
1211
1212// The service account undelete request.
1213type UndeleteServiceAccountRequest struct {
1214	state         protoimpl.MessageState
1215	sizeCache     protoimpl.SizeCache
1216	unknownFields protoimpl.UnknownFields
1217
1218	// The resource name of the service account in the following format:
1219	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`.
1220	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1221	// the account.
1222	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1223}
1224
1225func (x *UndeleteServiceAccountRequest) Reset() {
1226	*x = UndeleteServiceAccountRequest{}
1227	if protoimpl.UnsafeEnabled {
1228		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[7]
1229		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1230		ms.StoreMessageInfo(mi)
1231	}
1232}
1233
1234func (x *UndeleteServiceAccountRequest) String() string {
1235	return protoimpl.X.MessageStringOf(x)
1236}
1237
1238func (*UndeleteServiceAccountRequest) ProtoMessage() {}
1239
1240func (x *UndeleteServiceAccountRequest) ProtoReflect() protoreflect.Message {
1241	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[7]
1242	if protoimpl.UnsafeEnabled && x != nil {
1243		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1244		if ms.LoadMessageInfo() == nil {
1245			ms.StoreMessageInfo(mi)
1246		}
1247		return ms
1248	}
1249	return mi.MessageOf(x)
1250}
1251
1252// Deprecated: Use UndeleteServiceAccountRequest.ProtoReflect.Descriptor instead.
1253func (*UndeleteServiceAccountRequest) Descriptor() ([]byte, []int) {
1254	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{7}
1255}
1256
1257func (x *UndeleteServiceAccountRequest) GetName() string {
1258	if x != nil {
1259		return x.Name
1260	}
1261	return ""
1262}
1263
1264type UndeleteServiceAccountResponse struct {
1265	state         protoimpl.MessageState
1266	sizeCache     protoimpl.SizeCache
1267	unknownFields protoimpl.UnknownFields
1268
1269	// Metadata for the restored service account.
1270	RestoredAccount *ServiceAccount `protobuf:"bytes,1,opt,name=restored_account,json=restoredAccount,proto3" json:"restored_account,omitempty"`
1271}
1272
1273func (x *UndeleteServiceAccountResponse) Reset() {
1274	*x = UndeleteServiceAccountResponse{}
1275	if protoimpl.UnsafeEnabled {
1276		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[8]
1277		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1278		ms.StoreMessageInfo(mi)
1279	}
1280}
1281
1282func (x *UndeleteServiceAccountResponse) String() string {
1283	return protoimpl.X.MessageStringOf(x)
1284}
1285
1286func (*UndeleteServiceAccountResponse) ProtoMessage() {}
1287
1288func (x *UndeleteServiceAccountResponse) ProtoReflect() protoreflect.Message {
1289	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[8]
1290	if protoimpl.UnsafeEnabled && x != nil {
1291		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1292		if ms.LoadMessageInfo() == nil {
1293			ms.StoreMessageInfo(mi)
1294		}
1295		return ms
1296	}
1297	return mi.MessageOf(x)
1298}
1299
1300// Deprecated: Use UndeleteServiceAccountResponse.ProtoReflect.Descriptor instead.
1301func (*UndeleteServiceAccountResponse) Descriptor() ([]byte, []int) {
1302	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{8}
1303}
1304
1305func (x *UndeleteServiceAccountResponse) GetRestoredAccount() *ServiceAccount {
1306	if x != nil {
1307		return x.RestoredAccount
1308	}
1309	return nil
1310}
1311
1312// The service account enable request.
1313type EnableServiceAccountRequest struct {
1314	state         protoimpl.MessageState
1315	sizeCache     protoimpl.SizeCache
1316	unknownFields protoimpl.UnknownFields
1317
1318	// The resource name of the service account in the following format:
1319	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1320	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1321	// the account. The `ACCOUNT` value can be the `email` address or the
1322	// `unique_id` of the service account.
1323	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1324}
1325
1326func (x *EnableServiceAccountRequest) Reset() {
1327	*x = EnableServiceAccountRequest{}
1328	if protoimpl.UnsafeEnabled {
1329		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[9]
1330		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1331		ms.StoreMessageInfo(mi)
1332	}
1333}
1334
1335func (x *EnableServiceAccountRequest) String() string {
1336	return protoimpl.X.MessageStringOf(x)
1337}
1338
1339func (*EnableServiceAccountRequest) ProtoMessage() {}
1340
1341func (x *EnableServiceAccountRequest) ProtoReflect() protoreflect.Message {
1342	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[9]
1343	if protoimpl.UnsafeEnabled && x != nil {
1344		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1345		if ms.LoadMessageInfo() == nil {
1346			ms.StoreMessageInfo(mi)
1347		}
1348		return ms
1349	}
1350	return mi.MessageOf(x)
1351}
1352
1353// Deprecated: Use EnableServiceAccountRequest.ProtoReflect.Descriptor instead.
1354func (*EnableServiceAccountRequest) Descriptor() ([]byte, []int) {
1355	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{9}
1356}
1357
1358func (x *EnableServiceAccountRequest) GetName() string {
1359	if x != nil {
1360		return x.Name
1361	}
1362	return ""
1363}
1364
1365// The service account disable request.
1366type DisableServiceAccountRequest struct {
1367	state         protoimpl.MessageState
1368	sizeCache     protoimpl.SizeCache
1369	unknownFields protoimpl.UnknownFields
1370
1371	// The resource name of the service account in the following format:
1372	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1373	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1374	// the account. The `ACCOUNT` value can be the `email` address or the
1375	// `unique_id` of the service account.
1376	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1377}
1378
1379func (x *DisableServiceAccountRequest) Reset() {
1380	*x = DisableServiceAccountRequest{}
1381	if protoimpl.UnsafeEnabled {
1382		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[10]
1383		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1384		ms.StoreMessageInfo(mi)
1385	}
1386}
1387
1388func (x *DisableServiceAccountRequest) String() string {
1389	return protoimpl.X.MessageStringOf(x)
1390}
1391
1392func (*DisableServiceAccountRequest) ProtoMessage() {}
1393
1394func (x *DisableServiceAccountRequest) ProtoReflect() protoreflect.Message {
1395	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[10]
1396	if protoimpl.UnsafeEnabled && x != nil {
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		if ms.LoadMessageInfo() == nil {
1399			ms.StoreMessageInfo(mi)
1400		}
1401		return ms
1402	}
1403	return mi.MessageOf(x)
1404}
1405
1406// Deprecated: Use DisableServiceAccountRequest.ProtoReflect.Descriptor instead.
1407func (*DisableServiceAccountRequest) Descriptor() ([]byte, []int) {
1408	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{10}
1409}
1410
1411func (x *DisableServiceAccountRequest) GetName() string {
1412	if x != nil {
1413		return x.Name
1414	}
1415	return ""
1416}
1417
1418// The service account keys list request.
1419type ListServiceAccountKeysRequest struct {
1420	state         protoimpl.MessageState
1421	sizeCache     protoimpl.SizeCache
1422	unknownFields protoimpl.UnknownFields
1423
1424	// Required. The resource name of the service account in the following format:
1425	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1426	//
1427	// Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from
1428	// the account. The `ACCOUNT` value can be the `email` address or the
1429	// `unique_id` of the service account.
1430	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1431	// Filters the types of keys the user wants to include in the list
1432	// response. Duplicate key types are not allowed. If no key type
1433	// is provided, all keys are returned.
1434	KeyTypes []ListServiceAccountKeysRequest_KeyType `protobuf:"varint,2,rep,packed,name=key_types,json=keyTypes,proto3,enum=google.iam.admin.v1.ListServiceAccountKeysRequest_KeyType" json:"key_types,omitempty"`
1435}
1436
1437func (x *ListServiceAccountKeysRequest) Reset() {
1438	*x = ListServiceAccountKeysRequest{}
1439	if protoimpl.UnsafeEnabled {
1440		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[11]
1441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1442		ms.StoreMessageInfo(mi)
1443	}
1444}
1445
1446func (x *ListServiceAccountKeysRequest) String() string {
1447	return protoimpl.X.MessageStringOf(x)
1448}
1449
1450func (*ListServiceAccountKeysRequest) ProtoMessage() {}
1451
1452func (x *ListServiceAccountKeysRequest) ProtoReflect() protoreflect.Message {
1453	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[11]
1454	if protoimpl.UnsafeEnabled && x != nil {
1455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1456		if ms.LoadMessageInfo() == nil {
1457			ms.StoreMessageInfo(mi)
1458		}
1459		return ms
1460	}
1461	return mi.MessageOf(x)
1462}
1463
1464// Deprecated: Use ListServiceAccountKeysRequest.ProtoReflect.Descriptor instead.
1465func (*ListServiceAccountKeysRequest) Descriptor() ([]byte, []int) {
1466	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{11}
1467}
1468
1469func (x *ListServiceAccountKeysRequest) GetName() string {
1470	if x != nil {
1471		return x.Name
1472	}
1473	return ""
1474}
1475
1476func (x *ListServiceAccountKeysRequest) GetKeyTypes() []ListServiceAccountKeysRequest_KeyType {
1477	if x != nil {
1478		return x.KeyTypes
1479	}
1480	return nil
1481}
1482
1483// The service account keys list response.
1484type ListServiceAccountKeysResponse struct {
1485	state         protoimpl.MessageState
1486	sizeCache     protoimpl.SizeCache
1487	unknownFields protoimpl.UnknownFields
1488
1489	// The public keys for the service account.
1490	Keys []*ServiceAccountKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
1491}
1492
1493func (x *ListServiceAccountKeysResponse) Reset() {
1494	*x = ListServiceAccountKeysResponse{}
1495	if protoimpl.UnsafeEnabled {
1496		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[12]
1497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1498		ms.StoreMessageInfo(mi)
1499	}
1500}
1501
1502func (x *ListServiceAccountKeysResponse) String() string {
1503	return protoimpl.X.MessageStringOf(x)
1504}
1505
1506func (*ListServiceAccountKeysResponse) ProtoMessage() {}
1507
1508func (x *ListServiceAccountKeysResponse) ProtoReflect() protoreflect.Message {
1509	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[12]
1510	if protoimpl.UnsafeEnabled && x != nil {
1511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1512		if ms.LoadMessageInfo() == nil {
1513			ms.StoreMessageInfo(mi)
1514		}
1515		return ms
1516	}
1517	return mi.MessageOf(x)
1518}
1519
1520// Deprecated: Use ListServiceAccountKeysResponse.ProtoReflect.Descriptor instead.
1521func (*ListServiceAccountKeysResponse) Descriptor() ([]byte, []int) {
1522	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{12}
1523}
1524
1525func (x *ListServiceAccountKeysResponse) GetKeys() []*ServiceAccountKey {
1526	if x != nil {
1527		return x.Keys
1528	}
1529	return nil
1530}
1531
1532// The service account key get by id request.
1533type GetServiceAccountKeyRequest struct {
1534	state         protoimpl.MessageState
1535	sizeCache     protoimpl.SizeCache
1536	unknownFields protoimpl.UnknownFields
1537
1538	// Required. The resource name of the service account key in the following format:
1539	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
1540	//
1541	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1542	// the account. The `ACCOUNT` value can be the `email` address or the
1543	// `unique_id` of the service account.
1544	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1545	// The output format of the public key requested.
1546	// X509_PEM is the default output format.
1547	PublicKeyType ServiceAccountPublicKeyType `protobuf:"varint,2,opt,name=public_key_type,json=publicKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPublicKeyType" json:"public_key_type,omitempty"`
1548}
1549
1550func (x *GetServiceAccountKeyRequest) Reset() {
1551	*x = GetServiceAccountKeyRequest{}
1552	if protoimpl.UnsafeEnabled {
1553		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[13]
1554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1555		ms.StoreMessageInfo(mi)
1556	}
1557}
1558
1559func (x *GetServiceAccountKeyRequest) String() string {
1560	return protoimpl.X.MessageStringOf(x)
1561}
1562
1563func (*GetServiceAccountKeyRequest) ProtoMessage() {}
1564
1565func (x *GetServiceAccountKeyRequest) ProtoReflect() protoreflect.Message {
1566	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[13]
1567	if protoimpl.UnsafeEnabled && x != nil {
1568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1569		if ms.LoadMessageInfo() == nil {
1570			ms.StoreMessageInfo(mi)
1571		}
1572		return ms
1573	}
1574	return mi.MessageOf(x)
1575}
1576
1577// Deprecated: Use GetServiceAccountKeyRequest.ProtoReflect.Descriptor instead.
1578func (*GetServiceAccountKeyRequest) Descriptor() ([]byte, []int) {
1579	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{13}
1580}
1581
1582func (x *GetServiceAccountKeyRequest) GetName() string {
1583	if x != nil {
1584		return x.Name
1585	}
1586	return ""
1587}
1588
1589func (x *GetServiceAccountKeyRequest) GetPublicKeyType() ServiceAccountPublicKeyType {
1590	if x != nil {
1591		return x.PublicKeyType
1592	}
1593	return ServiceAccountPublicKeyType_TYPE_NONE
1594}
1595
1596// Represents a service account key.
1597//
1598// A service account has two sets of key-pairs: user-managed, and
1599// system-managed.
1600//
1601// User-managed key-pairs can be created and deleted by users.  Users are
1602// responsible for rotating these keys periodically to ensure security of
1603// their service accounts.  Users retain the private key of these key-pairs,
1604// and Google retains ONLY the public key.
1605//
1606// System-managed keys are automatically rotated by Google, and are used for
1607// signing for a maximum of two weeks. The rotation process is probabilistic,
1608// and usage of the new key will gradually ramp up and down over the key's
1609// lifetime.
1610//
1611// If you cache the public key set for a service account, we recommend that you
1612// update the cache every 15 minutes. User-managed keys can be added and removed
1613// at any time, so it is important to update the cache frequently. For
1614// Google-managed keys, Google will publish a key at least 6 hours before it is
1615// first used for signing and will keep publishing it for at least 6 hours after
1616// it was last used for signing.
1617//
1618// Public keys for all service accounts are also published at the OAuth2
1619// Service Account API.
1620type ServiceAccountKey struct {
1621	state         protoimpl.MessageState
1622	sizeCache     protoimpl.SizeCache
1623	unknownFields protoimpl.UnknownFields
1624
1625	// The resource name of the service account key in the following format
1626	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
1627	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1628	// The output format for the private key.
1629	// Only provided in `CreateServiceAccountKey` responses, not
1630	// in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
1631	//
1632	// Google never exposes system-managed private keys, and never retains
1633	// user-managed private keys.
1634	PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"`
1635	// Specifies the algorithm (and possibly key size) for the key.
1636	KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,8,opt,name=key_algorithm,json=keyAlgorithm,proto3,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"`
1637	// The private key data. Only provided in `CreateServiceAccountKey`
1638	// responses. Make sure to keep the private key data secure because it
1639	// allows for the assertion of the service account identity.
1640	// When base64 decoded, the private key data can be used to authenticate with
1641	// Google API client libraries and with
1642	// <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
1643	// auth activate-service-account</a>.
1644	PrivateKeyData []byte `protobuf:"bytes,3,opt,name=private_key_data,json=privateKeyData,proto3" json:"private_key_data,omitempty"`
1645	// The public key data. Only provided in `GetServiceAccountKey` responses.
1646	PublicKeyData []byte `protobuf:"bytes,7,opt,name=public_key_data,json=publicKeyData,proto3" json:"public_key_data,omitempty"`
1647	// The key can be used after this timestamp.
1648	ValidAfterTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=valid_after_time,json=validAfterTime,proto3" json:"valid_after_time,omitempty"`
1649	// The key can be used before this timestamp.
1650	// For system-managed key pairs, this timestamp is the end time for the
1651	// private key signing operation. The public key could still be used
1652	// for verification for a few hours after this time.
1653	ValidBeforeTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=valid_before_time,json=validBeforeTime,proto3" json:"valid_before_time,omitempty"`
1654	// The key origin.
1655	KeyOrigin ServiceAccountKeyOrigin `protobuf:"varint,9,opt,name=key_origin,json=keyOrigin,proto3,enum=google.iam.admin.v1.ServiceAccountKeyOrigin" json:"key_origin,omitempty"`
1656	// The key type.
1657	KeyType ListServiceAccountKeysRequest_KeyType `protobuf:"varint,10,opt,name=key_type,json=keyType,proto3,enum=google.iam.admin.v1.ListServiceAccountKeysRequest_KeyType" json:"key_type,omitempty"`
1658}
1659
1660func (x *ServiceAccountKey) Reset() {
1661	*x = ServiceAccountKey{}
1662	if protoimpl.UnsafeEnabled {
1663		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[14]
1664		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1665		ms.StoreMessageInfo(mi)
1666	}
1667}
1668
1669func (x *ServiceAccountKey) String() string {
1670	return protoimpl.X.MessageStringOf(x)
1671}
1672
1673func (*ServiceAccountKey) ProtoMessage() {}
1674
1675func (x *ServiceAccountKey) ProtoReflect() protoreflect.Message {
1676	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[14]
1677	if protoimpl.UnsafeEnabled && x != nil {
1678		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1679		if ms.LoadMessageInfo() == nil {
1680			ms.StoreMessageInfo(mi)
1681		}
1682		return ms
1683	}
1684	return mi.MessageOf(x)
1685}
1686
1687// Deprecated: Use ServiceAccountKey.ProtoReflect.Descriptor instead.
1688func (*ServiceAccountKey) Descriptor() ([]byte, []int) {
1689	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{14}
1690}
1691
1692func (x *ServiceAccountKey) GetName() string {
1693	if x != nil {
1694		return x.Name
1695	}
1696	return ""
1697}
1698
1699func (x *ServiceAccountKey) GetPrivateKeyType() ServiceAccountPrivateKeyType {
1700	if x != nil {
1701		return x.PrivateKeyType
1702	}
1703	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
1704}
1705
1706func (x *ServiceAccountKey) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
1707	if x != nil {
1708		return x.KeyAlgorithm
1709	}
1710	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
1711}
1712
1713func (x *ServiceAccountKey) GetPrivateKeyData() []byte {
1714	if x != nil {
1715		return x.PrivateKeyData
1716	}
1717	return nil
1718}
1719
1720func (x *ServiceAccountKey) GetPublicKeyData() []byte {
1721	if x != nil {
1722		return x.PublicKeyData
1723	}
1724	return nil
1725}
1726
1727func (x *ServiceAccountKey) GetValidAfterTime() *timestamppb.Timestamp {
1728	if x != nil {
1729		return x.ValidAfterTime
1730	}
1731	return nil
1732}
1733
1734func (x *ServiceAccountKey) GetValidBeforeTime() *timestamppb.Timestamp {
1735	if x != nil {
1736		return x.ValidBeforeTime
1737	}
1738	return nil
1739}
1740
1741func (x *ServiceAccountKey) GetKeyOrigin() ServiceAccountKeyOrigin {
1742	if x != nil {
1743		return x.KeyOrigin
1744	}
1745	return ServiceAccountKeyOrigin_ORIGIN_UNSPECIFIED
1746}
1747
1748func (x *ServiceAccountKey) GetKeyType() ListServiceAccountKeysRequest_KeyType {
1749	if x != nil {
1750		return x.KeyType
1751	}
1752	return ListServiceAccountKeysRequest_KEY_TYPE_UNSPECIFIED
1753}
1754
1755// The service account key create request.
1756type CreateServiceAccountKeyRequest struct {
1757	state         protoimpl.MessageState
1758	sizeCache     protoimpl.SizeCache
1759	unknownFields protoimpl.UnknownFields
1760
1761	// Required. The resource name of the service account in the following format:
1762	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1763	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1764	// the account. The `ACCOUNT` value can be the `email` address or the
1765	// `unique_id` of the service account.
1766	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1767	// The output format of the private key. The default value is
1768	// `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File
1769	// format.
1770	PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"`
1771	// Which type of key and algorithm to use for the key.
1772	// The default is currently a 2K RSA key.  However this may change in the
1773	// future.
1774	KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,3,opt,name=key_algorithm,json=keyAlgorithm,proto3,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"`
1775}
1776
1777func (x *CreateServiceAccountKeyRequest) Reset() {
1778	*x = CreateServiceAccountKeyRequest{}
1779	if protoimpl.UnsafeEnabled {
1780		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[15]
1781		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1782		ms.StoreMessageInfo(mi)
1783	}
1784}
1785
1786func (x *CreateServiceAccountKeyRequest) String() string {
1787	return protoimpl.X.MessageStringOf(x)
1788}
1789
1790func (*CreateServiceAccountKeyRequest) ProtoMessage() {}
1791
1792func (x *CreateServiceAccountKeyRequest) ProtoReflect() protoreflect.Message {
1793	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[15]
1794	if protoimpl.UnsafeEnabled && x != nil {
1795		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1796		if ms.LoadMessageInfo() == nil {
1797			ms.StoreMessageInfo(mi)
1798		}
1799		return ms
1800	}
1801	return mi.MessageOf(x)
1802}
1803
1804// Deprecated: Use CreateServiceAccountKeyRequest.ProtoReflect.Descriptor instead.
1805func (*CreateServiceAccountKeyRequest) Descriptor() ([]byte, []int) {
1806	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{15}
1807}
1808
1809func (x *CreateServiceAccountKeyRequest) GetName() string {
1810	if x != nil {
1811		return x.Name
1812	}
1813	return ""
1814}
1815
1816func (x *CreateServiceAccountKeyRequest) GetPrivateKeyType() ServiceAccountPrivateKeyType {
1817	if x != nil {
1818		return x.PrivateKeyType
1819	}
1820	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
1821}
1822
1823func (x *CreateServiceAccountKeyRequest) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
1824	if x != nil {
1825		return x.KeyAlgorithm
1826	}
1827	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
1828}
1829
1830// The service account key upload request.
1831type UploadServiceAccountKeyRequest struct {
1832	state         protoimpl.MessageState
1833	sizeCache     protoimpl.SizeCache
1834	unknownFields protoimpl.UnknownFields
1835
1836	// The resource name of the service account in the following format:
1837	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1838	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1839	// the account. The `ACCOUNT` value can be the `email` address or the
1840	// `unique_id` of the service account.
1841	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1842	// A field that allows clients to upload their own public key. If set,
1843	// use this public key data to create a service account key for given
1844	// service account.
1845	// Please note, the expected format for this field is X509_PEM.
1846	PublicKeyData []byte `protobuf:"bytes,2,opt,name=public_key_data,json=publicKeyData,proto3" json:"public_key_data,omitempty"`
1847}
1848
1849func (x *UploadServiceAccountKeyRequest) Reset() {
1850	*x = UploadServiceAccountKeyRequest{}
1851	if protoimpl.UnsafeEnabled {
1852		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[16]
1853		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1854		ms.StoreMessageInfo(mi)
1855	}
1856}
1857
1858func (x *UploadServiceAccountKeyRequest) String() string {
1859	return protoimpl.X.MessageStringOf(x)
1860}
1861
1862func (*UploadServiceAccountKeyRequest) ProtoMessage() {}
1863
1864func (x *UploadServiceAccountKeyRequest) ProtoReflect() protoreflect.Message {
1865	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[16]
1866	if protoimpl.UnsafeEnabled && x != nil {
1867		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1868		if ms.LoadMessageInfo() == nil {
1869			ms.StoreMessageInfo(mi)
1870		}
1871		return ms
1872	}
1873	return mi.MessageOf(x)
1874}
1875
1876// Deprecated: Use UploadServiceAccountKeyRequest.ProtoReflect.Descriptor instead.
1877func (*UploadServiceAccountKeyRequest) Descriptor() ([]byte, []int) {
1878	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{16}
1879}
1880
1881func (x *UploadServiceAccountKeyRequest) GetName() string {
1882	if x != nil {
1883		return x.Name
1884	}
1885	return ""
1886}
1887
1888func (x *UploadServiceAccountKeyRequest) GetPublicKeyData() []byte {
1889	if x != nil {
1890		return x.PublicKeyData
1891	}
1892	return nil
1893}
1894
1895// The service account key delete request.
1896type DeleteServiceAccountKeyRequest struct {
1897	state         protoimpl.MessageState
1898	sizeCache     protoimpl.SizeCache
1899	unknownFields protoimpl.UnknownFields
1900
1901	// Required. The resource name of the service account key in the following format:
1902	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
1903	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1904	// the account. The `ACCOUNT` value can be the `email` address or the
1905	// `unique_id` of the service account.
1906	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1907}
1908
1909func (x *DeleteServiceAccountKeyRequest) Reset() {
1910	*x = DeleteServiceAccountKeyRequest{}
1911	if protoimpl.UnsafeEnabled {
1912		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[17]
1913		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1914		ms.StoreMessageInfo(mi)
1915	}
1916}
1917
1918func (x *DeleteServiceAccountKeyRequest) String() string {
1919	return protoimpl.X.MessageStringOf(x)
1920}
1921
1922func (*DeleteServiceAccountKeyRequest) ProtoMessage() {}
1923
1924func (x *DeleteServiceAccountKeyRequest) ProtoReflect() protoreflect.Message {
1925	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[17]
1926	if protoimpl.UnsafeEnabled && x != nil {
1927		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1928		if ms.LoadMessageInfo() == nil {
1929			ms.StoreMessageInfo(mi)
1930		}
1931		return ms
1932	}
1933	return mi.MessageOf(x)
1934}
1935
1936// Deprecated: Use DeleteServiceAccountKeyRequest.ProtoReflect.Descriptor instead.
1937func (*DeleteServiceAccountKeyRequest) Descriptor() ([]byte, []int) {
1938	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{17}
1939}
1940
1941func (x *DeleteServiceAccountKeyRequest) GetName() string {
1942	if x != nil {
1943		return x.Name
1944	}
1945	return ""
1946}
1947
1948// Deprecated. [Migrate to Service Account Credentials
1949// API](https://cloud.google.com/iam/help/credentials/migrate-api).
1950//
1951// The service account sign blob request.
1952type SignBlobRequest struct {
1953	state         protoimpl.MessageState
1954	sizeCache     protoimpl.SizeCache
1955	unknownFields protoimpl.UnknownFields
1956
1957	// Required. Deprecated. [Migrate to Service Account Credentials
1958	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
1959	//
1960	// The resource name of the service account in the following format:
1961	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
1962	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
1963	// the account. The `ACCOUNT` value can be the `email` address or the
1964	// `unique_id` of the service account.
1965	//
1966	// Deprecated: Do not use.
1967	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1968	// Required. Deprecated. [Migrate to Service Account Credentials
1969	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
1970	//
1971	// The bytes to sign.
1972	//
1973	// Deprecated: Do not use.
1974	BytesToSign []byte `protobuf:"bytes,2,opt,name=bytes_to_sign,json=bytesToSign,proto3" json:"bytes_to_sign,omitempty"`
1975}
1976
1977func (x *SignBlobRequest) Reset() {
1978	*x = SignBlobRequest{}
1979	if protoimpl.UnsafeEnabled {
1980		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[18]
1981		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1982		ms.StoreMessageInfo(mi)
1983	}
1984}
1985
1986func (x *SignBlobRequest) String() string {
1987	return protoimpl.X.MessageStringOf(x)
1988}
1989
1990func (*SignBlobRequest) ProtoMessage() {}
1991
1992func (x *SignBlobRequest) ProtoReflect() protoreflect.Message {
1993	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[18]
1994	if protoimpl.UnsafeEnabled && x != nil {
1995		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1996		if ms.LoadMessageInfo() == nil {
1997			ms.StoreMessageInfo(mi)
1998		}
1999		return ms
2000	}
2001	return mi.MessageOf(x)
2002}
2003
2004// Deprecated: Use SignBlobRequest.ProtoReflect.Descriptor instead.
2005func (*SignBlobRequest) Descriptor() ([]byte, []int) {
2006	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{18}
2007}
2008
2009// Deprecated: Do not use.
2010func (x *SignBlobRequest) GetName() string {
2011	if x != nil {
2012		return x.Name
2013	}
2014	return ""
2015}
2016
2017// Deprecated: Do not use.
2018func (x *SignBlobRequest) GetBytesToSign() []byte {
2019	if x != nil {
2020		return x.BytesToSign
2021	}
2022	return nil
2023}
2024
2025// Deprecated. [Migrate to Service Account Credentials
2026// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2027//
2028// The service account sign blob response.
2029type SignBlobResponse struct {
2030	state         protoimpl.MessageState
2031	sizeCache     protoimpl.SizeCache
2032	unknownFields protoimpl.UnknownFields
2033
2034	// Deprecated. [Migrate to Service Account Credentials
2035	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2036	//
2037	// The id of the key used to sign the blob.
2038	//
2039	// Deprecated: Do not use.
2040	KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
2041	// Deprecated. [Migrate to Service Account Credentials
2042	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2043	//
2044	// The signed blob.
2045	//
2046	// Deprecated: Do not use.
2047	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
2048}
2049
2050func (x *SignBlobResponse) Reset() {
2051	*x = SignBlobResponse{}
2052	if protoimpl.UnsafeEnabled {
2053		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[19]
2054		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2055		ms.StoreMessageInfo(mi)
2056	}
2057}
2058
2059func (x *SignBlobResponse) String() string {
2060	return protoimpl.X.MessageStringOf(x)
2061}
2062
2063func (*SignBlobResponse) ProtoMessage() {}
2064
2065func (x *SignBlobResponse) ProtoReflect() protoreflect.Message {
2066	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[19]
2067	if protoimpl.UnsafeEnabled && x != nil {
2068		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2069		if ms.LoadMessageInfo() == nil {
2070			ms.StoreMessageInfo(mi)
2071		}
2072		return ms
2073	}
2074	return mi.MessageOf(x)
2075}
2076
2077// Deprecated: Use SignBlobResponse.ProtoReflect.Descriptor instead.
2078func (*SignBlobResponse) Descriptor() ([]byte, []int) {
2079	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{19}
2080}
2081
2082// Deprecated: Do not use.
2083func (x *SignBlobResponse) GetKeyId() string {
2084	if x != nil {
2085		return x.KeyId
2086	}
2087	return ""
2088}
2089
2090// Deprecated: Do not use.
2091func (x *SignBlobResponse) GetSignature() []byte {
2092	if x != nil {
2093		return x.Signature
2094	}
2095	return nil
2096}
2097
2098// Deprecated. [Migrate to Service Account Credentials
2099// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2100//
2101// The service account sign JWT request.
2102type SignJwtRequest struct {
2103	state         protoimpl.MessageState
2104	sizeCache     protoimpl.SizeCache
2105	unknownFields protoimpl.UnknownFields
2106
2107	// Required. Deprecated. [Migrate to Service Account Credentials
2108	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2109	//
2110	// The resource name of the service account in the following format:
2111	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
2112	// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
2113	// the account. The `ACCOUNT` value can be the `email` address or the
2114	// `unique_id` of the service account.
2115	//
2116	// Deprecated: Do not use.
2117	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2118	// Required. Deprecated. [Migrate to Service Account Credentials
2119	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2120	//
2121	// The JWT payload to sign. Must be a serialized JSON object that contains a
2122	// JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}`
2123	//
2124	// If the JWT Claims Set contains an expiration time (`exp`) claim, it must be
2125	// an integer timestamp that is not in the past and no more than 1 hour in the
2126	// future.
2127	//
2128	// If the JWT Claims Set does not contain an expiration time (`exp`) claim,
2129	// this claim is added automatically, with a timestamp that is 1 hour in the
2130	// future.
2131	//
2132	// Deprecated: Do not use.
2133	Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
2134}
2135
2136func (x *SignJwtRequest) Reset() {
2137	*x = SignJwtRequest{}
2138	if protoimpl.UnsafeEnabled {
2139		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[20]
2140		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2141		ms.StoreMessageInfo(mi)
2142	}
2143}
2144
2145func (x *SignJwtRequest) String() string {
2146	return protoimpl.X.MessageStringOf(x)
2147}
2148
2149func (*SignJwtRequest) ProtoMessage() {}
2150
2151func (x *SignJwtRequest) ProtoReflect() protoreflect.Message {
2152	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[20]
2153	if protoimpl.UnsafeEnabled && x != nil {
2154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2155		if ms.LoadMessageInfo() == nil {
2156			ms.StoreMessageInfo(mi)
2157		}
2158		return ms
2159	}
2160	return mi.MessageOf(x)
2161}
2162
2163// Deprecated: Use SignJwtRequest.ProtoReflect.Descriptor instead.
2164func (*SignJwtRequest) Descriptor() ([]byte, []int) {
2165	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{20}
2166}
2167
2168// Deprecated: Do not use.
2169func (x *SignJwtRequest) GetName() string {
2170	if x != nil {
2171		return x.Name
2172	}
2173	return ""
2174}
2175
2176// Deprecated: Do not use.
2177func (x *SignJwtRequest) GetPayload() string {
2178	if x != nil {
2179		return x.Payload
2180	}
2181	return ""
2182}
2183
2184// Deprecated. [Migrate to Service Account Credentials
2185// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2186//
2187// The service account sign JWT response.
2188type SignJwtResponse struct {
2189	state         protoimpl.MessageState
2190	sizeCache     protoimpl.SizeCache
2191	unknownFields protoimpl.UnknownFields
2192
2193	// Deprecated. [Migrate to Service Account Credentials
2194	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2195	//
2196	// The id of the key used to sign the JWT.
2197	//
2198	// Deprecated: Do not use.
2199	KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
2200	// Deprecated. [Migrate to Service Account Credentials
2201	// API](https://cloud.google.com/iam/help/credentials/migrate-api).
2202	//
2203	// The signed JWT.
2204	//
2205	// Deprecated: Do not use.
2206	SignedJwt string `protobuf:"bytes,2,opt,name=signed_jwt,json=signedJwt,proto3" json:"signed_jwt,omitempty"`
2207}
2208
2209func (x *SignJwtResponse) Reset() {
2210	*x = SignJwtResponse{}
2211	if protoimpl.UnsafeEnabled {
2212		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[21]
2213		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2214		ms.StoreMessageInfo(mi)
2215	}
2216}
2217
2218func (x *SignJwtResponse) String() string {
2219	return protoimpl.X.MessageStringOf(x)
2220}
2221
2222func (*SignJwtResponse) ProtoMessage() {}
2223
2224func (x *SignJwtResponse) ProtoReflect() protoreflect.Message {
2225	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[21]
2226	if protoimpl.UnsafeEnabled && x != nil {
2227		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2228		if ms.LoadMessageInfo() == nil {
2229			ms.StoreMessageInfo(mi)
2230		}
2231		return ms
2232	}
2233	return mi.MessageOf(x)
2234}
2235
2236// Deprecated: Use SignJwtResponse.ProtoReflect.Descriptor instead.
2237func (*SignJwtResponse) Descriptor() ([]byte, []int) {
2238	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{21}
2239}
2240
2241// Deprecated: Do not use.
2242func (x *SignJwtResponse) GetKeyId() string {
2243	if x != nil {
2244		return x.KeyId
2245	}
2246	return ""
2247}
2248
2249// Deprecated: Do not use.
2250func (x *SignJwtResponse) GetSignedJwt() string {
2251	if x != nil {
2252		return x.SignedJwt
2253	}
2254	return ""
2255}
2256
2257// A role in the Identity and Access Management API.
2258type Role struct {
2259	state         protoimpl.MessageState
2260	sizeCache     protoimpl.SizeCache
2261	unknownFields protoimpl.UnknownFields
2262
2263	// The name of the role.
2264	//
2265	// When Role is used in CreateRole, the role name must not be set.
2266	//
2267	// When Role is used in output and other input such as UpdateRole, the role
2268	// name is the complete path, e.g., roles/logging.viewer for predefined roles
2269	// and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.
2270	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2271	// Optional. A human-readable title for the role.  Typically this
2272	// is limited to 100 UTF-8 bytes.
2273	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
2274	// Optional. A human-readable description for the role.
2275	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
2276	// The names of the permissions this role grants when bound in an IAM policy.
2277	IncludedPermissions []string `protobuf:"bytes,7,rep,name=included_permissions,json=includedPermissions,proto3" json:"included_permissions,omitempty"`
2278	// The current launch stage of the role. If the `ALPHA` launch stage has been
2279	// selected for a role, the `stage` field will not be included in the
2280	// returned definition for the role.
2281	Stage Role_RoleLaunchStage `protobuf:"varint,8,opt,name=stage,proto3,enum=google.iam.admin.v1.Role_RoleLaunchStage" json:"stage,omitempty"`
2282	// Used to perform a consistent read-modify-write.
2283	Etag []byte `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"`
2284	// The current deleted state of the role. This field is read only.
2285	// It will be ignored in calls to CreateRole and UpdateRole.
2286	Deleted bool `protobuf:"varint,11,opt,name=deleted,proto3" json:"deleted,omitempty"`
2287}
2288
2289func (x *Role) Reset() {
2290	*x = Role{}
2291	if protoimpl.UnsafeEnabled {
2292		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[22]
2293		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2294		ms.StoreMessageInfo(mi)
2295	}
2296}
2297
2298func (x *Role) String() string {
2299	return protoimpl.X.MessageStringOf(x)
2300}
2301
2302func (*Role) ProtoMessage() {}
2303
2304func (x *Role) ProtoReflect() protoreflect.Message {
2305	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[22]
2306	if protoimpl.UnsafeEnabled && x != nil {
2307		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2308		if ms.LoadMessageInfo() == nil {
2309			ms.StoreMessageInfo(mi)
2310		}
2311		return ms
2312	}
2313	return mi.MessageOf(x)
2314}
2315
2316// Deprecated: Use Role.ProtoReflect.Descriptor instead.
2317func (*Role) Descriptor() ([]byte, []int) {
2318	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{22}
2319}
2320
2321func (x *Role) GetName() string {
2322	if x != nil {
2323		return x.Name
2324	}
2325	return ""
2326}
2327
2328func (x *Role) GetTitle() string {
2329	if x != nil {
2330		return x.Title
2331	}
2332	return ""
2333}
2334
2335func (x *Role) GetDescription() string {
2336	if x != nil {
2337		return x.Description
2338	}
2339	return ""
2340}
2341
2342func (x *Role) GetIncludedPermissions() []string {
2343	if x != nil {
2344		return x.IncludedPermissions
2345	}
2346	return nil
2347}
2348
2349func (x *Role) GetStage() Role_RoleLaunchStage {
2350	if x != nil {
2351		return x.Stage
2352	}
2353	return Role_ALPHA
2354}
2355
2356func (x *Role) GetEtag() []byte {
2357	if x != nil {
2358		return x.Etag
2359	}
2360	return nil
2361}
2362
2363func (x *Role) GetDeleted() bool {
2364	if x != nil {
2365		return x.Deleted
2366	}
2367	return false
2368}
2369
2370// The grantable role query request.
2371type QueryGrantableRolesRequest struct {
2372	state         protoimpl.MessageState
2373	sizeCache     protoimpl.SizeCache
2374	unknownFields protoimpl.UnknownFields
2375
2376	// Required. The full resource name to query from the list of grantable roles.
2377	//
2378	// The name follows the Google Cloud Platform resource format.
2379	// For example, a Cloud Platform project with id `my-project` will be named
2380	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
2381	FullResourceName string   `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
2382	View             RoleView `protobuf:"varint,2,opt,name=view,proto3,enum=google.iam.admin.v1.RoleView" json:"view,omitempty"`
2383	// Optional limit on the number of roles to include in the response.
2384	//
2385	// The default is 300, and the maximum is 1,000.
2386	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2387	// Optional pagination token returned in an earlier
2388	// QueryGrantableRolesResponse.
2389	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2390}
2391
2392func (x *QueryGrantableRolesRequest) Reset() {
2393	*x = QueryGrantableRolesRequest{}
2394	if protoimpl.UnsafeEnabled {
2395		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[23]
2396		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2397		ms.StoreMessageInfo(mi)
2398	}
2399}
2400
2401func (x *QueryGrantableRolesRequest) String() string {
2402	return protoimpl.X.MessageStringOf(x)
2403}
2404
2405func (*QueryGrantableRolesRequest) ProtoMessage() {}
2406
2407func (x *QueryGrantableRolesRequest) ProtoReflect() protoreflect.Message {
2408	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[23]
2409	if protoimpl.UnsafeEnabled && x != nil {
2410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2411		if ms.LoadMessageInfo() == nil {
2412			ms.StoreMessageInfo(mi)
2413		}
2414		return ms
2415	}
2416	return mi.MessageOf(x)
2417}
2418
2419// Deprecated: Use QueryGrantableRolesRequest.ProtoReflect.Descriptor instead.
2420func (*QueryGrantableRolesRequest) Descriptor() ([]byte, []int) {
2421	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{23}
2422}
2423
2424func (x *QueryGrantableRolesRequest) GetFullResourceName() string {
2425	if x != nil {
2426		return x.FullResourceName
2427	}
2428	return ""
2429}
2430
2431func (x *QueryGrantableRolesRequest) GetView() RoleView {
2432	if x != nil {
2433		return x.View
2434	}
2435	return RoleView_BASIC
2436}
2437
2438func (x *QueryGrantableRolesRequest) GetPageSize() int32 {
2439	if x != nil {
2440		return x.PageSize
2441	}
2442	return 0
2443}
2444
2445func (x *QueryGrantableRolesRequest) GetPageToken() string {
2446	if x != nil {
2447		return x.PageToken
2448	}
2449	return ""
2450}
2451
2452// The grantable role query response.
2453type QueryGrantableRolesResponse struct {
2454	state         protoimpl.MessageState
2455	sizeCache     protoimpl.SizeCache
2456	unknownFields protoimpl.UnknownFields
2457
2458	// The list of matching roles.
2459	Roles []*Role `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"`
2460	// To retrieve the next page of results, set
2461	// `QueryGrantableRolesRequest.page_token` to this value.
2462	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2463}
2464
2465func (x *QueryGrantableRolesResponse) Reset() {
2466	*x = QueryGrantableRolesResponse{}
2467	if protoimpl.UnsafeEnabled {
2468		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[24]
2469		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2470		ms.StoreMessageInfo(mi)
2471	}
2472}
2473
2474func (x *QueryGrantableRolesResponse) String() string {
2475	return protoimpl.X.MessageStringOf(x)
2476}
2477
2478func (*QueryGrantableRolesResponse) ProtoMessage() {}
2479
2480func (x *QueryGrantableRolesResponse) ProtoReflect() protoreflect.Message {
2481	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[24]
2482	if protoimpl.UnsafeEnabled && x != nil {
2483		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2484		if ms.LoadMessageInfo() == nil {
2485			ms.StoreMessageInfo(mi)
2486		}
2487		return ms
2488	}
2489	return mi.MessageOf(x)
2490}
2491
2492// Deprecated: Use QueryGrantableRolesResponse.ProtoReflect.Descriptor instead.
2493func (*QueryGrantableRolesResponse) Descriptor() ([]byte, []int) {
2494	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{24}
2495}
2496
2497func (x *QueryGrantableRolesResponse) GetRoles() []*Role {
2498	if x != nil {
2499		return x.Roles
2500	}
2501	return nil
2502}
2503
2504func (x *QueryGrantableRolesResponse) GetNextPageToken() string {
2505	if x != nil {
2506		return x.NextPageToken
2507	}
2508	return ""
2509}
2510
2511// The request to get all roles defined under a resource.
2512type ListRolesRequest struct {
2513	state         protoimpl.MessageState
2514	sizeCache     protoimpl.SizeCache
2515	unknownFields protoimpl.UnknownFields
2516
2517	// The `parent` parameter's value depends on the target resource for the
2518	// request, namely
2519	// [`roles`](/iam/reference/rest/v1/roles),
2520	// [`projects`](/iam/reference/rest/v1/projects.roles), or
2521	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
2522	// resource type's `parent` value format is described below:
2523	//
2524	// * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.
2525	//   This method doesn't require a resource; it simply returns all
2526	//   [predefined roles](/iam/docs/understanding-roles#predefined_roles) in
2527	//   Cloud IAM. Example request URL:
2528	//   `https://iam.googleapis.com/v1/roles`
2529	//
2530	// * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):
2531	//   `projects/{PROJECT_ID}`. This method lists all project-level
2532	//   [custom roles](/iam/docs/understanding-custom-roles).
2533	//   Example request URL:
2534	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`
2535	//
2536	// * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):
2537	//   `organizations/{ORGANIZATION_ID}`. This method lists all
2538	//   organization-level [custom roles](/iam/docs/understanding-custom-roles).
2539	//   Example request URL:
2540	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`
2541	//
2542	// Note: Wildcard (*) values are invalid; you must specify a complete project
2543	// ID or organization ID.
2544	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2545	// Optional limit on the number of roles to include in the response.
2546	//
2547	// The default is 300, and the maximum is 1,000.
2548	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
2549	// Optional pagination token returned in an earlier ListRolesResponse.
2550	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
2551	// Optional view for the returned Role objects. When `FULL` is specified,
2552	// the `includedPermissions` field is returned, which includes a list of all
2553	// permissions in the role. The default value is `BASIC`, which does not
2554	// return the `includedPermissions` field.
2555	View RoleView `protobuf:"varint,4,opt,name=view,proto3,enum=google.iam.admin.v1.RoleView" json:"view,omitempty"`
2556	// Include Roles that have been deleted.
2557	ShowDeleted bool `protobuf:"varint,6,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"`
2558}
2559
2560func (x *ListRolesRequest) Reset() {
2561	*x = ListRolesRequest{}
2562	if protoimpl.UnsafeEnabled {
2563		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[25]
2564		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2565		ms.StoreMessageInfo(mi)
2566	}
2567}
2568
2569func (x *ListRolesRequest) String() string {
2570	return protoimpl.X.MessageStringOf(x)
2571}
2572
2573func (*ListRolesRequest) ProtoMessage() {}
2574
2575func (x *ListRolesRequest) ProtoReflect() protoreflect.Message {
2576	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[25]
2577	if protoimpl.UnsafeEnabled && x != nil {
2578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2579		if ms.LoadMessageInfo() == nil {
2580			ms.StoreMessageInfo(mi)
2581		}
2582		return ms
2583	}
2584	return mi.MessageOf(x)
2585}
2586
2587// Deprecated: Use ListRolesRequest.ProtoReflect.Descriptor instead.
2588func (*ListRolesRequest) Descriptor() ([]byte, []int) {
2589	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{25}
2590}
2591
2592func (x *ListRolesRequest) GetParent() string {
2593	if x != nil {
2594		return x.Parent
2595	}
2596	return ""
2597}
2598
2599func (x *ListRolesRequest) GetPageSize() int32 {
2600	if x != nil {
2601		return x.PageSize
2602	}
2603	return 0
2604}
2605
2606func (x *ListRolesRequest) GetPageToken() string {
2607	if x != nil {
2608		return x.PageToken
2609	}
2610	return ""
2611}
2612
2613func (x *ListRolesRequest) GetView() RoleView {
2614	if x != nil {
2615		return x.View
2616	}
2617	return RoleView_BASIC
2618}
2619
2620func (x *ListRolesRequest) GetShowDeleted() bool {
2621	if x != nil {
2622		return x.ShowDeleted
2623	}
2624	return false
2625}
2626
2627// The response containing the roles defined under a resource.
2628type ListRolesResponse struct {
2629	state         protoimpl.MessageState
2630	sizeCache     protoimpl.SizeCache
2631	unknownFields protoimpl.UnknownFields
2632
2633	// The Roles defined on this resource.
2634	Roles []*Role `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"`
2635	// To retrieve the next page of results, set
2636	// `ListRolesRequest.page_token` to this value.
2637	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
2638}
2639
2640func (x *ListRolesResponse) Reset() {
2641	*x = ListRolesResponse{}
2642	if protoimpl.UnsafeEnabled {
2643		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[26]
2644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2645		ms.StoreMessageInfo(mi)
2646	}
2647}
2648
2649func (x *ListRolesResponse) String() string {
2650	return protoimpl.X.MessageStringOf(x)
2651}
2652
2653func (*ListRolesResponse) ProtoMessage() {}
2654
2655func (x *ListRolesResponse) ProtoReflect() protoreflect.Message {
2656	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[26]
2657	if protoimpl.UnsafeEnabled && x != nil {
2658		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2659		if ms.LoadMessageInfo() == nil {
2660			ms.StoreMessageInfo(mi)
2661		}
2662		return ms
2663	}
2664	return mi.MessageOf(x)
2665}
2666
2667// Deprecated: Use ListRolesResponse.ProtoReflect.Descriptor instead.
2668func (*ListRolesResponse) Descriptor() ([]byte, []int) {
2669	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{26}
2670}
2671
2672func (x *ListRolesResponse) GetRoles() []*Role {
2673	if x != nil {
2674		return x.Roles
2675	}
2676	return nil
2677}
2678
2679func (x *ListRolesResponse) GetNextPageToken() string {
2680	if x != nil {
2681		return x.NextPageToken
2682	}
2683	return ""
2684}
2685
2686// The request to get the definition of an existing role.
2687type GetRoleRequest struct {
2688	state         protoimpl.MessageState
2689	sizeCache     protoimpl.SizeCache
2690	unknownFields protoimpl.UnknownFields
2691
2692	// The `name` parameter's value depends on the target resource for the
2693	// request, namely
2694	// [`roles`](/iam/reference/rest/v1/roles),
2695	// [`projects`](/iam/reference/rest/v1/projects.roles), or
2696	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
2697	// resource type's `name` value format is described below:
2698	//
2699	// * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.
2700	//   This method returns results from all
2701	//   [predefined roles](/iam/docs/understanding-roles#predefined_roles) in
2702	//   Cloud IAM. Example request URL:
2703	//   `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`
2704	//
2705	// * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):
2706	//   `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only
2707	//   [custom roles](/iam/docs/understanding-custom-roles) that have been
2708	//   created at the project level. Example request URL:
2709	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
2710	//
2711	// * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):
2712	//   `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
2713	//   returns only [custom roles](/iam/docs/understanding-custom-roles) that
2714	//   have been created at the organization level. Example request URL:
2715	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
2716	//
2717	// Note: Wildcard (*) values are invalid; you must specify a complete project
2718	// ID or organization ID.
2719	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2720}
2721
2722func (x *GetRoleRequest) Reset() {
2723	*x = GetRoleRequest{}
2724	if protoimpl.UnsafeEnabled {
2725		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[27]
2726		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2727		ms.StoreMessageInfo(mi)
2728	}
2729}
2730
2731func (x *GetRoleRequest) String() string {
2732	return protoimpl.X.MessageStringOf(x)
2733}
2734
2735func (*GetRoleRequest) ProtoMessage() {}
2736
2737func (x *GetRoleRequest) ProtoReflect() protoreflect.Message {
2738	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[27]
2739	if protoimpl.UnsafeEnabled && x != nil {
2740		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2741		if ms.LoadMessageInfo() == nil {
2742			ms.StoreMessageInfo(mi)
2743		}
2744		return ms
2745	}
2746	return mi.MessageOf(x)
2747}
2748
2749// Deprecated: Use GetRoleRequest.ProtoReflect.Descriptor instead.
2750func (*GetRoleRequest) Descriptor() ([]byte, []int) {
2751	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{27}
2752}
2753
2754func (x *GetRoleRequest) GetName() string {
2755	if x != nil {
2756		return x.Name
2757	}
2758	return ""
2759}
2760
2761// The request to create a new role.
2762type CreateRoleRequest struct {
2763	state         protoimpl.MessageState
2764	sizeCache     protoimpl.SizeCache
2765	unknownFields protoimpl.UnknownFields
2766
2767	// The `parent` parameter's value depends on the target resource for the
2768	// request, namely
2769	// [`projects`](/iam/reference/rest/v1/projects.roles) or
2770	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
2771	// resource type's `parent` value format is described below:
2772	//
2773	// * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):
2774	//   `projects/{PROJECT_ID}`. This method creates project-level
2775	//   [custom roles](/iam/docs/understanding-custom-roles).
2776	//   Example request URL:
2777	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`
2778	//
2779	// * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):
2780	//   `organizations/{ORGANIZATION_ID}`. This method creates organization-level
2781	//   [custom roles](/iam/docs/understanding-custom-roles). Example request
2782	//   URL:
2783	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`
2784	//
2785	// Note: Wildcard (*) values are invalid; you must specify a complete project
2786	// ID or organization ID.
2787	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2788	// The role ID to use for this role.
2789	//
2790	// A role ID may contain alphanumeric characters, underscores (`_`), and
2791	// periods (`.`). It must contain a minimum of 3 characters and a maximum of
2792	// 64 characters.
2793	RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
2794	// The Role resource to create.
2795	Role *Role `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`
2796}
2797
2798func (x *CreateRoleRequest) Reset() {
2799	*x = CreateRoleRequest{}
2800	if protoimpl.UnsafeEnabled {
2801		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[28]
2802		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2803		ms.StoreMessageInfo(mi)
2804	}
2805}
2806
2807func (x *CreateRoleRequest) String() string {
2808	return protoimpl.X.MessageStringOf(x)
2809}
2810
2811func (*CreateRoleRequest) ProtoMessage() {}
2812
2813func (x *CreateRoleRequest) ProtoReflect() protoreflect.Message {
2814	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[28]
2815	if protoimpl.UnsafeEnabled && x != nil {
2816		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2817		if ms.LoadMessageInfo() == nil {
2818			ms.StoreMessageInfo(mi)
2819		}
2820		return ms
2821	}
2822	return mi.MessageOf(x)
2823}
2824
2825// Deprecated: Use CreateRoleRequest.ProtoReflect.Descriptor instead.
2826func (*CreateRoleRequest) Descriptor() ([]byte, []int) {
2827	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{28}
2828}
2829
2830func (x *CreateRoleRequest) GetParent() string {
2831	if x != nil {
2832		return x.Parent
2833	}
2834	return ""
2835}
2836
2837func (x *CreateRoleRequest) GetRoleId() string {
2838	if x != nil {
2839		return x.RoleId
2840	}
2841	return ""
2842}
2843
2844func (x *CreateRoleRequest) GetRole() *Role {
2845	if x != nil {
2846		return x.Role
2847	}
2848	return nil
2849}
2850
2851// The request to update a role.
2852type UpdateRoleRequest struct {
2853	state         protoimpl.MessageState
2854	sizeCache     protoimpl.SizeCache
2855	unknownFields protoimpl.UnknownFields
2856
2857	// The `name` parameter's value depends on the target resource for the
2858	// request, namely
2859	// [`projects`](/iam/reference/rest/v1/projects.roles) or
2860	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
2861	// resource type's `name` value format is described below:
2862	//
2863	// * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):
2864	//   `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only
2865	//   [custom roles](/iam/docs/understanding-custom-roles) that have been
2866	//   created at the project level. Example request URL:
2867	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
2868	//
2869	// * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):
2870	//   `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
2871	//   updates only [custom roles](/iam/docs/understanding-custom-roles) that
2872	//   have been created at the organization level. Example request URL:
2873	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
2874	//
2875	// Note: Wildcard (*) values are invalid; you must specify a complete project
2876	// ID or organization ID.
2877	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2878	// The updated role.
2879	Role *Role `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
2880	// A mask describing which fields in the Role have changed.
2881	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
2882}
2883
2884func (x *UpdateRoleRequest) Reset() {
2885	*x = UpdateRoleRequest{}
2886	if protoimpl.UnsafeEnabled {
2887		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[29]
2888		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2889		ms.StoreMessageInfo(mi)
2890	}
2891}
2892
2893func (x *UpdateRoleRequest) String() string {
2894	return protoimpl.X.MessageStringOf(x)
2895}
2896
2897func (*UpdateRoleRequest) ProtoMessage() {}
2898
2899func (x *UpdateRoleRequest) ProtoReflect() protoreflect.Message {
2900	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[29]
2901	if protoimpl.UnsafeEnabled && x != nil {
2902		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2903		if ms.LoadMessageInfo() == nil {
2904			ms.StoreMessageInfo(mi)
2905		}
2906		return ms
2907	}
2908	return mi.MessageOf(x)
2909}
2910
2911// Deprecated: Use UpdateRoleRequest.ProtoReflect.Descriptor instead.
2912func (*UpdateRoleRequest) Descriptor() ([]byte, []int) {
2913	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{29}
2914}
2915
2916func (x *UpdateRoleRequest) GetName() string {
2917	if x != nil {
2918		return x.Name
2919	}
2920	return ""
2921}
2922
2923func (x *UpdateRoleRequest) GetRole() *Role {
2924	if x != nil {
2925		return x.Role
2926	}
2927	return nil
2928}
2929
2930func (x *UpdateRoleRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
2931	if x != nil {
2932		return x.UpdateMask
2933	}
2934	return nil
2935}
2936
2937// The request to delete an existing role.
2938type DeleteRoleRequest struct {
2939	state         protoimpl.MessageState
2940	sizeCache     protoimpl.SizeCache
2941	unknownFields protoimpl.UnknownFields
2942
2943	// The `name` parameter's value depends on the target resource for the
2944	// request, namely
2945	// [`projects`](/iam/reference/rest/v1/projects.roles) or
2946	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
2947	// resource type's `name` value format is described below:
2948	//
2949	// * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):
2950	//   `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only
2951	//   [custom roles](/iam/docs/understanding-custom-roles) that have been
2952	//   created at the project level. Example request URL:
2953	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
2954	//
2955	// * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):
2956	//   `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
2957	//   deletes only [custom roles](/iam/docs/understanding-custom-roles) that
2958	//   have been created at the organization level. Example request URL:
2959	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
2960	//
2961	// Note: Wildcard (*) values are invalid; you must specify a complete project
2962	// ID or organization ID.
2963	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2964	// Used to perform a consistent read-modify-write.
2965	Etag []byte `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
2966}
2967
2968func (x *DeleteRoleRequest) Reset() {
2969	*x = DeleteRoleRequest{}
2970	if protoimpl.UnsafeEnabled {
2971		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[30]
2972		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2973		ms.StoreMessageInfo(mi)
2974	}
2975}
2976
2977func (x *DeleteRoleRequest) String() string {
2978	return protoimpl.X.MessageStringOf(x)
2979}
2980
2981func (*DeleteRoleRequest) ProtoMessage() {}
2982
2983func (x *DeleteRoleRequest) ProtoReflect() protoreflect.Message {
2984	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[30]
2985	if protoimpl.UnsafeEnabled && x != nil {
2986		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2987		if ms.LoadMessageInfo() == nil {
2988			ms.StoreMessageInfo(mi)
2989		}
2990		return ms
2991	}
2992	return mi.MessageOf(x)
2993}
2994
2995// Deprecated: Use DeleteRoleRequest.ProtoReflect.Descriptor instead.
2996func (*DeleteRoleRequest) Descriptor() ([]byte, []int) {
2997	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{30}
2998}
2999
3000func (x *DeleteRoleRequest) GetName() string {
3001	if x != nil {
3002		return x.Name
3003	}
3004	return ""
3005}
3006
3007func (x *DeleteRoleRequest) GetEtag() []byte {
3008	if x != nil {
3009		return x.Etag
3010	}
3011	return nil
3012}
3013
3014// The request to undelete an existing role.
3015type UndeleteRoleRequest struct {
3016	state         protoimpl.MessageState
3017	sizeCache     protoimpl.SizeCache
3018	unknownFields protoimpl.UnknownFields
3019
3020	// The `name` parameter's value depends on the target resource for the
3021	// request, namely
3022	// [`projects`](/iam/reference/rest/v1/projects.roles) or
3023	// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
3024	// resource type's `name` value format is described below:
3025	//
3026	// * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):
3027	//   `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes
3028	//   only [custom roles](/iam/docs/understanding-custom-roles) that have been
3029	//   created at the project level. Example request URL:
3030	//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
3031	//
3032	// * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):
3033	//   `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
3034	//   undeletes only [custom roles](/iam/docs/understanding-custom-roles) that
3035	//   have been created at the organization level. Example request URL:
3036	//   `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
3037	//
3038	// Note: Wildcard (*) values are invalid; you must specify a complete project
3039	// ID or organization ID.
3040	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3041	// Used to perform a consistent read-modify-write.
3042	Etag []byte `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
3043}
3044
3045func (x *UndeleteRoleRequest) Reset() {
3046	*x = UndeleteRoleRequest{}
3047	if protoimpl.UnsafeEnabled {
3048		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[31]
3049		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3050		ms.StoreMessageInfo(mi)
3051	}
3052}
3053
3054func (x *UndeleteRoleRequest) String() string {
3055	return protoimpl.X.MessageStringOf(x)
3056}
3057
3058func (*UndeleteRoleRequest) ProtoMessage() {}
3059
3060func (x *UndeleteRoleRequest) ProtoReflect() protoreflect.Message {
3061	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[31]
3062	if protoimpl.UnsafeEnabled && x != nil {
3063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3064		if ms.LoadMessageInfo() == nil {
3065			ms.StoreMessageInfo(mi)
3066		}
3067		return ms
3068	}
3069	return mi.MessageOf(x)
3070}
3071
3072// Deprecated: Use UndeleteRoleRequest.ProtoReflect.Descriptor instead.
3073func (*UndeleteRoleRequest) Descriptor() ([]byte, []int) {
3074	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{31}
3075}
3076
3077func (x *UndeleteRoleRequest) GetName() string {
3078	if x != nil {
3079		return x.Name
3080	}
3081	return ""
3082}
3083
3084func (x *UndeleteRoleRequest) GetEtag() []byte {
3085	if x != nil {
3086		return x.Etag
3087	}
3088	return nil
3089}
3090
3091// A permission which can be included by a role.
3092type Permission struct {
3093	state         protoimpl.MessageState
3094	sizeCache     protoimpl.SizeCache
3095	unknownFields protoimpl.UnknownFields
3096
3097	// The name of this Permission.
3098	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3099	// The title of this Permission.
3100	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
3101	// A brief description of what this Permission is used for.
3102	// This permission can ONLY be used in predefined roles.
3103	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
3104	// Deprecated: Do not use.
3105	OnlyInPredefinedRoles bool `protobuf:"varint,4,opt,name=only_in_predefined_roles,json=onlyInPredefinedRoles,proto3" json:"only_in_predefined_roles,omitempty"`
3106	// The current launch stage of the permission.
3107	Stage Permission_PermissionLaunchStage `protobuf:"varint,5,opt,name=stage,proto3,enum=google.iam.admin.v1.Permission_PermissionLaunchStage" json:"stage,omitempty"`
3108	// The current custom role support level.
3109	CustomRolesSupportLevel Permission_CustomRolesSupportLevel `protobuf:"varint,6,opt,name=custom_roles_support_level,json=customRolesSupportLevel,proto3,enum=google.iam.admin.v1.Permission_CustomRolesSupportLevel" json:"custom_roles_support_level,omitempty"`
3110	// The service API associated with the permission is not enabled.
3111	ApiDisabled bool `protobuf:"varint,7,opt,name=api_disabled,json=apiDisabled,proto3" json:"api_disabled,omitempty"`
3112	// The preferred name for this permission. If present, then this permission is
3113	// an alias of, and equivalent to, the listed primary_permission.
3114	PrimaryPermission string `protobuf:"bytes,8,opt,name=primary_permission,json=primaryPermission,proto3" json:"primary_permission,omitempty"`
3115}
3116
3117func (x *Permission) Reset() {
3118	*x = Permission{}
3119	if protoimpl.UnsafeEnabled {
3120		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[32]
3121		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3122		ms.StoreMessageInfo(mi)
3123	}
3124}
3125
3126func (x *Permission) String() string {
3127	return protoimpl.X.MessageStringOf(x)
3128}
3129
3130func (*Permission) ProtoMessage() {}
3131
3132func (x *Permission) ProtoReflect() protoreflect.Message {
3133	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[32]
3134	if protoimpl.UnsafeEnabled && x != nil {
3135		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3136		if ms.LoadMessageInfo() == nil {
3137			ms.StoreMessageInfo(mi)
3138		}
3139		return ms
3140	}
3141	return mi.MessageOf(x)
3142}
3143
3144// Deprecated: Use Permission.ProtoReflect.Descriptor instead.
3145func (*Permission) Descriptor() ([]byte, []int) {
3146	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{32}
3147}
3148
3149func (x *Permission) GetName() string {
3150	if x != nil {
3151		return x.Name
3152	}
3153	return ""
3154}
3155
3156func (x *Permission) GetTitle() string {
3157	if x != nil {
3158		return x.Title
3159	}
3160	return ""
3161}
3162
3163func (x *Permission) GetDescription() string {
3164	if x != nil {
3165		return x.Description
3166	}
3167	return ""
3168}
3169
3170// Deprecated: Do not use.
3171func (x *Permission) GetOnlyInPredefinedRoles() bool {
3172	if x != nil {
3173		return x.OnlyInPredefinedRoles
3174	}
3175	return false
3176}
3177
3178func (x *Permission) GetStage() Permission_PermissionLaunchStage {
3179	if x != nil {
3180		return x.Stage
3181	}
3182	return Permission_ALPHA
3183}
3184
3185func (x *Permission) GetCustomRolesSupportLevel() Permission_CustomRolesSupportLevel {
3186	if x != nil {
3187		return x.CustomRolesSupportLevel
3188	}
3189	return Permission_SUPPORTED
3190}
3191
3192func (x *Permission) GetApiDisabled() bool {
3193	if x != nil {
3194		return x.ApiDisabled
3195	}
3196	return false
3197}
3198
3199func (x *Permission) GetPrimaryPermission() string {
3200	if x != nil {
3201		return x.PrimaryPermission
3202	}
3203	return ""
3204}
3205
3206// A request to get permissions which can be tested on a resource.
3207type QueryTestablePermissionsRequest struct {
3208	state         protoimpl.MessageState
3209	sizeCache     protoimpl.SizeCache
3210	unknownFields protoimpl.UnknownFields
3211
3212	// Required. The full resource name to query from the list of testable
3213	// permissions.
3214	//
3215	// The name follows the Google Cloud Platform resource format.
3216	// For example, a Cloud Platform project with id `my-project` will be named
3217	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
3218	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
3219	// Optional limit on the number of permissions to include in the response.
3220	//
3221	// The default is 100, and the maximum is 1,000.
3222	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
3223	// Optional pagination token returned in an earlier
3224	// QueryTestablePermissionsRequest.
3225	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
3226}
3227
3228func (x *QueryTestablePermissionsRequest) Reset() {
3229	*x = QueryTestablePermissionsRequest{}
3230	if protoimpl.UnsafeEnabled {
3231		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[33]
3232		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3233		ms.StoreMessageInfo(mi)
3234	}
3235}
3236
3237func (x *QueryTestablePermissionsRequest) String() string {
3238	return protoimpl.X.MessageStringOf(x)
3239}
3240
3241func (*QueryTestablePermissionsRequest) ProtoMessage() {}
3242
3243func (x *QueryTestablePermissionsRequest) ProtoReflect() protoreflect.Message {
3244	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[33]
3245	if protoimpl.UnsafeEnabled && x != nil {
3246		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3247		if ms.LoadMessageInfo() == nil {
3248			ms.StoreMessageInfo(mi)
3249		}
3250		return ms
3251	}
3252	return mi.MessageOf(x)
3253}
3254
3255// Deprecated: Use QueryTestablePermissionsRequest.ProtoReflect.Descriptor instead.
3256func (*QueryTestablePermissionsRequest) Descriptor() ([]byte, []int) {
3257	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{33}
3258}
3259
3260func (x *QueryTestablePermissionsRequest) GetFullResourceName() string {
3261	if x != nil {
3262		return x.FullResourceName
3263	}
3264	return ""
3265}
3266
3267func (x *QueryTestablePermissionsRequest) GetPageSize() int32 {
3268	if x != nil {
3269		return x.PageSize
3270	}
3271	return 0
3272}
3273
3274func (x *QueryTestablePermissionsRequest) GetPageToken() string {
3275	if x != nil {
3276		return x.PageToken
3277	}
3278	return ""
3279}
3280
3281// The response containing permissions which can be tested on a resource.
3282type QueryTestablePermissionsResponse struct {
3283	state         protoimpl.MessageState
3284	sizeCache     protoimpl.SizeCache
3285	unknownFields protoimpl.UnknownFields
3286
3287	// The Permissions testable on the requested resource.
3288	Permissions []*Permission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
3289	// To retrieve the next page of results, set
3290	// `QueryTestableRolesRequest.page_token` to this value.
3291	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
3292}
3293
3294func (x *QueryTestablePermissionsResponse) Reset() {
3295	*x = QueryTestablePermissionsResponse{}
3296	if protoimpl.UnsafeEnabled {
3297		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[34]
3298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3299		ms.StoreMessageInfo(mi)
3300	}
3301}
3302
3303func (x *QueryTestablePermissionsResponse) String() string {
3304	return protoimpl.X.MessageStringOf(x)
3305}
3306
3307func (*QueryTestablePermissionsResponse) ProtoMessage() {}
3308
3309func (x *QueryTestablePermissionsResponse) ProtoReflect() protoreflect.Message {
3310	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[34]
3311	if protoimpl.UnsafeEnabled && x != nil {
3312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3313		if ms.LoadMessageInfo() == nil {
3314			ms.StoreMessageInfo(mi)
3315		}
3316		return ms
3317	}
3318	return mi.MessageOf(x)
3319}
3320
3321// Deprecated: Use QueryTestablePermissionsResponse.ProtoReflect.Descriptor instead.
3322func (*QueryTestablePermissionsResponse) Descriptor() ([]byte, []int) {
3323	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{34}
3324}
3325
3326func (x *QueryTestablePermissionsResponse) GetPermissions() []*Permission {
3327	if x != nil {
3328		return x.Permissions
3329	}
3330	return nil
3331}
3332
3333func (x *QueryTestablePermissionsResponse) GetNextPageToken() string {
3334	if x != nil {
3335		return x.NextPageToken
3336	}
3337	return ""
3338}
3339
3340// A request to get the list of auditable services for a resource.
3341type QueryAuditableServicesRequest struct {
3342	state         protoimpl.MessageState
3343	sizeCache     protoimpl.SizeCache
3344	unknownFields protoimpl.UnknownFields
3345
3346	// Required. The full resource name to query from the list of auditable
3347	// services.
3348	//
3349	// The name follows the Google Cloud Platform resource format.
3350	// For example, a Cloud Platform project with id `my-project` will be named
3351	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
3352	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
3353}
3354
3355func (x *QueryAuditableServicesRequest) Reset() {
3356	*x = QueryAuditableServicesRequest{}
3357	if protoimpl.UnsafeEnabled {
3358		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[35]
3359		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3360		ms.StoreMessageInfo(mi)
3361	}
3362}
3363
3364func (x *QueryAuditableServicesRequest) String() string {
3365	return protoimpl.X.MessageStringOf(x)
3366}
3367
3368func (*QueryAuditableServicesRequest) ProtoMessage() {}
3369
3370func (x *QueryAuditableServicesRequest) ProtoReflect() protoreflect.Message {
3371	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[35]
3372	if protoimpl.UnsafeEnabled && x != nil {
3373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3374		if ms.LoadMessageInfo() == nil {
3375			ms.StoreMessageInfo(mi)
3376		}
3377		return ms
3378	}
3379	return mi.MessageOf(x)
3380}
3381
3382// Deprecated: Use QueryAuditableServicesRequest.ProtoReflect.Descriptor instead.
3383func (*QueryAuditableServicesRequest) Descriptor() ([]byte, []int) {
3384	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{35}
3385}
3386
3387func (x *QueryAuditableServicesRequest) GetFullResourceName() string {
3388	if x != nil {
3389		return x.FullResourceName
3390	}
3391	return ""
3392}
3393
3394// A response containing a list of auditable services for a resource.
3395type QueryAuditableServicesResponse struct {
3396	state         protoimpl.MessageState
3397	sizeCache     protoimpl.SizeCache
3398	unknownFields protoimpl.UnknownFields
3399
3400	// The auditable services for a resource.
3401	Services []*QueryAuditableServicesResponse_AuditableService `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"`
3402}
3403
3404func (x *QueryAuditableServicesResponse) Reset() {
3405	*x = QueryAuditableServicesResponse{}
3406	if protoimpl.UnsafeEnabled {
3407		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[36]
3408		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3409		ms.StoreMessageInfo(mi)
3410	}
3411}
3412
3413func (x *QueryAuditableServicesResponse) String() string {
3414	return protoimpl.X.MessageStringOf(x)
3415}
3416
3417func (*QueryAuditableServicesResponse) ProtoMessage() {}
3418
3419func (x *QueryAuditableServicesResponse) ProtoReflect() protoreflect.Message {
3420	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[36]
3421	if protoimpl.UnsafeEnabled && x != nil {
3422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3423		if ms.LoadMessageInfo() == nil {
3424			ms.StoreMessageInfo(mi)
3425		}
3426		return ms
3427	}
3428	return mi.MessageOf(x)
3429}
3430
3431// Deprecated: Use QueryAuditableServicesResponse.ProtoReflect.Descriptor instead.
3432func (*QueryAuditableServicesResponse) Descriptor() ([]byte, []int) {
3433	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{36}
3434}
3435
3436func (x *QueryAuditableServicesResponse) GetServices() []*QueryAuditableServicesResponse_AuditableService {
3437	if x != nil {
3438		return x.Services
3439	}
3440	return nil
3441}
3442
3443// The request to lint a Cloud IAM policy object.
3444type LintPolicyRequest struct {
3445	state         protoimpl.MessageState
3446	sizeCache     protoimpl.SizeCache
3447	unknownFields protoimpl.UnknownFields
3448
3449	// The full resource name of the policy this lint request is about.
3450	//
3451	// The name follows the Google Cloud Platform (GCP) resource format.
3452	// For example, a GCP project with ID `my-project` will be named
3453	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
3454	//
3455	// The resource name is not used to read the policy instance from the Cloud
3456	// IAM database. The candidate policy for lint has to be provided in the same
3457	// request object.
3458	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"`
3459	// Required. The Cloud IAM object to be linted.
3460	//
3461	// Types that are assignable to LintObject:
3462	//	*LintPolicyRequest_Condition
3463	LintObject isLintPolicyRequest_LintObject `protobuf_oneof:"lint_object"`
3464}
3465
3466func (x *LintPolicyRequest) Reset() {
3467	*x = LintPolicyRequest{}
3468	if protoimpl.UnsafeEnabled {
3469		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[37]
3470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3471		ms.StoreMessageInfo(mi)
3472	}
3473}
3474
3475func (x *LintPolicyRequest) String() string {
3476	return protoimpl.X.MessageStringOf(x)
3477}
3478
3479func (*LintPolicyRequest) ProtoMessage() {}
3480
3481func (x *LintPolicyRequest) ProtoReflect() protoreflect.Message {
3482	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[37]
3483	if protoimpl.UnsafeEnabled && x != nil {
3484		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3485		if ms.LoadMessageInfo() == nil {
3486			ms.StoreMessageInfo(mi)
3487		}
3488		return ms
3489	}
3490	return mi.MessageOf(x)
3491}
3492
3493// Deprecated: Use LintPolicyRequest.ProtoReflect.Descriptor instead.
3494func (*LintPolicyRequest) Descriptor() ([]byte, []int) {
3495	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{37}
3496}
3497
3498func (x *LintPolicyRequest) GetFullResourceName() string {
3499	if x != nil {
3500		return x.FullResourceName
3501	}
3502	return ""
3503}
3504
3505func (m *LintPolicyRequest) GetLintObject() isLintPolicyRequest_LintObject {
3506	if m != nil {
3507		return m.LintObject
3508	}
3509	return nil
3510}
3511
3512func (x *LintPolicyRequest) GetCondition() *expr.Expr {
3513	if x, ok := x.GetLintObject().(*LintPolicyRequest_Condition); ok {
3514		return x.Condition
3515	}
3516	return nil
3517}
3518
3519type isLintPolicyRequest_LintObject interface {
3520	isLintPolicyRequest_LintObject()
3521}
3522
3523type LintPolicyRequest_Condition struct {
3524	// [google.iam.v1.Binding.condition] [google.iam.v1.Binding.condition] object to be linted.
3525	Condition *expr.Expr `protobuf:"bytes,5,opt,name=condition,proto3,oneof"`
3526}
3527
3528func (*LintPolicyRequest_Condition) isLintPolicyRequest_LintObject() {}
3529
3530// Structured response of a single validation unit.
3531type LintResult struct {
3532	state         protoimpl.MessageState
3533	sizeCache     protoimpl.SizeCache
3534	unknownFields protoimpl.UnknownFields
3535
3536	// The validation unit level.
3537	Level LintResult_Level `protobuf:"varint,1,opt,name=level,proto3,enum=google.iam.admin.v1.LintResult_Level" json:"level,omitempty"`
3538	// The validation unit name, for instance
3539	// "lintValidationUnits/ConditionComplexityCheck".
3540	ValidationUnitName string `protobuf:"bytes,2,opt,name=validation_unit_name,json=validationUnitName,proto3" json:"validation_unit_name,omitempty"`
3541	// The validation unit severity.
3542	Severity LintResult_Severity `protobuf:"varint,3,opt,name=severity,proto3,enum=google.iam.admin.v1.LintResult_Severity" json:"severity,omitempty"`
3543	// The name of the field for which this lint result is about.
3544	//
3545	// For nested messages `field_name` consists of names of the embedded fields
3546	// separated by period character. The top-level qualifier is the input object
3547	// to lint in the request. For example, the `field_name` value
3548	// `condition.expression` identifies a lint result for the `expression` field
3549	// of the provided condition.
3550	FieldName string `protobuf:"bytes,5,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"`
3551	// 0-based character position of problematic construct within the object
3552	// identified by `field_name`. Currently, this is populated only for condition
3553	// expression.
3554	LocationOffset int32 `protobuf:"varint,6,opt,name=location_offset,json=locationOffset,proto3" json:"location_offset,omitempty"`
3555	// Human readable debug message associated with the issue.
3556	DebugMessage string `protobuf:"bytes,7,opt,name=debug_message,json=debugMessage,proto3" json:"debug_message,omitempty"`
3557}
3558
3559func (x *LintResult) Reset() {
3560	*x = LintResult{}
3561	if protoimpl.UnsafeEnabled {
3562		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[38]
3563		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3564		ms.StoreMessageInfo(mi)
3565	}
3566}
3567
3568func (x *LintResult) String() string {
3569	return protoimpl.X.MessageStringOf(x)
3570}
3571
3572func (*LintResult) ProtoMessage() {}
3573
3574func (x *LintResult) ProtoReflect() protoreflect.Message {
3575	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[38]
3576	if protoimpl.UnsafeEnabled && x != nil {
3577		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3578		if ms.LoadMessageInfo() == nil {
3579			ms.StoreMessageInfo(mi)
3580		}
3581		return ms
3582	}
3583	return mi.MessageOf(x)
3584}
3585
3586// Deprecated: Use LintResult.ProtoReflect.Descriptor instead.
3587func (*LintResult) Descriptor() ([]byte, []int) {
3588	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{38}
3589}
3590
3591func (x *LintResult) GetLevel() LintResult_Level {
3592	if x != nil {
3593		return x.Level
3594	}
3595	return LintResult_LEVEL_UNSPECIFIED
3596}
3597
3598func (x *LintResult) GetValidationUnitName() string {
3599	if x != nil {
3600		return x.ValidationUnitName
3601	}
3602	return ""
3603}
3604
3605func (x *LintResult) GetSeverity() LintResult_Severity {
3606	if x != nil {
3607		return x.Severity
3608	}
3609	return LintResult_SEVERITY_UNSPECIFIED
3610}
3611
3612func (x *LintResult) GetFieldName() string {
3613	if x != nil {
3614		return x.FieldName
3615	}
3616	return ""
3617}
3618
3619func (x *LintResult) GetLocationOffset() int32 {
3620	if x != nil {
3621		return x.LocationOffset
3622	}
3623	return 0
3624}
3625
3626func (x *LintResult) GetDebugMessage() string {
3627	if x != nil {
3628		return x.DebugMessage
3629	}
3630	return ""
3631}
3632
3633// The response of a lint operation. An empty response indicates
3634// the operation was able to fully execute and no lint issue was found.
3635type LintPolicyResponse struct {
3636	state         protoimpl.MessageState
3637	sizeCache     protoimpl.SizeCache
3638	unknownFields protoimpl.UnknownFields
3639
3640	// List of lint results sorted by `severity` in descending order.
3641	LintResults []*LintResult `protobuf:"bytes,1,rep,name=lint_results,json=lintResults,proto3" json:"lint_results,omitempty"`
3642}
3643
3644func (x *LintPolicyResponse) Reset() {
3645	*x = LintPolicyResponse{}
3646	if protoimpl.UnsafeEnabled {
3647		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[39]
3648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3649		ms.StoreMessageInfo(mi)
3650	}
3651}
3652
3653func (x *LintPolicyResponse) String() string {
3654	return protoimpl.X.MessageStringOf(x)
3655}
3656
3657func (*LintPolicyResponse) ProtoMessage() {}
3658
3659func (x *LintPolicyResponse) ProtoReflect() protoreflect.Message {
3660	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[39]
3661	if protoimpl.UnsafeEnabled && x != nil {
3662		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3663		if ms.LoadMessageInfo() == nil {
3664			ms.StoreMessageInfo(mi)
3665		}
3666		return ms
3667	}
3668	return mi.MessageOf(x)
3669}
3670
3671// Deprecated: Use LintPolicyResponse.ProtoReflect.Descriptor instead.
3672func (*LintPolicyResponse) Descriptor() ([]byte, []int) {
3673	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{39}
3674}
3675
3676func (x *LintPolicyResponse) GetLintResults() []*LintResult {
3677	if x != nil {
3678		return x.LintResults
3679	}
3680	return nil
3681}
3682
3683// Contains information about an auditable service.
3684type QueryAuditableServicesResponse_AuditableService struct {
3685	state         protoimpl.MessageState
3686	sizeCache     protoimpl.SizeCache
3687	unknownFields protoimpl.UnknownFields
3688
3689	// Public name of the service.
3690	// For example, the service name for Cloud IAM is 'iam.googleapis.com'.
3691	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3692}
3693
3694func (x *QueryAuditableServicesResponse_AuditableService) Reset() {
3695	*x = QueryAuditableServicesResponse_AuditableService{}
3696	if protoimpl.UnsafeEnabled {
3697		mi := &file_google_iam_admin_v1_iam_proto_msgTypes[40]
3698		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3699		ms.StoreMessageInfo(mi)
3700	}
3701}
3702
3703func (x *QueryAuditableServicesResponse_AuditableService) String() string {
3704	return protoimpl.X.MessageStringOf(x)
3705}
3706
3707func (*QueryAuditableServicesResponse_AuditableService) ProtoMessage() {}
3708
3709func (x *QueryAuditableServicesResponse_AuditableService) ProtoReflect() protoreflect.Message {
3710	mi := &file_google_iam_admin_v1_iam_proto_msgTypes[40]
3711	if protoimpl.UnsafeEnabled && x != nil {
3712		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3713		if ms.LoadMessageInfo() == nil {
3714			ms.StoreMessageInfo(mi)
3715		}
3716		return ms
3717	}
3718	return mi.MessageOf(x)
3719}
3720
3721// Deprecated: Use QueryAuditableServicesResponse_AuditableService.ProtoReflect.Descriptor instead.
3722func (*QueryAuditableServicesResponse_AuditableService) Descriptor() ([]byte, []int) {
3723	return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{36, 0}
3724}
3725
3726func (x *QueryAuditableServicesResponse_AuditableService) GetName() string {
3727	if x != nil {
3728		return x.Name
3729	}
3730	return ""
3731}
3732
3733var File_google_iam_admin_v1_iam_proto protoreflect.FileDescriptor
3734
3735var file_google_iam_admin_v1_iam_proto_rawDesc = []byte{
3736	0x0a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x64, 0x6d,
3737	0x69, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
3738	0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
3739	0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3740	0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
3741	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
3742	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
3743	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
3744	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3745	0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c,
3746	0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3747	0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3748	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69,
3749	0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f,
3750	0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3751	0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67,
3752	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65,
3753	0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
3754	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
3755	0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
3756	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
3757	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67,
3758	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e,
3759	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
3760	0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
3761	0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
3762	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
3763	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72,
3764	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
3765	0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20,
3766	0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
3767	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64,
3768	0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
3769	0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64,
3770	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
3771	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
3772	0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
3773	0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0b, 0x64,
3774	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
3775	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
3776	0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69,
3777	0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
3778	0x03, 0x52, 0x0e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49,
3779	0x64, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20,
3780	0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,
3781	0x65, 0x64, 0x3a, 0x5c, 0xea, 0x41, 0x59, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
3782	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76,
3783	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a,
3784	0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73,
3785	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b,
3786	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d,
3787	0x22, 0xd8, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
3788	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3789	0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
3790	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
3791	0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
3792	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a,
3793	0x65, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x63, 0x63,
3794	0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
3795	0x41, 0x02, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a,
3796	0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
3797	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3798	0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72,
3799	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72,
3800	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x1a,
3801	0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
3802	0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61,
3803	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
3804	0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
3805	0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3806	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x6e,
3807	0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
3808	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
3809	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
3810	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
3811	0x86, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
3812	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3813	0x3f, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3814	0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61,
3815	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
3816	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
3817	0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
3818	0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
3819	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x59, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53,
3820	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
3821	0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3822	0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e,
3823	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53,
3824	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e,
3825	0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72,
3826	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
3827	0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
3828	0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f,
3829	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72,
3830	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d,
3831	0x65, 0x22, 0xa7, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69,
3832	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3833	0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f,
3834	0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3835	0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3836	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e,
3837	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b,
3838	0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20,
3839	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3840	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52,
3841	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x33, 0x0a, 0x1d, 0x55,
3842	0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
3843	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04,
3844	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3845	0x22, 0x70, 0x0a, 0x1e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
3846	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3847	0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x61,
3848	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
3849	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
3850	0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
3851	0x74, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75,
3852	0x6e, 0x74, 0x22, 0x31, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76,
3853	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3854	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3855	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
3856	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
3857	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3858	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x1d, 0x4c, 0x69,
3859	0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
3860	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
3861	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
3862	0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3863	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
3864	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x6b, 0x65,
3865	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3a, 0x2e,
3866	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
3867	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
3868	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3869	0x74, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x54, 0x79,
3870	0x70, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
3871	0x0a, 0x14, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
3872	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x52,
3873	0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x59,
3874	0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x02, 0x22, 0x5c,
3875	0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
3876	0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3877	0x12, 0x3a, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26,
3878	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
3879	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
3880	0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xab, 0x01, 0x0a,
3881	0x1b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
3882	0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04,
3883	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa,
3884	0x41, 0x18, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3885	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3886	0x12, 0x58, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74,
3887	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3888	0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
3889	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x75,
3890	0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x75, 0x62,
3891	0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbc, 0x05, 0x0a, 0x11, 0x53,
3892	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79,
3893	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
3894	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f,
3895	0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31,
3896	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
3897	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
3898	0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70,
3899	0x65, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70,
3900	0x65, 0x12, 0x54, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
3901	0x68, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3902	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
3903	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79,
3904	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c,
3905	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61,
3906	0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
3907	0x0c, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x44, 0x61, 0x74,
3908	0x61, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
3909	0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c,
3910	0x69, 0x63, 0x4b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x10, 0x76, 0x61, 0x6c,
3911	0x69, 0x64, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
3912	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
3913	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
3914	0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12,
3915	0x46, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f,
3916	0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3917	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3918	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x65, 0x66,
3919	0x6f, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x6f,
3920	0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
3921	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
3922	0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
3923	0x4b, 0x65, 0x79, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x4f, 0x72,
3924	0x69, 0x67, 0x69, 0x6e, 0x12, 0x55, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
3925	0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3926	0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
3927	0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b,
3928	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79,
3929	0x70, 0x65, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x5c, 0xea, 0x41, 0x59,
3930	0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
3931	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
3932	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72,
3933	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65,
3934	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6b,
3935	0x65, 0x79, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x22, 0x92, 0x02, 0x0a, 0x1e, 0x43, 0x72,
3936	0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
3937	0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04,
3938	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa,
3939	0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3940	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
3941	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x70,
3942	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
3943	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
3944	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76,
3945	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74,
3946	0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
3947	0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f,
3948	0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
3949	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d,
3950	0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
3951	0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
3952	0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0x5c,
3953	0x0a, 0x1e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
3954	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3955	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
3956	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b,
3957	0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70,
3958	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x54, 0x0a, 0x1e,
3959	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
3960	0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32,
3961	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41,
3962	0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3963	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61,
3964	0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65,
3965	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
3966	0x01, 0x28, 0x09, 0x42, 0x2b, 0x18, 0x01, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69,
3967	0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
3968	0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
3969	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
3970	0x74, 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0x18,
3971	0x01, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x53, 0x69, 0x67,
3972	0x6e, 0x22, 0x4f, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73,
3973	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18,
3974	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64,
3975	0x12, 0x20, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20,
3976	0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
3977	0x72, 0x65, 0x22, 0x72, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71,
3978	0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
3979	0x28, 0x09, 0x42, 0x2b, 0x18, 0x01, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61,
3980	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
3981	0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
3982	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
3983	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70,
3984	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77,
3985	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x06, 0x6b, 0x65, 0x79,
3986	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x6b,
3987	0x65, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6a,
3988	0x77, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, 0x69,
3989	0x67, 0x6e, 0x65, 0x64, 0x4a, 0x77, 0x74, 0x22, 0xcb, 0x02, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65,
3990	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
3991	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20,
3992	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
3993	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
3994	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14,
3995	0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
3996	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c,
3997	0x75, 0x64, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
3998	0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29,
3999	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4000	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x61,
4001	0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65,
4002	0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
4003	0x65, 0x74, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18,
4004	0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x55,
4005	0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67,
4006	0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
4007	0x42, 0x45, 0x54, 0x41, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x41, 0x10, 0x02, 0x12, 0x0e,
4008	0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c,
4009	0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03,
4010	0x45, 0x41, 0x50, 0x10, 0x06, 0x22, 0xbe, 0x01, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47,
4011	0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71,
4012	0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73,
4013	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4014	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75,
4015	0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18,
4016	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4017	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65,
4018	0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
4019	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
4020	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
4021	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67,
4022	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47,
4023	0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73,
4024	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01,
4025	0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61,
4026	0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52,
4027	0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
4028	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
4029	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc4,
4030	0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
4031	0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
4032	0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x06, 0x70, 0x61, 0x72,
4033	0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
4034	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
4035	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03,
4036	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
4037	0x31, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e,
4038	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4039	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69,
4040	0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74,
4041	0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65,
4042	0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x6c, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c,
4043	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x6f,
4044	0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4045	0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
4046	0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
4047	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
4048	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
4049	0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65,
4050	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
4051	0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d,
4052	0x65, 0x22, 0x7b, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52,
4053	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
4054	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x06,
4055	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69,
4056	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12,
4057	0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
4058	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4059	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x9b,
4060	0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71,
4061	0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
4062	0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
4063	0x12, 0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
4064	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4065	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12,
4066	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03,
4067	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
4068	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
4069	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x43, 0x0a, 0x11,
4070	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4071	0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
4072	0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
4073	0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61,
4074	0x67, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c,
4075	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
4076	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04,
4077	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01,
4078	0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xba, 0x04, 0x0a, 0x0a, 0x50, 0x65, 0x72,
4079	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
4080	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74,
4081	0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c,
4082	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
4083	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
4084	0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x18, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x70,
4085	0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18,
4086	0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6f, 0x6e, 0x6c, 0x79, 0x49,
4087	0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73,
4088	0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
4089	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d,
4090	0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4091	0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x75, 0x6e, 0x63,
4092	0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x74, 0x0a,
4093	0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x75,
4094	0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
4095	0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61,
4096	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4097	0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x53, 0x75,
4098	0x70, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74,
4099	0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65,
4100	0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62,
4101	0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x70, 0x69, 0x44, 0x69,
4102	0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
4103	0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01,
4104	0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69,
4105	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
4106	0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x09,
4107	0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x54,
4108	0x41, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x41, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44,
4109	0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x48, 0x0a, 0x17, 0x43,
4110	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72,
4111	0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52,
4112	0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47,
4113	0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52,
4114	0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54,
4115	0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4116	0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x75, 0x6c,
4117	0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
4118	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75,
4119	0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
4120	0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
4121	0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
4122	0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
4123	0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73,
4124	0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
4125	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d,
4126	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
4127	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4128	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b,
4129	0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
4130	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
4131	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
4132	0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69,
4133	0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71,
4134	0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73,
4135	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
4136	0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61,
4137	0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69,
4138	0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
4139	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4140	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4141	0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75,
4142	0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76,
4143	0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x75, 0x64,
4144	0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x08, 0x73,
4145	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x26, 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x74,
4146	0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
4147	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
4148	0x83, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
4149	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65,
4150	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4151	0x09, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e,
4152	0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
4153	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4154	0x74, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e,
4155	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x74, 0x5f, 0x6f,
4156	0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xc1, 0x03, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65,
4157	0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20,
4158	0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4159	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65,
4160	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65,
4161	0x6c, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
4162	0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
4163	0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x4e,
4164	0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18,
4165	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4166	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74,
4167	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52,
4168	0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65,
4169	0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66,
4170	0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61,
4171	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
4172	0x05, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65,
4173	0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
4174	0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4d,
4175	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2d, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
4176	0x15, 0x0a, 0x11, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
4177	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54,
4178	0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x62, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74,
4179	0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e,
4180	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45,
4181	0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e,
4182	0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12,
4183	0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50,
4184	0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0x58, 0x0a, 0x12, 0x4c, 0x69, 0x6e,
4185	0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4186	0x42, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
4187	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4188	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74,
4189	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75,
4190	0x6c, 0x74, 0x73, 0x2a, 0x61, 0x0a, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
4191	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
4192	0x6d, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x55, 0x4e, 0x53,
4193	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45,
4194	0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x31, 0x30, 0x32, 0x34, 0x10, 0x01,
4195	0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x52, 0x53, 0x41, 0x5f,
4196	0x32, 0x30, 0x34, 0x38, 0x10, 0x02, 0x2a, 0x6c, 0x0a, 0x1c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
4197	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b,
4198	0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
4199	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
4200	0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, 0x32, 0x5f, 0x46, 0x49, 0x4c, 0x45,
4201	0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c,
4202	0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x46, 0x49,
4203	0x4c, 0x45, 0x10, 0x02, 0x2a, 0x5d, 0x0a, 0x1b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
4204	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x54,
4205	0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
4206	0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x58, 0x35, 0x30, 0x39, 0x5f,
4207	0x50, 0x45, 0x4d, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x59,
4208	0x50, 0x45, 0x5f, 0x52, 0x41, 0x57, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45,
4209	0x59, 0x10, 0x02, 0x2a, 0x59, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
4210	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16,
4211	0x0a, 0x12, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
4212	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x50,
4213	0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x4f, 0x4f,
4214	0x47, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x1f,
4215	0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41,
4216	0x53, 0x49, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x32,
4217	0xb3, 0x28, 0x0a, 0x03, 0x49, 0x41, 0x4d, 0x12, 0xae, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
4218	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
4219	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d,
4220	0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
4221	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4222	0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64,
4223	0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
4224	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4225	0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f,
4226	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4227	0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
4228	0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
4229	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d,
4230	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4231	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
4232	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e,
4233	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4234	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
4235	0x6e, 0x74, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f,
4236	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4237	0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
4238	0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x14, 0x43,
4239	0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4240	0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4241	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
4242	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
4243	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4244	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76,
4245	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93,
4246	0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
4247	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
4248	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1f, 0x6e,
4249	0x61, 0x6d, 0x65, 0x2c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x73,
4250	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x94,
4251	0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4252	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4253	0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
4254	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x23, 0x2e, 0x67,
4255	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
4256	0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
4257	0x74, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x1a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
4258	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
4259	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f,
4260	0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0xaf, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53,
4261	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x2e,
4262	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4263	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4264	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23,
4265	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4266	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4267	0x75, 0x6e, 0x74, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x32, 0x37, 0x2f, 0x76, 0x31,
4268	0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
4269	0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
4270	0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
4271	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x98, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65,
4272	0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
4273	0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64,
4274	0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72,
4275	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
4276	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4277	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93,
4278	0x02, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
4279	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4280	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
4281	0x6d, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x16, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53,
4282	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x2e,
4283	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4284	0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
4285	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4286	0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61,
4287	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
4288	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
4289	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30,
4290	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4291	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4292	0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
4293	0x3a, 0x01, 0x2a, 0x12, 0x9b, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65,
4294	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67,
4295	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
4296	0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4297	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
4298	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4299	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x22, 0x2e,
4300	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4301	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4302	0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01,
4303	0x2a, 0x12, 0x9e, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72,
4304	0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f,
4305	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
4306	0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4307	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
4308	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4309	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x22, 0x2f,
4310	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4311	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4312	0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x3a,
4313	0x01, 0x2a, 0x12, 0xc8, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
4314	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x32, 0x2e,
4315	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4316	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
4317	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4318	0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61,
4319	0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
4320	0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65,
4321	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c,
4322	0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
4323	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4324	0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0xda, 0x41, 0x0e, 0x6e,
4325	0x61, 0x6d, 0x65, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0xbf, 0x01,
4326	0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
4327	0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4328	0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
4329	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65,
4330	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4331	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4332	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79,
4333	0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e,
4334	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73,
4335	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
4336	0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x2c,
4337	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12,
4338	0xd5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
4339	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f,
4340	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
4341	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
4342	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4343	0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64,
4344	0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
4345	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31,
4346	0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
4347	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
4348	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x01,
4349	0x2a, 0xda, 0x41, 0x23, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
4350	0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c,
4351	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0xb6, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x6c, 0x6f,
4352	0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
4353	0x4b, 0x65, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4354	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
4355	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65,
4356	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4357	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4358	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79,
4359	0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e,
4360	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73,
4361	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
4362	0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a,
4363	0x12, 0xa5, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
4364	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x2e, 0x67,
4365	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e,
4366	0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
4367	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4368	0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4369	0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02,
4370	0x30, 0x2a, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
4371	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
4372	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a,
4373	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x08, 0x53, 0x69, 0x67,
4374	0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4375	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e,
4376	0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f,
4377	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
4378	0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4379	0x73, 0x65, 0x22, 0x53, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30, 0x2f,
4380	0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
4381	0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
4382	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x3a,
4383	0x01, 0x2a, 0xda, 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
4384	0x74, 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e,
4385	0x4a, 0x77, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4386	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77,
4387	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4388	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53,
4389	0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c,
4390	0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
4391	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
4392	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f,
4393	0x2a, 0x7d, 0x3a, 0x73, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c,
4394	0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x96, 0x01, 0x0a,
4395	0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e,
4396	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
4397	0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4398	0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76,
4399	0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a,
4400	0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d,
4401	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69,
4402	0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65,
4403	0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73,
4404	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d,
4405	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4406	0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4407	0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f,
4408	0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
4409	0x79, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
4410	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
4411	0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
4412	0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c,
4413	0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
4414	0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xcb, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73,
4415	0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12,
4416	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
4417	0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4418	0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4419	0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61,
4420	0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
4421	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76,
4422	0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
4423	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
4424	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61,
4425	0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0xda,
4426	0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69,
4427	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79,
4428	0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2f,
4429	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4430	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61,
4431	0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4432	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d,
4433	0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74,
4434	0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4435	0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x72,
4436	0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61,
4437	0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x66, 0x75,
4438	0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
4439	0x12, 0xb4, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25,
4440	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4441	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65,
4442	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4443	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
4444	0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x82,
4445	0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73,
4446	0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
4447	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
4448	0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70,
4449	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
4450	0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52,
4451	0x6f, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4452	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c,
4453	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4454	0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52,
4455	0x6f, 0x6c, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x12, 0x2f, 0x76, 0x31,
4456	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a,
4457	0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67,
4458	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c,
4459	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
4460	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f,
4461	0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74,
4462	0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4463	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
4464	0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
4465	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4466	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b,
4467	0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72,
4468	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72,
4469	0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
4470	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
4471	0x2a, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xa8, 0x01, 0x0a, 0x0a,
4472	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
4473	0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31,
4474	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4475	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e,
4476	0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x57, 0x82,
4477	0xd3, 0xe4, 0x93, 0x02, 0x51, 0x32, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
4478	0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
4479	0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x5a,
4480	0x25, 0x32, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
4481	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
4482	0x3a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74,
4483	0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4484	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65,
4485	0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
4486	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4487	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45,
4488	0x2a, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61,
4489	0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65,
4490	0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
4491	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c,
4492	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65,
4493	0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4494	0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64,
4495	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4496	0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64,
4497	0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4,
4498	0x93, 0x02, 0x5d, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f,
4499	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72,
4500	0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
4501	0x3a, 0x01, 0x2a, 0x5a, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
4502	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65,
4503	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a,
4504	0x12, 0xbc, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62,
4505	0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x2e,
4506	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4507	0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c,
4508	0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
4509	0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d,
4510	0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54,
4511	0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4512	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93,
4513	0x02, 0x2d, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
4514	0x6f, 0x6e, 0x73, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c,
4515	0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x12,
4516	0xb4, 0x01, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62,
4517	0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
4518	0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31,
4519	0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
4520	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33,
4521	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69,
4522	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61,
4523	0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
4524	0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31,
4525	0x2f, 0x69, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x71, 0x75, 0x65,
4526	0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
4527	0x63, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x74, 0x50,
4528	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
4529	0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74,
4530	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
4531	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
4532	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65,
4533	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a,
4534	0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a,
4535	0x6c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x1a, 0x46, 0xca,
4536	0x41, 0x12, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
4537	0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
4538	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
4539	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
4540	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x9a, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
4541	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
4542	0x31, 0x42, 0x08, 0x49, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67,
4543	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
4544	0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4545	0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76,
4546	0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f,
4547	0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x41, 0x64,
4548	0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
4549	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c,
4550	0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4551}
4552
4553var (
4554	file_google_iam_admin_v1_iam_proto_rawDescOnce sync.Once
4555	file_google_iam_admin_v1_iam_proto_rawDescData = file_google_iam_admin_v1_iam_proto_rawDesc
4556)
4557
4558func file_google_iam_admin_v1_iam_proto_rawDescGZIP() []byte {
4559	file_google_iam_admin_v1_iam_proto_rawDescOnce.Do(func() {
4560		file_google_iam_admin_v1_iam_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_iam_admin_v1_iam_proto_rawDescData)
4561	})
4562	return file_google_iam_admin_v1_iam_proto_rawDescData
4563}
4564
4565var file_google_iam_admin_v1_iam_proto_enumTypes = make([]protoimpl.EnumInfo, 11)
4566var file_google_iam_admin_v1_iam_proto_msgTypes = make([]protoimpl.MessageInfo, 41)
4567var file_google_iam_admin_v1_iam_proto_goTypes = []interface{}{
4568	(ServiceAccountKeyAlgorithm)(0),                         // 0: google.iam.admin.v1.ServiceAccountKeyAlgorithm
4569	(ServiceAccountPrivateKeyType)(0),                       // 1: google.iam.admin.v1.ServiceAccountPrivateKeyType
4570	(ServiceAccountPublicKeyType)(0),                        // 2: google.iam.admin.v1.ServiceAccountPublicKeyType
4571	(ServiceAccountKeyOrigin)(0),                            // 3: google.iam.admin.v1.ServiceAccountKeyOrigin
4572	(RoleView)(0),                                           // 4: google.iam.admin.v1.RoleView
4573	(ListServiceAccountKeysRequest_KeyType)(0),              // 5: google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType
4574	(Role_RoleLaunchStage)(0),                               // 6: google.iam.admin.v1.Role.RoleLaunchStage
4575	(Permission_PermissionLaunchStage)(0),                   // 7: google.iam.admin.v1.Permission.PermissionLaunchStage
4576	(Permission_CustomRolesSupportLevel)(0),                 // 8: google.iam.admin.v1.Permission.CustomRolesSupportLevel
4577	(LintResult_Level)(0),                                   // 9: google.iam.admin.v1.LintResult.Level
4578	(LintResult_Severity)(0),                                // 10: google.iam.admin.v1.LintResult.Severity
4579	(*ServiceAccount)(nil),                                  // 11: google.iam.admin.v1.ServiceAccount
4580	(*CreateServiceAccountRequest)(nil),                     // 12: google.iam.admin.v1.CreateServiceAccountRequest
4581	(*ListServiceAccountsRequest)(nil),                      // 13: google.iam.admin.v1.ListServiceAccountsRequest
4582	(*ListServiceAccountsResponse)(nil),                     // 14: google.iam.admin.v1.ListServiceAccountsResponse
4583	(*GetServiceAccountRequest)(nil),                        // 15: google.iam.admin.v1.GetServiceAccountRequest
4584	(*DeleteServiceAccountRequest)(nil),                     // 16: google.iam.admin.v1.DeleteServiceAccountRequest
4585	(*PatchServiceAccountRequest)(nil),                      // 17: google.iam.admin.v1.PatchServiceAccountRequest
4586	(*UndeleteServiceAccountRequest)(nil),                   // 18: google.iam.admin.v1.UndeleteServiceAccountRequest
4587	(*UndeleteServiceAccountResponse)(nil),                  // 19: google.iam.admin.v1.UndeleteServiceAccountResponse
4588	(*EnableServiceAccountRequest)(nil),                     // 20: google.iam.admin.v1.EnableServiceAccountRequest
4589	(*DisableServiceAccountRequest)(nil),                    // 21: google.iam.admin.v1.DisableServiceAccountRequest
4590	(*ListServiceAccountKeysRequest)(nil),                   // 22: google.iam.admin.v1.ListServiceAccountKeysRequest
4591	(*ListServiceAccountKeysResponse)(nil),                  // 23: google.iam.admin.v1.ListServiceAccountKeysResponse
4592	(*GetServiceAccountKeyRequest)(nil),                     // 24: google.iam.admin.v1.GetServiceAccountKeyRequest
4593	(*ServiceAccountKey)(nil),                               // 25: google.iam.admin.v1.ServiceAccountKey
4594	(*CreateServiceAccountKeyRequest)(nil),                  // 26: google.iam.admin.v1.CreateServiceAccountKeyRequest
4595	(*UploadServiceAccountKeyRequest)(nil),                  // 27: google.iam.admin.v1.UploadServiceAccountKeyRequest
4596	(*DeleteServiceAccountKeyRequest)(nil),                  // 28: google.iam.admin.v1.DeleteServiceAccountKeyRequest
4597	(*SignBlobRequest)(nil),                                 // 29: google.iam.admin.v1.SignBlobRequest
4598	(*SignBlobResponse)(nil),                                // 30: google.iam.admin.v1.SignBlobResponse
4599	(*SignJwtRequest)(nil),                                  // 31: google.iam.admin.v1.SignJwtRequest
4600	(*SignJwtResponse)(nil),                                 // 32: google.iam.admin.v1.SignJwtResponse
4601	(*Role)(nil),                                            // 33: google.iam.admin.v1.Role
4602	(*QueryGrantableRolesRequest)(nil),                      // 34: google.iam.admin.v1.QueryGrantableRolesRequest
4603	(*QueryGrantableRolesResponse)(nil),                     // 35: google.iam.admin.v1.QueryGrantableRolesResponse
4604	(*ListRolesRequest)(nil),                                // 36: google.iam.admin.v1.ListRolesRequest
4605	(*ListRolesResponse)(nil),                               // 37: google.iam.admin.v1.ListRolesResponse
4606	(*GetRoleRequest)(nil),                                  // 38: google.iam.admin.v1.GetRoleRequest
4607	(*CreateRoleRequest)(nil),                               // 39: google.iam.admin.v1.CreateRoleRequest
4608	(*UpdateRoleRequest)(nil),                               // 40: google.iam.admin.v1.UpdateRoleRequest
4609	(*DeleteRoleRequest)(nil),                               // 41: google.iam.admin.v1.DeleteRoleRequest
4610	(*UndeleteRoleRequest)(nil),                             // 42: google.iam.admin.v1.UndeleteRoleRequest
4611	(*Permission)(nil),                                      // 43: google.iam.admin.v1.Permission
4612	(*QueryTestablePermissionsRequest)(nil),                 // 44: google.iam.admin.v1.QueryTestablePermissionsRequest
4613	(*QueryTestablePermissionsResponse)(nil),                // 45: google.iam.admin.v1.QueryTestablePermissionsResponse
4614	(*QueryAuditableServicesRequest)(nil),                   // 46: google.iam.admin.v1.QueryAuditableServicesRequest
4615	(*QueryAuditableServicesResponse)(nil),                  // 47: google.iam.admin.v1.QueryAuditableServicesResponse
4616	(*LintPolicyRequest)(nil),                               // 48: google.iam.admin.v1.LintPolicyRequest
4617	(*LintResult)(nil),                                      // 49: google.iam.admin.v1.LintResult
4618	(*LintPolicyResponse)(nil),                              // 50: google.iam.admin.v1.LintPolicyResponse
4619	(*QueryAuditableServicesResponse_AuditableService)(nil), // 51: google.iam.admin.v1.QueryAuditableServicesResponse.AuditableService
4620	(*fieldmaskpb.FieldMask)(nil),                           // 52: google.protobuf.FieldMask
4621	(*timestamppb.Timestamp)(nil),                           // 53: google.protobuf.Timestamp
4622	(*expr.Expr)(nil),                                       // 54: google.type.Expr
4623	(*v1.GetIamPolicyRequest)(nil),                          // 55: google.iam.v1.GetIamPolicyRequest
4624	(*v1.SetIamPolicyRequest)(nil),                          // 56: google.iam.v1.SetIamPolicyRequest
4625	(*v1.TestIamPermissionsRequest)(nil),                    // 57: google.iam.v1.TestIamPermissionsRequest
4626	(*emptypb.Empty)(nil),                                   // 58: google.protobuf.Empty
4627	(*v1.Policy)(nil),                                       // 59: google.iam.v1.Policy
4628	(*v1.TestIamPermissionsResponse)(nil),                   // 60: google.iam.v1.TestIamPermissionsResponse
4629}
4630var file_google_iam_admin_v1_iam_proto_depIdxs = []int32{
4631	11, // 0: google.iam.admin.v1.CreateServiceAccountRequest.service_account:type_name -> google.iam.admin.v1.ServiceAccount
4632	11, // 1: google.iam.admin.v1.ListServiceAccountsResponse.accounts:type_name -> google.iam.admin.v1.ServiceAccount
4633	11, // 2: google.iam.admin.v1.PatchServiceAccountRequest.service_account:type_name -> google.iam.admin.v1.ServiceAccount
4634	52, // 3: google.iam.admin.v1.PatchServiceAccountRequest.update_mask:type_name -> google.protobuf.FieldMask
4635	11, // 4: google.iam.admin.v1.UndeleteServiceAccountResponse.restored_account:type_name -> google.iam.admin.v1.ServiceAccount
4636	5,  // 5: google.iam.admin.v1.ListServiceAccountKeysRequest.key_types:type_name -> google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType
4637	25, // 6: google.iam.admin.v1.ListServiceAccountKeysResponse.keys:type_name -> google.iam.admin.v1.ServiceAccountKey
4638	2,  // 7: google.iam.admin.v1.GetServiceAccountKeyRequest.public_key_type:type_name -> google.iam.admin.v1.ServiceAccountPublicKeyType
4639	1,  // 8: google.iam.admin.v1.ServiceAccountKey.private_key_type:type_name -> google.iam.admin.v1.ServiceAccountPrivateKeyType
4640	0,  // 9: google.iam.admin.v1.ServiceAccountKey.key_algorithm:type_name -> google.iam.admin.v1.ServiceAccountKeyAlgorithm
4641	53, // 10: google.iam.admin.v1.ServiceAccountKey.valid_after_time:type_name -> google.protobuf.Timestamp
4642	53, // 11: google.iam.admin.v1.ServiceAccountKey.valid_before_time:type_name -> google.protobuf.Timestamp
4643	3,  // 12: google.iam.admin.v1.ServiceAccountKey.key_origin:type_name -> google.iam.admin.v1.ServiceAccountKeyOrigin
4644	5,  // 13: google.iam.admin.v1.ServiceAccountKey.key_type:type_name -> google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType
4645	1,  // 14: google.iam.admin.v1.CreateServiceAccountKeyRequest.private_key_type:type_name -> google.iam.admin.v1.ServiceAccountPrivateKeyType
4646	0,  // 15: google.iam.admin.v1.CreateServiceAccountKeyRequest.key_algorithm:type_name -> google.iam.admin.v1.ServiceAccountKeyAlgorithm
4647	6,  // 16: google.iam.admin.v1.Role.stage:type_name -> google.iam.admin.v1.Role.RoleLaunchStage
4648	4,  // 17: google.iam.admin.v1.QueryGrantableRolesRequest.view:type_name -> google.iam.admin.v1.RoleView
4649	33, // 18: google.iam.admin.v1.QueryGrantableRolesResponse.roles:type_name -> google.iam.admin.v1.Role
4650	4,  // 19: google.iam.admin.v1.ListRolesRequest.view:type_name -> google.iam.admin.v1.RoleView
4651	33, // 20: google.iam.admin.v1.ListRolesResponse.roles:type_name -> google.iam.admin.v1.Role
4652	33, // 21: google.iam.admin.v1.CreateRoleRequest.role:type_name -> google.iam.admin.v1.Role
4653	33, // 22: google.iam.admin.v1.UpdateRoleRequest.role:type_name -> google.iam.admin.v1.Role
4654	52, // 23: google.iam.admin.v1.UpdateRoleRequest.update_mask:type_name -> google.protobuf.FieldMask
4655	7,  // 24: google.iam.admin.v1.Permission.stage:type_name -> google.iam.admin.v1.Permission.PermissionLaunchStage
4656	8,  // 25: google.iam.admin.v1.Permission.custom_roles_support_level:type_name -> google.iam.admin.v1.Permission.CustomRolesSupportLevel
4657	43, // 26: google.iam.admin.v1.QueryTestablePermissionsResponse.permissions:type_name -> google.iam.admin.v1.Permission
4658	51, // 27: google.iam.admin.v1.QueryAuditableServicesResponse.services:type_name -> google.iam.admin.v1.QueryAuditableServicesResponse.AuditableService
4659	54, // 28: google.iam.admin.v1.LintPolicyRequest.condition:type_name -> google.type.Expr
4660	9,  // 29: google.iam.admin.v1.LintResult.level:type_name -> google.iam.admin.v1.LintResult.Level
4661	10, // 30: google.iam.admin.v1.LintResult.severity:type_name -> google.iam.admin.v1.LintResult.Severity
4662	49, // 31: google.iam.admin.v1.LintPolicyResponse.lint_results:type_name -> google.iam.admin.v1.LintResult
4663	13, // 32: google.iam.admin.v1.IAM.ListServiceAccounts:input_type -> google.iam.admin.v1.ListServiceAccountsRequest
4664	15, // 33: google.iam.admin.v1.IAM.GetServiceAccount:input_type -> google.iam.admin.v1.GetServiceAccountRequest
4665	12, // 34: google.iam.admin.v1.IAM.CreateServiceAccount:input_type -> google.iam.admin.v1.CreateServiceAccountRequest
4666	11, // 35: google.iam.admin.v1.IAM.UpdateServiceAccount:input_type -> google.iam.admin.v1.ServiceAccount
4667	17, // 36: google.iam.admin.v1.IAM.PatchServiceAccount:input_type -> google.iam.admin.v1.PatchServiceAccountRequest
4668	16, // 37: google.iam.admin.v1.IAM.DeleteServiceAccount:input_type -> google.iam.admin.v1.DeleteServiceAccountRequest
4669	18, // 38: google.iam.admin.v1.IAM.UndeleteServiceAccount:input_type -> google.iam.admin.v1.UndeleteServiceAccountRequest
4670	20, // 39: google.iam.admin.v1.IAM.EnableServiceAccount:input_type -> google.iam.admin.v1.EnableServiceAccountRequest
4671	21, // 40: google.iam.admin.v1.IAM.DisableServiceAccount:input_type -> google.iam.admin.v1.DisableServiceAccountRequest
4672	22, // 41: google.iam.admin.v1.IAM.ListServiceAccountKeys:input_type -> google.iam.admin.v1.ListServiceAccountKeysRequest
4673	24, // 42: google.iam.admin.v1.IAM.GetServiceAccountKey:input_type -> google.iam.admin.v1.GetServiceAccountKeyRequest
4674	26, // 43: google.iam.admin.v1.IAM.CreateServiceAccountKey:input_type -> google.iam.admin.v1.CreateServiceAccountKeyRequest
4675	27, // 44: google.iam.admin.v1.IAM.UploadServiceAccountKey:input_type -> google.iam.admin.v1.UploadServiceAccountKeyRequest
4676	28, // 45: google.iam.admin.v1.IAM.DeleteServiceAccountKey:input_type -> google.iam.admin.v1.DeleteServiceAccountKeyRequest
4677	29, // 46: google.iam.admin.v1.IAM.SignBlob:input_type -> google.iam.admin.v1.SignBlobRequest
4678	31, // 47: google.iam.admin.v1.IAM.SignJwt:input_type -> google.iam.admin.v1.SignJwtRequest
4679	55, // 48: google.iam.admin.v1.IAM.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
4680	56, // 49: google.iam.admin.v1.IAM.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
4681	57, // 50: google.iam.admin.v1.IAM.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
4682	34, // 51: google.iam.admin.v1.IAM.QueryGrantableRoles:input_type -> google.iam.admin.v1.QueryGrantableRolesRequest
4683	36, // 52: google.iam.admin.v1.IAM.ListRoles:input_type -> google.iam.admin.v1.ListRolesRequest
4684	38, // 53: google.iam.admin.v1.IAM.GetRole:input_type -> google.iam.admin.v1.GetRoleRequest
4685	39, // 54: google.iam.admin.v1.IAM.CreateRole:input_type -> google.iam.admin.v1.CreateRoleRequest
4686	40, // 55: google.iam.admin.v1.IAM.UpdateRole:input_type -> google.iam.admin.v1.UpdateRoleRequest
4687	41, // 56: google.iam.admin.v1.IAM.DeleteRole:input_type -> google.iam.admin.v1.DeleteRoleRequest
4688	42, // 57: google.iam.admin.v1.IAM.UndeleteRole:input_type -> google.iam.admin.v1.UndeleteRoleRequest
4689	44, // 58: google.iam.admin.v1.IAM.QueryTestablePermissions:input_type -> google.iam.admin.v1.QueryTestablePermissionsRequest
4690	46, // 59: google.iam.admin.v1.IAM.QueryAuditableServices:input_type -> google.iam.admin.v1.QueryAuditableServicesRequest
4691	48, // 60: google.iam.admin.v1.IAM.LintPolicy:input_type -> google.iam.admin.v1.LintPolicyRequest
4692	14, // 61: google.iam.admin.v1.IAM.ListServiceAccounts:output_type -> google.iam.admin.v1.ListServiceAccountsResponse
4693	11, // 62: google.iam.admin.v1.IAM.GetServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount
4694	11, // 63: google.iam.admin.v1.IAM.CreateServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount
4695	11, // 64: google.iam.admin.v1.IAM.UpdateServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount
4696	11, // 65: google.iam.admin.v1.IAM.PatchServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount
4697	58, // 66: google.iam.admin.v1.IAM.DeleteServiceAccount:output_type -> google.protobuf.Empty
4698	19, // 67: google.iam.admin.v1.IAM.UndeleteServiceAccount:output_type -> google.iam.admin.v1.UndeleteServiceAccountResponse
4699	58, // 68: google.iam.admin.v1.IAM.EnableServiceAccount:output_type -> google.protobuf.Empty
4700	58, // 69: google.iam.admin.v1.IAM.DisableServiceAccount:output_type -> google.protobuf.Empty
4701	23, // 70: google.iam.admin.v1.IAM.ListServiceAccountKeys:output_type -> google.iam.admin.v1.ListServiceAccountKeysResponse
4702	25, // 71: google.iam.admin.v1.IAM.GetServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey
4703	25, // 72: google.iam.admin.v1.IAM.CreateServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey
4704	25, // 73: google.iam.admin.v1.IAM.UploadServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey
4705	58, // 74: google.iam.admin.v1.IAM.DeleteServiceAccountKey:output_type -> google.protobuf.Empty
4706	30, // 75: google.iam.admin.v1.IAM.SignBlob:output_type -> google.iam.admin.v1.SignBlobResponse
4707	32, // 76: google.iam.admin.v1.IAM.SignJwt:output_type -> google.iam.admin.v1.SignJwtResponse
4708	59, // 77: google.iam.admin.v1.IAM.GetIamPolicy:output_type -> google.iam.v1.Policy
4709	59, // 78: google.iam.admin.v1.IAM.SetIamPolicy:output_type -> google.iam.v1.Policy
4710	60, // 79: google.iam.admin.v1.IAM.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
4711	35, // 80: google.iam.admin.v1.IAM.QueryGrantableRoles:output_type -> google.iam.admin.v1.QueryGrantableRolesResponse
4712	37, // 81: google.iam.admin.v1.IAM.ListRoles:output_type -> google.iam.admin.v1.ListRolesResponse
4713	33, // 82: google.iam.admin.v1.IAM.GetRole:output_type -> google.iam.admin.v1.Role
4714	33, // 83: google.iam.admin.v1.IAM.CreateRole:output_type -> google.iam.admin.v1.Role
4715	33, // 84: google.iam.admin.v1.IAM.UpdateRole:output_type -> google.iam.admin.v1.Role
4716	33, // 85: google.iam.admin.v1.IAM.DeleteRole:output_type -> google.iam.admin.v1.Role
4717	33, // 86: google.iam.admin.v1.IAM.UndeleteRole:output_type -> google.iam.admin.v1.Role
4718	45, // 87: google.iam.admin.v1.IAM.QueryTestablePermissions:output_type -> google.iam.admin.v1.QueryTestablePermissionsResponse
4719	47, // 88: google.iam.admin.v1.IAM.QueryAuditableServices:output_type -> google.iam.admin.v1.QueryAuditableServicesResponse
4720	50, // 89: google.iam.admin.v1.IAM.LintPolicy:output_type -> google.iam.admin.v1.LintPolicyResponse
4721	61, // [61:90] is the sub-list for method output_type
4722	32, // [32:61] is the sub-list for method input_type
4723	32, // [32:32] is the sub-list for extension type_name
4724	32, // [32:32] is the sub-list for extension extendee
4725	0,  // [0:32] is the sub-list for field type_name
4726}
4727
4728func init() { file_google_iam_admin_v1_iam_proto_init() }
4729func file_google_iam_admin_v1_iam_proto_init() {
4730	if File_google_iam_admin_v1_iam_proto != nil {
4731		return
4732	}
4733	if !protoimpl.UnsafeEnabled {
4734		file_google_iam_admin_v1_iam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4735			switch v := v.(*ServiceAccount); i {
4736			case 0:
4737				return &v.state
4738			case 1:
4739				return &v.sizeCache
4740			case 2:
4741				return &v.unknownFields
4742			default:
4743				return nil
4744			}
4745		}
4746		file_google_iam_admin_v1_iam_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4747			switch v := v.(*CreateServiceAccountRequest); i {
4748			case 0:
4749				return &v.state
4750			case 1:
4751				return &v.sizeCache
4752			case 2:
4753				return &v.unknownFields
4754			default:
4755				return nil
4756			}
4757		}
4758		file_google_iam_admin_v1_iam_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4759			switch v := v.(*ListServiceAccountsRequest); i {
4760			case 0:
4761				return &v.state
4762			case 1:
4763				return &v.sizeCache
4764			case 2:
4765				return &v.unknownFields
4766			default:
4767				return nil
4768			}
4769		}
4770		file_google_iam_admin_v1_iam_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4771			switch v := v.(*ListServiceAccountsResponse); i {
4772			case 0:
4773				return &v.state
4774			case 1:
4775				return &v.sizeCache
4776			case 2:
4777				return &v.unknownFields
4778			default:
4779				return nil
4780			}
4781		}
4782		file_google_iam_admin_v1_iam_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4783			switch v := v.(*GetServiceAccountRequest); i {
4784			case 0:
4785				return &v.state
4786			case 1:
4787				return &v.sizeCache
4788			case 2:
4789				return &v.unknownFields
4790			default:
4791				return nil
4792			}
4793		}
4794		file_google_iam_admin_v1_iam_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4795			switch v := v.(*DeleteServiceAccountRequest); i {
4796			case 0:
4797				return &v.state
4798			case 1:
4799				return &v.sizeCache
4800			case 2:
4801				return &v.unknownFields
4802			default:
4803				return nil
4804			}
4805		}
4806		file_google_iam_admin_v1_iam_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4807			switch v := v.(*PatchServiceAccountRequest); i {
4808			case 0:
4809				return &v.state
4810			case 1:
4811				return &v.sizeCache
4812			case 2:
4813				return &v.unknownFields
4814			default:
4815				return nil
4816			}
4817		}
4818		file_google_iam_admin_v1_iam_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4819			switch v := v.(*UndeleteServiceAccountRequest); i {
4820			case 0:
4821				return &v.state
4822			case 1:
4823				return &v.sizeCache
4824			case 2:
4825				return &v.unknownFields
4826			default:
4827				return nil
4828			}
4829		}
4830		file_google_iam_admin_v1_iam_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4831			switch v := v.(*UndeleteServiceAccountResponse); i {
4832			case 0:
4833				return &v.state
4834			case 1:
4835				return &v.sizeCache
4836			case 2:
4837				return &v.unknownFields
4838			default:
4839				return nil
4840			}
4841		}
4842		file_google_iam_admin_v1_iam_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4843			switch v := v.(*EnableServiceAccountRequest); i {
4844			case 0:
4845				return &v.state
4846			case 1:
4847				return &v.sizeCache
4848			case 2:
4849				return &v.unknownFields
4850			default:
4851				return nil
4852			}
4853		}
4854		file_google_iam_admin_v1_iam_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4855			switch v := v.(*DisableServiceAccountRequest); i {
4856			case 0:
4857				return &v.state
4858			case 1:
4859				return &v.sizeCache
4860			case 2:
4861				return &v.unknownFields
4862			default:
4863				return nil
4864			}
4865		}
4866		file_google_iam_admin_v1_iam_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4867			switch v := v.(*ListServiceAccountKeysRequest); i {
4868			case 0:
4869				return &v.state
4870			case 1:
4871				return &v.sizeCache
4872			case 2:
4873				return &v.unknownFields
4874			default:
4875				return nil
4876			}
4877		}
4878		file_google_iam_admin_v1_iam_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4879			switch v := v.(*ListServiceAccountKeysResponse); i {
4880			case 0:
4881				return &v.state
4882			case 1:
4883				return &v.sizeCache
4884			case 2:
4885				return &v.unknownFields
4886			default:
4887				return nil
4888			}
4889		}
4890		file_google_iam_admin_v1_iam_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4891			switch v := v.(*GetServiceAccountKeyRequest); i {
4892			case 0:
4893				return &v.state
4894			case 1:
4895				return &v.sizeCache
4896			case 2:
4897				return &v.unknownFields
4898			default:
4899				return nil
4900			}
4901		}
4902		file_google_iam_admin_v1_iam_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4903			switch v := v.(*ServiceAccountKey); i {
4904			case 0:
4905				return &v.state
4906			case 1:
4907				return &v.sizeCache
4908			case 2:
4909				return &v.unknownFields
4910			default:
4911				return nil
4912			}
4913		}
4914		file_google_iam_admin_v1_iam_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4915			switch v := v.(*CreateServiceAccountKeyRequest); i {
4916			case 0:
4917				return &v.state
4918			case 1:
4919				return &v.sizeCache
4920			case 2:
4921				return &v.unknownFields
4922			default:
4923				return nil
4924			}
4925		}
4926		file_google_iam_admin_v1_iam_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4927			switch v := v.(*UploadServiceAccountKeyRequest); i {
4928			case 0:
4929				return &v.state
4930			case 1:
4931				return &v.sizeCache
4932			case 2:
4933				return &v.unknownFields
4934			default:
4935				return nil
4936			}
4937		}
4938		file_google_iam_admin_v1_iam_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4939			switch v := v.(*DeleteServiceAccountKeyRequest); i {
4940			case 0:
4941				return &v.state
4942			case 1:
4943				return &v.sizeCache
4944			case 2:
4945				return &v.unknownFields
4946			default:
4947				return nil
4948			}
4949		}
4950		file_google_iam_admin_v1_iam_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4951			switch v := v.(*SignBlobRequest); i {
4952			case 0:
4953				return &v.state
4954			case 1:
4955				return &v.sizeCache
4956			case 2:
4957				return &v.unknownFields
4958			default:
4959				return nil
4960			}
4961		}
4962		file_google_iam_admin_v1_iam_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4963			switch v := v.(*SignBlobResponse); i {
4964			case 0:
4965				return &v.state
4966			case 1:
4967				return &v.sizeCache
4968			case 2:
4969				return &v.unknownFields
4970			default:
4971				return nil
4972			}
4973		}
4974		file_google_iam_admin_v1_iam_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4975			switch v := v.(*SignJwtRequest); i {
4976			case 0:
4977				return &v.state
4978			case 1:
4979				return &v.sizeCache
4980			case 2:
4981				return &v.unknownFields
4982			default:
4983				return nil
4984			}
4985		}
4986		file_google_iam_admin_v1_iam_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4987			switch v := v.(*SignJwtResponse); i {
4988			case 0:
4989				return &v.state
4990			case 1:
4991				return &v.sizeCache
4992			case 2:
4993				return &v.unknownFields
4994			default:
4995				return nil
4996			}
4997		}
4998		file_google_iam_admin_v1_iam_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4999			switch v := v.(*Role); i {
5000			case 0:
5001				return &v.state
5002			case 1:
5003				return &v.sizeCache
5004			case 2:
5005				return &v.unknownFields
5006			default:
5007				return nil
5008			}
5009		}
5010		file_google_iam_admin_v1_iam_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
5011			switch v := v.(*QueryGrantableRolesRequest); i {
5012			case 0:
5013				return &v.state
5014			case 1:
5015				return &v.sizeCache
5016			case 2:
5017				return &v.unknownFields
5018			default:
5019				return nil
5020			}
5021		}
5022		file_google_iam_admin_v1_iam_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
5023			switch v := v.(*QueryGrantableRolesResponse); i {
5024			case 0:
5025				return &v.state
5026			case 1:
5027				return &v.sizeCache
5028			case 2:
5029				return &v.unknownFields
5030			default:
5031				return nil
5032			}
5033		}
5034		file_google_iam_admin_v1_iam_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
5035			switch v := v.(*ListRolesRequest); i {
5036			case 0:
5037				return &v.state
5038			case 1:
5039				return &v.sizeCache
5040			case 2:
5041				return &v.unknownFields
5042			default:
5043				return nil
5044			}
5045		}
5046		file_google_iam_admin_v1_iam_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
5047			switch v := v.(*ListRolesResponse); i {
5048			case 0:
5049				return &v.state
5050			case 1:
5051				return &v.sizeCache
5052			case 2:
5053				return &v.unknownFields
5054			default:
5055				return nil
5056			}
5057		}
5058		file_google_iam_admin_v1_iam_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
5059			switch v := v.(*GetRoleRequest); i {
5060			case 0:
5061				return &v.state
5062			case 1:
5063				return &v.sizeCache
5064			case 2:
5065				return &v.unknownFields
5066			default:
5067				return nil
5068			}
5069		}
5070		file_google_iam_admin_v1_iam_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
5071			switch v := v.(*CreateRoleRequest); i {
5072			case 0:
5073				return &v.state
5074			case 1:
5075				return &v.sizeCache
5076			case 2:
5077				return &v.unknownFields
5078			default:
5079				return nil
5080			}
5081		}
5082		file_google_iam_admin_v1_iam_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
5083			switch v := v.(*UpdateRoleRequest); i {
5084			case 0:
5085				return &v.state
5086			case 1:
5087				return &v.sizeCache
5088			case 2:
5089				return &v.unknownFields
5090			default:
5091				return nil
5092			}
5093		}
5094		file_google_iam_admin_v1_iam_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
5095			switch v := v.(*DeleteRoleRequest); i {
5096			case 0:
5097				return &v.state
5098			case 1:
5099				return &v.sizeCache
5100			case 2:
5101				return &v.unknownFields
5102			default:
5103				return nil
5104			}
5105		}
5106		file_google_iam_admin_v1_iam_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
5107			switch v := v.(*UndeleteRoleRequest); i {
5108			case 0:
5109				return &v.state
5110			case 1:
5111				return &v.sizeCache
5112			case 2:
5113				return &v.unknownFields
5114			default:
5115				return nil
5116			}
5117		}
5118		file_google_iam_admin_v1_iam_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
5119			switch v := v.(*Permission); i {
5120			case 0:
5121				return &v.state
5122			case 1:
5123				return &v.sizeCache
5124			case 2:
5125				return &v.unknownFields
5126			default:
5127				return nil
5128			}
5129		}
5130		file_google_iam_admin_v1_iam_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
5131			switch v := v.(*QueryTestablePermissionsRequest); i {
5132			case 0:
5133				return &v.state
5134			case 1:
5135				return &v.sizeCache
5136			case 2:
5137				return &v.unknownFields
5138			default:
5139				return nil
5140			}
5141		}
5142		file_google_iam_admin_v1_iam_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
5143			switch v := v.(*QueryTestablePermissionsResponse); i {
5144			case 0:
5145				return &v.state
5146			case 1:
5147				return &v.sizeCache
5148			case 2:
5149				return &v.unknownFields
5150			default:
5151				return nil
5152			}
5153		}
5154		file_google_iam_admin_v1_iam_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
5155			switch v := v.(*QueryAuditableServicesRequest); i {
5156			case 0:
5157				return &v.state
5158			case 1:
5159				return &v.sizeCache
5160			case 2:
5161				return &v.unknownFields
5162			default:
5163				return nil
5164			}
5165		}
5166		file_google_iam_admin_v1_iam_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
5167			switch v := v.(*QueryAuditableServicesResponse); i {
5168			case 0:
5169				return &v.state
5170			case 1:
5171				return &v.sizeCache
5172			case 2:
5173				return &v.unknownFields
5174			default:
5175				return nil
5176			}
5177		}
5178		file_google_iam_admin_v1_iam_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
5179			switch v := v.(*LintPolicyRequest); i {
5180			case 0:
5181				return &v.state
5182			case 1:
5183				return &v.sizeCache
5184			case 2:
5185				return &v.unknownFields
5186			default:
5187				return nil
5188			}
5189		}
5190		file_google_iam_admin_v1_iam_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
5191			switch v := v.(*LintResult); i {
5192			case 0:
5193				return &v.state
5194			case 1:
5195				return &v.sizeCache
5196			case 2:
5197				return &v.unknownFields
5198			default:
5199				return nil
5200			}
5201		}
5202		file_google_iam_admin_v1_iam_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
5203			switch v := v.(*LintPolicyResponse); i {
5204			case 0:
5205				return &v.state
5206			case 1:
5207				return &v.sizeCache
5208			case 2:
5209				return &v.unknownFields
5210			default:
5211				return nil
5212			}
5213		}
5214		file_google_iam_admin_v1_iam_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
5215			switch v := v.(*QueryAuditableServicesResponse_AuditableService); i {
5216			case 0:
5217				return &v.state
5218			case 1:
5219				return &v.sizeCache
5220			case 2:
5221				return &v.unknownFields
5222			default:
5223				return nil
5224			}
5225		}
5226	}
5227	file_google_iam_admin_v1_iam_proto_msgTypes[37].OneofWrappers = []interface{}{
5228		(*LintPolicyRequest_Condition)(nil),
5229	}
5230	type x struct{}
5231	out := protoimpl.TypeBuilder{
5232		File: protoimpl.DescBuilder{
5233			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
5234			RawDescriptor: file_google_iam_admin_v1_iam_proto_rawDesc,
5235			NumEnums:      11,
5236			NumMessages:   41,
5237			NumExtensions: 0,
5238			NumServices:   1,
5239		},
5240		GoTypes:           file_google_iam_admin_v1_iam_proto_goTypes,
5241		DependencyIndexes: file_google_iam_admin_v1_iam_proto_depIdxs,
5242		EnumInfos:         file_google_iam_admin_v1_iam_proto_enumTypes,
5243		MessageInfos:      file_google_iam_admin_v1_iam_proto_msgTypes,
5244	}.Build()
5245	File_google_iam_admin_v1_iam_proto = out.File
5246	file_google_iam_admin_v1_iam_proto_rawDesc = nil
5247	file_google_iam_admin_v1_iam_proto_goTypes = nil
5248	file_google_iam_admin_v1_iam_proto_depIdxs = nil
5249}
5250
5251// Reference imports to suppress errors if they are not otherwise used.
5252var _ context.Context
5253var _ grpc.ClientConnInterface
5254
5255// This is a compile-time assertion to ensure that this generated file
5256// is compatible with the grpc package it is being compiled against.
5257const _ = grpc.SupportPackageIsVersion6
5258
5259// IAMClient is the client API for IAM service.
5260//
5261// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
5262type IAMClient interface {
5263	// Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.
5264	ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error)
5265	// Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5266	GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
5267	// Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5268	CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
5269	// **Note:** We are in the process of deprecating this method. Use
5270	// [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead.
5271	//
5272	// Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5273	//
5274	// You can update only the `display_name` and `description` fields.
5275	UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error)
5276	// Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5277	PatchServiceAccount(ctx context.Context, in *PatchServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
5278	// Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5279	//
5280	// **Warning:** After you delete a service account, you might not be able to
5281	// undelete it. If you know that you need to re-enable the service account in
5282	// the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
5283	//
5284	// If you delete a service account, IAM permanently removes the service
5285	// account 30 days later. Google Cloud cannot recover the service account
5286	// after it is permanently removed, even if you file a support request.
5287	//
5288	// To help avoid unplanned outages, we recommend that you disable the service
5289	// account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the
5290	// service account, then wait at least 24 hours and watch for unintended
5291	// consequences. If there are no unintended consequences, you can delete the
5292	// service account.
5293	DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
5294	// Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5295	//
5296	// **Important:** It is not always possible to restore a deleted service
5297	// account. Use this method only as a last resort.
5298	//
5299	// After you delete a service account, IAM permanently removes the service
5300	// account 30 days later. There is no way to restore a deleted service account
5301	// that has been permanently removed.
5302	UndeleteServiceAccount(ctx context.Context, in *UndeleteServiceAccountRequest, opts ...grpc.CallOption) (*UndeleteServiceAccountResponse, error)
5303	// Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by
5304	// [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount].
5305	//
5306	// If the service account is already enabled, then this method has no effect.
5307	//
5308	// If the service account was disabled by other means—for example, if Google
5309	// disabled the service account because it was compromised—you cannot use this
5310	// method to enable the service account.
5311	EnableServiceAccount(ctx context.Context, in *EnableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
5312	// Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately.
5313	//
5314	// If an application uses the service account to authenticate, that
5315	// application can no longer call Google APIs or access Google Cloud
5316	// resources. Existing access tokens for the service account are rejected, and
5317	// requests for new access tokens will fail.
5318	//
5319	// To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you
5320	// re-enable the service account, its existing access tokens will be accepted,
5321	// and you can request new access tokens.
5322	//
5323	// To help avoid unplanned outages, we recommend that you disable the service
5324	// account before you delete it. Use this method to disable the service
5325	// account, then wait at least 24 hours and watch for unintended consequences.
5326	// If there are no unintended consequences, you can delete the service account
5327	// with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount].
5328	DisableServiceAccount(ctx context.Context, in *DisableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
5329	// Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
5330	ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error)
5331	// Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
5332	GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error)
5333	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
5334	CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error)
5335	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey], using a public key that you provide.
5336	UploadServiceAccountKey(ctx context.Context, in *UploadServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error)
5337	// Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not
5338	// revoke short-lived credentials that have been issued based on the service
5339	// account key.
5340	DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
5341	// Deprecated: Do not use.
5342	// **Note:** This method is deprecated. Use the
5343	// [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob)
5344	// method in the IAM Service Account Credentials API instead. If you currently
5345	// use this method, see the [migration
5346	// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
5347	// instructions.
5348	//
5349	// Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5350	SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error)
5351	// Deprecated: Do not use.
5352	// **Note:** This method is deprecated. Use the
5353	// [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt)
5354	// method in the IAM Service Account Credentials API instead. If you currently
5355	// use this method, see the [migration
5356	// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
5357	// instructions.
5358	//
5359	// Signs a JSON Web Token (JWT) using the system-managed private key for a
5360	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5361	SignJwt(ctx context.Context, in *SignJwtRequest, opts ...grpc.CallOption) (*SignJwtResponse, error)
5362	// Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM
5363	// policy specifies which members have access to the service account.
5364	//
5365	// This method does not tell you whether the service account has been granted
5366	// any roles on other resources. To check whether a service account has role
5367	// grants on a resource, use the `getIamPolicy` method for that resource. For
5368	// example, to view the role grants for a project, call the Resource Manager
5369	// API's
5370	// [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy)
5371	// method.
5372	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
5373	// Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5374	//
5375	// Use this method to grant or revoke access to the service account. For
5376	// example, you could grant a member the ability to impersonate the service
5377	// account.
5378	//
5379	// This method does not enable the service account to access other resources.
5380	// To grant roles to a service account on a resource, follow these steps:
5381	//
5382	// 1. Call the resource's `getIamPolicy` method to get its current IAM policy.
5383	// 2. Edit the policy so that it binds the service account to an IAM role for
5384	// the resource.
5385	// 3. Call the resource's `setIamPolicy` method to update its IAM policy.
5386	//
5387	// For detailed instructions, see
5388	// [Granting roles to a service account for specific
5389	// resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).
5390	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
5391	// Tests whether the caller has the specified permissions on a
5392	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5393	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
5394	// Lists roles that can be granted on a Google Cloud resource. A role is
5395	// grantable if the IAM policy for the resource can contain bindings to the
5396	// role.
5397	QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error)
5398	// Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role
5399	// that is defined for an organization or project.
5400	ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error)
5401	// Gets the definition of a [Role][google.iam.admin.v1.Role].
5402	GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*Role, error)
5403	// Creates a new custom [Role][google.iam.admin.v1.Role].
5404	CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*Role, error)
5405	// Updates the definition of a custom [Role][google.iam.admin.v1.Role].
5406	UpdateRole(ctx context.Context, in *UpdateRoleRequest, opts ...grpc.CallOption) (*Role, error)
5407	// Deletes a custom [Role][google.iam.admin.v1.Role].
5408	//
5409	// When you delete a custom role, the following changes occur immediately:
5410	//
5411	// * You cannot bind a member to the custom role in an IAM
5412	// [Policy][google.iam.v1.Policy].
5413	// * Existing bindings to the custom role are not changed, but they have no
5414	// effect.
5415	// * By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom
5416	// role.
5417	//
5418	// You have 7 days to undelete the custom role. After 7 days, the following
5419	// changes occur:
5420	//
5421	// * The custom role is permanently deleted and cannot be recovered.
5422	// * If an IAM policy contains a binding to the custom role, the binding is
5423	// permanently removed.
5424	DeleteRole(ctx context.Context, in *DeleteRoleRequest, opts ...grpc.CallOption) (*Role, error)
5425	// Undeletes a custom [Role][google.iam.admin.v1.Role].
5426	UndeleteRole(ctx context.Context, in *UndeleteRoleRequest, opts ...grpc.CallOption) (*Role, error)
5427	// Lists every permission that you can test on a resource. A permission is
5428	// testable if you can check whether a member has that permission on the
5429	// resource.
5430	QueryTestablePermissions(ctx context.Context, in *QueryTestablePermissionsRequest, opts ...grpc.CallOption) (*QueryTestablePermissionsResponse, error)
5431	// Returns a list of services that allow you to opt into audit logs that are
5432	// not generated by default.
5433	//
5434	// To learn more about audit logs, see the [Logging
5435	// documentation](https://cloud.google.com/logging/docs/audit).
5436	QueryAuditableServices(ctx context.Context, in *QueryAuditableServicesRequest, opts ...grpc.CallOption) (*QueryAuditableServicesResponse, error)
5437	// Lints, or validates, an IAM policy. Currently checks the
5438	// [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition
5439	// expression for a role binding.
5440	//
5441	// Successful calls to this method always return an HTTP `200 OK` status code,
5442	// even if the linter detects an issue in the IAM policy.
5443	LintPolicy(ctx context.Context, in *LintPolicyRequest, opts ...grpc.CallOption) (*LintPolicyResponse, error)
5444}
5445
5446type iAMClient struct {
5447	cc grpc.ClientConnInterface
5448}
5449
5450func NewIAMClient(cc grpc.ClientConnInterface) IAMClient {
5451	return &iAMClient{cc}
5452}
5453
5454func (c *iAMClient) ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error) {
5455	out := new(ListServiceAccountsResponse)
5456	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccounts", in, out, opts...)
5457	if err != nil {
5458		return nil, err
5459	}
5460	return out, nil
5461}
5462
5463func (c *iAMClient) GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
5464	out := new(ServiceAccount)
5465	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccount", in, out, opts...)
5466	if err != nil {
5467		return nil, err
5468	}
5469	return out, nil
5470}
5471
5472func (c *iAMClient) CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
5473	out := new(ServiceAccount)
5474	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccount", in, out, opts...)
5475	if err != nil {
5476		return nil, err
5477	}
5478	return out, nil
5479}
5480
5481func (c *iAMClient) UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error) {
5482	out := new(ServiceAccount)
5483	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UpdateServiceAccount", in, out, opts...)
5484	if err != nil {
5485		return nil, err
5486	}
5487	return out, nil
5488}
5489
5490func (c *iAMClient) PatchServiceAccount(ctx context.Context, in *PatchServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
5491	out := new(ServiceAccount)
5492	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/PatchServiceAccount", in, out, opts...)
5493	if err != nil {
5494		return nil, err
5495	}
5496	return out, nil
5497}
5498
5499func (c *iAMClient) DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
5500	out := new(emptypb.Empty)
5501	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccount", in, out, opts...)
5502	if err != nil {
5503		return nil, err
5504	}
5505	return out, nil
5506}
5507
5508func (c *iAMClient) UndeleteServiceAccount(ctx context.Context, in *UndeleteServiceAccountRequest, opts ...grpc.CallOption) (*UndeleteServiceAccountResponse, error) {
5509	out := new(UndeleteServiceAccountResponse)
5510	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UndeleteServiceAccount", in, out, opts...)
5511	if err != nil {
5512		return nil, err
5513	}
5514	return out, nil
5515}
5516
5517func (c *iAMClient) EnableServiceAccount(ctx context.Context, in *EnableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
5518	out := new(emptypb.Empty)
5519	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/EnableServiceAccount", in, out, opts...)
5520	if err != nil {
5521		return nil, err
5522	}
5523	return out, nil
5524}
5525
5526func (c *iAMClient) DisableServiceAccount(ctx context.Context, in *DisableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
5527	out := new(emptypb.Empty)
5528	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DisableServiceAccount", in, out, opts...)
5529	if err != nil {
5530		return nil, err
5531	}
5532	return out, nil
5533}
5534
5535func (c *iAMClient) ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error) {
5536	out := new(ListServiceAccountKeysResponse)
5537	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccountKeys", in, out, opts...)
5538	if err != nil {
5539		return nil, err
5540	}
5541	return out, nil
5542}
5543
5544func (c *iAMClient) GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) {
5545	out := new(ServiceAccountKey)
5546	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccountKey", in, out, opts...)
5547	if err != nil {
5548		return nil, err
5549	}
5550	return out, nil
5551}
5552
5553func (c *iAMClient) CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) {
5554	out := new(ServiceAccountKey)
5555	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccountKey", in, out, opts...)
5556	if err != nil {
5557		return nil, err
5558	}
5559	return out, nil
5560}
5561
5562func (c *iAMClient) UploadServiceAccountKey(ctx context.Context, in *UploadServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) {
5563	out := new(ServiceAccountKey)
5564	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UploadServiceAccountKey", in, out, opts...)
5565	if err != nil {
5566		return nil, err
5567	}
5568	return out, nil
5569}
5570
5571func (c *iAMClient) DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
5572	out := new(emptypb.Empty)
5573	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccountKey", in, out, opts...)
5574	if err != nil {
5575		return nil, err
5576	}
5577	return out, nil
5578}
5579
5580// Deprecated: Do not use.
5581func (c *iAMClient) SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error) {
5582	out := new(SignBlobResponse)
5583	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SignBlob", in, out, opts...)
5584	if err != nil {
5585		return nil, err
5586	}
5587	return out, nil
5588}
5589
5590// Deprecated: Do not use.
5591func (c *iAMClient) SignJwt(ctx context.Context, in *SignJwtRequest, opts ...grpc.CallOption) (*SignJwtResponse, error) {
5592	out := new(SignJwtResponse)
5593	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SignJwt", in, out, opts...)
5594	if err != nil {
5595		return nil, err
5596	}
5597	return out, nil
5598}
5599
5600func (c *iAMClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
5601	out := new(v1.Policy)
5602	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetIamPolicy", in, out, opts...)
5603	if err != nil {
5604		return nil, err
5605	}
5606	return out, nil
5607}
5608
5609func (c *iAMClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
5610	out := new(v1.Policy)
5611	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SetIamPolicy", in, out, opts...)
5612	if err != nil {
5613		return nil, err
5614	}
5615	return out, nil
5616}
5617
5618func (c *iAMClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
5619	out := new(v1.TestIamPermissionsResponse)
5620	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/TestIamPermissions", in, out, opts...)
5621	if err != nil {
5622		return nil, err
5623	}
5624	return out, nil
5625}
5626
5627func (c *iAMClient) QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error) {
5628	out := new(QueryGrantableRolesResponse)
5629	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryGrantableRoles", in, out, opts...)
5630	if err != nil {
5631		return nil, err
5632	}
5633	return out, nil
5634}
5635
5636func (c *iAMClient) ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error) {
5637	out := new(ListRolesResponse)
5638	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListRoles", in, out, opts...)
5639	if err != nil {
5640		return nil, err
5641	}
5642	return out, nil
5643}
5644
5645func (c *iAMClient) GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*Role, error) {
5646	out := new(Role)
5647	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetRole", in, out, opts...)
5648	if err != nil {
5649		return nil, err
5650	}
5651	return out, nil
5652}
5653
5654func (c *iAMClient) CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*Role, error) {
5655	out := new(Role)
5656	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateRole", in, out, opts...)
5657	if err != nil {
5658		return nil, err
5659	}
5660	return out, nil
5661}
5662
5663func (c *iAMClient) UpdateRole(ctx context.Context, in *UpdateRoleRequest, opts ...grpc.CallOption) (*Role, error) {
5664	out := new(Role)
5665	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UpdateRole", in, out, opts...)
5666	if err != nil {
5667		return nil, err
5668	}
5669	return out, nil
5670}
5671
5672func (c *iAMClient) DeleteRole(ctx context.Context, in *DeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) {
5673	out := new(Role)
5674	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteRole", in, out, opts...)
5675	if err != nil {
5676		return nil, err
5677	}
5678	return out, nil
5679}
5680
5681func (c *iAMClient) UndeleteRole(ctx context.Context, in *UndeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) {
5682	out := new(Role)
5683	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UndeleteRole", in, out, opts...)
5684	if err != nil {
5685		return nil, err
5686	}
5687	return out, nil
5688}
5689
5690func (c *iAMClient) QueryTestablePermissions(ctx context.Context, in *QueryTestablePermissionsRequest, opts ...grpc.CallOption) (*QueryTestablePermissionsResponse, error) {
5691	out := new(QueryTestablePermissionsResponse)
5692	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryTestablePermissions", in, out, opts...)
5693	if err != nil {
5694		return nil, err
5695	}
5696	return out, nil
5697}
5698
5699func (c *iAMClient) QueryAuditableServices(ctx context.Context, in *QueryAuditableServicesRequest, opts ...grpc.CallOption) (*QueryAuditableServicesResponse, error) {
5700	out := new(QueryAuditableServicesResponse)
5701	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryAuditableServices", in, out, opts...)
5702	if err != nil {
5703		return nil, err
5704	}
5705	return out, nil
5706}
5707
5708func (c *iAMClient) LintPolicy(ctx context.Context, in *LintPolicyRequest, opts ...grpc.CallOption) (*LintPolicyResponse, error) {
5709	out := new(LintPolicyResponse)
5710	err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/LintPolicy", in, out, opts...)
5711	if err != nil {
5712		return nil, err
5713	}
5714	return out, nil
5715}
5716
5717// IAMServer is the server API for IAM service.
5718type IAMServer interface {
5719	// Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.
5720	ListServiceAccounts(context.Context, *ListServiceAccountsRequest) (*ListServiceAccountsResponse, error)
5721	// Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5722	GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error)
5723	// Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5724	CreateServiceAccount(context.Context, *CreateServiceAccountRequest) (*ServiceAccount, error)
5725	// **Note:** We are in the process of deprecating this method. Use
5726	// [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead.
5727	//
5728	// Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5729	//
5730	// You can update only the `display_name` and `description` fields.
5731	UpdateServiceAccount(context.Context, *ServiceAccount) (*ServiceAccount, error)
5732	// Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5733	PatchServiceAccount(context.Context, *PatchServiceAccountRequest) (*ServiceAccount, error)
5734	// Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5735	//
5736	// **Warning:** After you delete a service account, you might not be able to
5737	// undelete it. If you know that you need to re-enable the service account in
5738	// the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
5739	//
5740	// If you delete a service account, IAM permanently removes the service
5741	// account 30 days later. Google Cloud cannot recover the service account
5742	// after it is permanently removed, even if you file a support request.
5743	//
5744	// To help avoid unplanned outages, we recommend that you disable the service
5745	// account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the
5746	// service account, then wait at least 24 hours and watch for unintended
5747	// consequences. If there are no unintended consequences, you can delete the
5748	// service account.
5749	DeleteServiceAccount(context.Context, *DeleteServiceAccountRequest) (*emptypb.Empty, error)
5750	// Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5751	//
5752	// **Important:** It is not always possible to restore a deleted service
5753	// account. Use this method only as a last resort.
5754	//
5755	// After you delete a service account, IAM permanently removes the service
5756	// account 30 days later. There is no way to restore a deleted service account
5757	// that has been permanently removed.
5758	UndeleteServiceAccount(context.Context, *UndeleteServiceAccountRequest) (*UndeleteServiceAccountResponse, error)
5759	// Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by
5760	// [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount].
5761	//
5762	// If the service account is already enabled, then this method has no effect.
5763	//
5764	// If the service account was disabled by other means—for example, if Google
5765	// disabled the service account because it was compromised—you cannot use this
5766	// method to enable the service account.
5767	EnableServiceAccount(context.Context, *EnableServiceAccountRequest) (*emptypb.Empty, error)
5768	// Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately.
5769	//
5770	// If an application uses the service account to authenticate, that
5771	// application can no longer call Google APIs or access Google Cloud
5772	// resources. Existing access tokens for the service account are rejected, and
5773	// requests for new access tokens will fail.
5774	//
5775	// To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you
5776	// re-enable the service account, its existing access tokens will be accepted,
5777	// and you can request new access tokens.
5778	//
5779	// To help avoid unplanned outages, we recommend that you disable the service
5780	// account before you delete it. Use this method to disable the service
5781	// account, then wait at least 24 hours and watch for unintended consequences.
5782	// If there are no unintended consequences, you can delete the service account
5783	// with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount].
5784	DisableServiceAccount(context.Context, *DisableServiceAccountRequest) (*emptypb.Empty, error)
5785	// Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
5786	ListServiceAccountKeys(context.Context, *ListServiceAccountKeysRequest) (*ListServiceAccountKeysResponse, error)
5787	// Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
5788	GetServiceAccountKey(context.Context, *GetServiceAccountKeyRequest) (*ServiceAccountKey, error)
5789	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
5790	CreateServiceAccountKey(context.Context, *CreateServiceAccountKeyRequest) (*ServiceAccountKey, error)
5791	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey], using a public key that you provide.
5792	UploadServiceAccountKey(context.Context, *UploadServiceAccountKeyRequest) (*ServiceAccountKey, error)
5793	// Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not
5794	// revoke short-lived credentials that have been issued based on the service
5795	// account key.
5796	DeleteServiceAccountKey(context.Context, *DeleteServiceAccountKeyRequest) (*emptypb.Empty, error)
5797	// Deprecated: Do not use.
5798	// **Note:** This method is deprecated. Use the
5799	// [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob)
5800	// method in the IAM Service Account Credentials API instead. If you currently
5801	// use this method, see the [migration
5802	// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
5803	// instructions.
5804	//
5805	// Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5806	SignBlob(context.Context, *SignBlobRequest) (*SignBlobResponse, error)
5807	// Deprecated: Do not use.
5808	// **Note:** This method is deprecated. Use the
5809	// [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt)
5810	// method in the IAM Service Account Credentials API instead. If you currently
5811	// use this method, see the [migration
5812	// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
5813	// instructions.
5814	//
5815	// Signs a JSON Web Token (JWT) using the system-managed private key for a
5816	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5817	SignJwt(context.Context, *SignJwtRequest) (*SignJwtResponse, error)
5818	// Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM
5819	// policy specifies which members have access to the service account.
5820	//
5821	// This method does not tell you whether the service account has been granted
5822	// any roles on other resources. To check whether a service account has role
5823	// grants on a resource, use the `getIamPolicy` method for that resource. For
5824	// example, to view the role grants for a project, call the Resource Manager
5825	// API's
5826	// [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy)
5827	// method.
5828	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
5829	// Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5830	//
5831	// Use this method to grant or revoke access to the service account. For
5832	// example, you could grant a member the ability to impersonate the service
5833	// account.
5834	//
5835	// This method does not enable the service account to access other resources.
5836	// To grant roles to a service account on a resource, follow these steps:
5837	//
5838	// 1. Call the resource's `getIamPolicy` method to get its current IAM policy.
5839	// 2. Edit the policy so that it binds the service account to an IAM role for
5840	// the resource.
5841	// 3. Call the resource's `setIamPolicy` method to update its IAM policy.
5842	//
5843	// For detailed instructions, see
5844	// [Granting roles to a service account for specific
5845	// resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).
5846	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
5847	// Tests whether the caller has the specified permissions on a
5848	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
5849	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
5850	// Lists roles that can be granted on a Google Cloud resource. A role is
5851	// grantable if the IAM policy for the resource can contain bindings to the
5852	// role.
5853	QueryGrantableRoles(context.Context, *QueryGrantableRolesRequest) (*QueryGrantableRolesResponse, error)
5854	// Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role
5855	// that is defined for an organization or project.
5856	ListRoles(context.Context, *ListRolesRequest) (*ListRolesResponse, error)
5857	// Gets the definition of a [Role][google.iam.admin.v1.Role].
5858	GetRole(context.Context, *GetRoleRequest) (*Role, error)
5859	// Creates a new custom [Role][google.iam.admin.v1.Role].
5860	CreateRole(context.Context, *CreateRoleRequest) (*Role, error)
5861	// Updates the definition of a custom [Role][google.iam.admin.v1.Role].
5862	UpdateRole(context.Context, *UpdateRoleRequest) (*Role, error)
5863	// Deletes a custom [Role][google.iam.admin.v1.Role].
5864	//
5865	// When you delete a custom role, the following changes occur immediately:
5866	//
5867	// * You cannot bind a member to the custom role in an IAM
5868	// [Policy][google.iam.v1.Policy].
5869	// * Existing bindings to the custom role are not changed, but they have no
5870	// effect.
5871	// * By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom
5872	// role.
5873	//
5874	// You have 7 days to undelete the custom role. After 7 days, the following
5875	// changes occur:
5876	//
5877	// * The custom role is permanently deleted and cannot be recovered.
5878	// * If an IAM policy contains a binding to the custom role, the binding is
5879	// permanently removed.
5880	DeleteRole(context.Context, *DeleteRoleRequest) (*Role, error)
5881	// Undeletes a custom [Role][google.iam.admin.v1.Role].
5882	UndeleteRole(context.Context, *UndeleteRoleRequest) (*Role, error)
5883	// Lists every permission that you can test on a resource. A permission is
5884	// testable if you can check whether a member has that permission on the
5885	// resource.
5886	QueryTestablePermissions(context.Context, *QueryTestablePermissionsRequest) (*QueryTestablePermissionsResponse, error)
5887	// Returns a list of services that allow you to opt into audit logs that are
5888	// not generated by default.
5889	//
5890	// To learn more about audit logs, see the [Logging
5891	// documentation](https://cloud.google.com/logging/docs/audit).
5892	QueryAuditableServices(context.Context, *QueryAuditableServicesRequest) (*QueryAuditableServicesResponse, error)
5893	// Lints, or validates, an IAM policy. Currently checks the
5894	// [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition
5895	// expression for a role binding.
5896	//
5897	// Successful calls to this method always return an HTTP `200 OK` status code,
5898	// even if the linter detects an issue in the IAM policy.
5899	LintPolicy(context.Context, *LintPolicyRequest) (*LintPolicyResponse, error)
5900}
5901
5902// UnimplementedIAMServer can be embedded to have forward compatible implementations.
5903type UnimplementedIAMServer struct {
5904}
5905
5906func (*UnimplementedIAMServer) ListServiceAccounts(context.Context, *ListServiceAccountsRequest) (*ListServiceAccountsResponse, error) {
5907	return nil, status.Errorf(codes.Unimplemented, "method ListServiceAccounts not implemented")
5908}
5909func (*UnimplementedIAMServer) GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error) {
5910	return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccount not implemented")
5911}
5912func (*UnimplementedIAMServer) CreateServiceAccount(context.Context, *CreateServiceAccountRequest) (*ServiceAccount, error) {
5913	return nil, status.Errorf(codes.Unimplemented, "method CreateServiceAccount not implemented")
5914}
5915func (*UnimplementedIAMServer) UpdateServiceAccount(context.Context, *ServiceAccount) (*ServiceAccount, error) {
5916	return nil, status.Errorf(codes.Unimplemented, "method UpdateServiceAccount not implemented")
5917}
5918func (*UnimplementedIAMServer) PatchServiceAccount(context.Context, *PatchServiceAccountRequest) (*ServiceAccount, error) {
5919	return nil, status.Errorf(codes.Unimplemented, "method PatchServiceAccount not implemented")
5920}
5921func (*UnimplementedIAMServer) DeleteServiceAccount(context.Context, *DeleteServiceAccountRequest) (*emptypb.Empty, error) {
5922	return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceAccount not implemented")
5923}
5924func (*UnimplementedIAMServer) UndeleteServiceAccount(context.Context, *UndeleteServiceAccountRequest) (*UndeleteServiceAccountResponse, error) {
5925	return nil, status.Errorf(codes.Unimplemented, "method UndeleteServiceAccount not implemented")
5926}
5927func (*UnimplementedIAMServer) EnableServiceAccount(context.Context, *EnableServiceAccountRequest) (*emptypb.Empty, error) {
5928	return nil, status.Errorf(codes.Unimplemented, "method EnableServiceAccount not implemented")
5929}
5930func (*UnimplementedIAMServer) DisableServiceAccount(context.Context, *DisableServiceAccountRequest) (*emptypb.Empty, error) {
5931	return nil, status.Errorf(codes.Unimplemented, "method DisableServiceAccount not implemented")
5932}
5933func (*UnimplementedIAMServer) ListServiceAccountKeys(context.Context, *ListServiceAccountKeysRequest) (*ListServiceAccountKeysResponse, error) {
5934	return nil, status.Errorf(codes.Unimplemented, "method ListServiceAccountKeys not implemented")
5935}
5936func (*UnimplementedIAMServer) GetServiceAccountKey(context.Context, *GetServiceAccountKeyRequest) (*ServiceAccountKey, error) {
5937	return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccountKey not implemented")
5938}
5939func (*UnimplementedIAMServer) CreateServiceAccountKey(context.Context, *CreateServiceAccountKeyRequest) (*ServiceAccountKey, error) {
5940	return nil, status.Errorf(codes.Unimplemented, "method CreateServiceAccountKey not implemented")
5941}
5942func (*UnimplementedIAMServer) UploadServiceAccountKey(context.Context, *UploadServiceAccountKeyRequest) (*ServiceAccountKey, error) {
5943	return nil, status.Errorf(codes.Unimplemented, "method UploadServiceAccountKey not implemented")
5944}
5945func (*UnimplementedIAMServer) DeleteServiceAccountKey(context.Context, *DeleteServiceAccountKeyRequest) (*emptypb.Empty, error) {
5946	return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceAccountKey not implemented")
5947}
5948func (*UnimplementedIAMServer) SignBlob(context.Context, *SignBlobRequest) (*SignBlobResponse, error) {
5949	return nil, status.Errorf(codes.Unimplemented, "method SignBlob not implemented")
5950}
5951func (*UnimplementedIAMServer) SignJwt(context.Context, *SignJwtRequest) (*SignJwtResponse, error) {
5952	return nil, status.Errorf(codes.Unimplemented, "method SignJwt not implemented")
5953}
5954func (*UnimplementedIAMServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) {
5955	return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented")
5956}
5957func (*UnimplementedIAMServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) {
5958	return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented")
5959}
5960func (*UnimplementedIAMServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) {
5961	return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented")
5962}
5963func (*UnimplementedIAMServer) QueryGrantableRoles(context.Context, *QueryGrantableRolesRequest) (*QueryGrantableRolesResponse, error) {
5964	return nil, status.Errorf(codes.Unimplemented, "method QueryGrantableRoles not implemented")
5965}
5966func (*UnimplementedIAMServer) ListRoles(context.Context, *ListRolesRequest) (*ListRolesResponse, error) {
5967	return nil, status.Errorf(codes.Unimplemented, "method ListRoles not implemented")
5968}
5969func (*UnimplementedIAMServer) GetRole(context.Context, *GetRoleRequest) (*Role, error) {
5970	return nil, status.Errorf(codes.Unimplemented, "method GetRole not implemented")
5971}
5972func (*UnimplementedIAMServer) CreateRole(context.Context, *CreateRoleRequest) (*Role, error) {
5973	return nil, status.Errorf(codes.Unimplemented, "method CreateRole not implemented")
5974}
5975func (*UnimplementedIAMServer) UpdateRole(context.Context, *UpdateRoleRequest) (*Role, error) {
5976	return nil, status.Errorf(codes.Unimplemented, "method UpdateRole not implemented")
5977}
5978func (*UnimplementedIAMServer) DeleteRole(context.Context, *DeleteRoleRequest) (*Role, error) {
5979	return nil, status.Errorf(codes.Unimplemented, "method DeleteRole not implemented")
5980}
5981func (*UnimplementedIAMServer) UndeleteRole(context.Context, *UndeleteRoleRequest) (*Role, error) {
5982	return nil, status.Errorf(codes.Unimplemented, "method UndeleteRole not implemented")
5983}
5984func (*UnimplementedIAMServer) QueryTestablePermissions(context.Context, *QueryTestablePermissionsRequest) (*QueryTestablePermissionsResponse, error) {
5985	return nil, status.Errorf(codes.Unimplemented, "method QueryTestablePermissions not implemented")
5986}
5987func (*UnimplementedIAMServer) QueryAuditableServices(context.Context, *QueryAuditableServicesRequest) (*QueryAuditableServicesResponse, error) {
5988	return nil, status.Errorf(codes.Unimplemented, "method QueryAuditableServices not implemented")
5989}
5990func (*UnimplementedIAMServer) LintPolicy(context.Context, *LintPolicyRequest) (*LintPolicyResponse, error) {
5991	return nil, status.Errorf(codes.Unimplemented, "method LintPolicy not implemented")
5992}
5993
5994func RegisterIAMServer(s *grpc.Server, srv IAMServer) {
5995	s.RegisterService(&_IAM_serviceDesc, srv)
5996}
5997
5998func _IAM_ListServiceAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5999	in := new(ListServiceAccountsRequest)
6000	if err := dec(in); err != nil {
6001		return nil, err
6002	}
6003	if interceptor == nil {
6004		return srv.(IAMServer).ListServiceAccounts(ctx, in)
6005	}
6006	info := &grpc.UnaryServerInfo{
6007		Server:     srv,
6008		FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccounts",
6009	}
6010	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6011		return srv.(IAMServer).ListServiceAccounts(ctx, req.(*ListServiceAccountsRequest))
6012	}
6013	return interceptor(ctx, in, info, handler)
6014}
6015
6016func _IAM_GetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6017	in := new(GetServiceAccountRequest)
6018	if err := dec(in); err != nil {
6019		return nil, err
6020	}
6021	if interceptor == nil {
6022		return srv.(IAMServer).GetServiceAccount(ctx, in)
6023	}
6024	info := &grpc.UnaryServerInfo{
6025		Server:     srv,
6026		FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccount",
6027	}
6028	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6029		return srv.(IAMServer).GetServiceAccount(ctx, req.(*GetServiceAccountRequest))
6030	}
6031	return interceptor(ctx, in, info, handler)
6032}
6033
6034func _IAM_CreateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6035	in := new(CreateServiceAccountRequest)
6036	if err := dec(in); err != nil {
6037		return nil, err
6038	}
6039	if interceptor == nil {
6040		return srv.(IAMServer).CreateServiceAccount(ctx, in)
6041	}
6042	info := &grpc.UnaryServerInfo{
6043		Server:     srv,
6044		FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccount",
6045	}
6046	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6047		return srv.(IAMServer).CreateServiceAccount(ctx, req.(*CreateServiceAccountRequest))
6048	}
6049	return interceptor(ctx, in, info, handler)
6050}
6051
6052func _IAM_UpdateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6053	in := new(ServiceAccount)
6054	if err := dec(in); err != nil {
6055		return nil, err
6056	}
6057	if interceptor == nil {
6058		return srv.(IAMServer).UpdateServiceAccount(ctx, in)
6059	}
6060	info := &grpc.UnaryServerInfo{
6061		Server:     srv,
6062		FullMethod: "/google.iam.admin.v1.IAM/UpdateServiceAccount",
6063	}
6064	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6065		return srv.(IAMServer).UpdateServiceAccount(ctx, req.(*ServiceAccount))
6066	}
6067	return interceptor(ctx, in, info, handler)
6068}
6069
6070func _IAM_PatchServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6071	in := new(PatchServiceAccountRequest)
6072	if err := dec(in); err != nil {
6073		return nil, err
6074	}
6075	if interceptor == nil {
6076		return srv.(IAMServer).PatchServiceAccount(ctx, in)
6077	}
6078	info := &grpc.UnaryServerInfo{
6079		Server:     srv,
6080		FullMethod: "/google.iam.admin.v1.IAM/PatchServiceAccount",
6081	}
6082	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6083		return srv.(IAMServer).PatchServiceAccount(ctx, req.(*PatchServiceAccountRequest))
6084	}
6085	return interceptor(ctx, in, info, handler)
6086}
6087
6088func _IAM_DeleteServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6089	in := new(DeleteServiceAccountRequest)
6090	if err := dec(in); err != nil {
6091		return nil, err
6092	}
6093	if interceptor == nil {
6094		return srv.(IAMServer).DeleteServiceAccount(ctx, in)
6095	}
6096	info := &grpc.UnaryServerInfo{
6097		Server:     srv,
6098		FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccount",
6099	}
6100	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6101		return srv.(IAMServer).DeleteServiceAccount(ctx, req.(*DeleteServiceAccountRequest))
6102	}
6103	return interceptor(ctx, in, info, handler)
6104}
6105
6106func _IAM_UndeleteServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6107	in := new(UndeleteServiceAccountRequest)
6108	if err := dec(in); err != nil {
6109		return nil, err
6110	}
6111	if interceptor == nil {
6112		return srv.(IAMServer).UndeleteServiceAccount(ctx, in)
6113	}
6114	info := &grpc.UnaryServerInfo{
6115		Server:     srv,
6116		FullMethod: "/google.iam.admin.v1.IAM/UndeleteServiceAccount",
6117	}
6118	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6119		return srv.(IAMServer).UndeleteServiceAccount(ctx, req.(*UndeleteServiceAccountRequest))
6120	}
6121	return interceptor(ctx, in, info, handler)
6122}
6123
6124func _IAM_EnableServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6125	in := new(EnableServiceAccountRequest)
6126	if err := dec(in); err != nil {
6127		return nil, err
6128	}
6129	if interceptor == nil {
6130		return srv.(IAMServer).EnableServiceAccount(ctx, in)
6131	}
6132	info := &grpc.UnaryServerInfo{
6133		Server:     srv,
6134		FullMethod: "/google.iam.admin.v1.IAM/EnableServiceAccount",
6135	}
6136	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6137		return srv.(IAMServer).EnableServiceAccount(ctx, req.(*EnableServiceAccountRequest))
6138	}
6139	return interceptor(ctx, in, info, handler)
6140}
6141
6142func _IAM_DisableServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6143	in := new(DisableServiceAccountRequest)
6144	if err := dec(in); err != nil {
6145		return nil, err
6146	}
6147	if interceptor == nil {
6148		return srv.(IAMServer).DisableServiceAccount(ctx, in)
6149	}
6150	info := &grpc.UnaryServerInfo{
6151		Server:     srv,
6152		FullMethod: "/google.iam.admin.v1.IAM/DisableServiceAccount",
6153	}
6154	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6155		return srv.(IAMServer).DisableServiceAccount(ctx, req.(*DisableServiceAccountRequest))
6156	}
6157	return interceptor(ctx, in, info, handler)
6158}
6159
6160func _IAM_ListServiceAccountKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6161	in := new(ListServiceAccountKeysRequest)
6162	if err := dec(in); err != nil {
6163		return nil, err
6164	}
6165	if interceptor == nil {
6166		return srv.(IAMServer).ListServiceAccountKeys(ctx, in)
6167	}
6168	info := &grpc.UnaryServerInfo{
6169		Server:     srv,
6170		FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccountKeys",
6171	}
6172	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6173		return srv.(IAMServer).ListServiceAccountKeys(ctx, req.(*ListServiceAccountKeysRequest))
6174	}
6175	return interceptor(ctx, in, info, handler)
6176}
6177
6178func _IAM_GetServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6179	in := new(GetServiceAccountKeyRequest)
6180	if err := dec(in); err != nil {
6181		return nil, err
6182	}
6183	if interceptor == nil {
6184		return srv.(IAMServer).GetServiceAccountKey(ctx, in)
6185	}
6186	info := &grpc.UnaryServerInfo{
6187		Server:     srv,
6188		FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccountKey",
6189	}
6190	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6191		return srv.(IAMServer).GetServiceAccountKey(ctx, req.(*GetServiceAccountKeyRequest))
6192	}
6193	return interceptor(ctx, in, info, handler)
6194}
6195
6196func _IAM_CreateServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6197	in := new(CreateServiceAccountKeyRequest)
6198	if err := dec(in); err != nil {
6199		return nil, err
6200	}
6201	if interceptor == nil {
6202		return srv.(IAMServer).CreateServiceAccountKey(ctx, in)
6203	}
6204	info := &grpc.UnaryServerInfo{
6205		Server:     srv,
6206		FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccountKey",
6207	}
6208	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6209		return srv.(IAMServer).CreateServiceAccountKey(ctx, req.(*CreateServiceAccountKeyRequest))
6210	}
6211	return interceptor(ctx, in, info, handler)
6212}
6213
6214func _IAM_UploadServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6215	in := new(UploadServiceAccountKeyRequest)
6216	if err := dec(in); err != nil {
6217		return nil, err
6218	}
6219	if interceptor == nil {
6220		return srv.(IAMServer).UploadServiceAccountKey(ctx, in)
6221	}
6222	info := &grpc.UnaryServerInfo{
6223		Server:     srv,
6224		FullMethod: "/google.iam.admin.v1.IAM/UploadServiceAccountKey",
6225	}
6226	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6227		return srv.(IAMServer).UploadServiceAccountKey(ctx, req.(*UploadServiceAccountKeyRequest))
6228	}
6229	return interceptor(ctx, in, info, handler)
6230}
6231
6232func _IAM_DeleteServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6233	in := new(DeleteServiceAccountKeyRequest)
6234	if err := dec(in); err != nil {
6235		return nil, err
6236	}
6237	if interceptor == nil {
6238		return srv.(IAMServer).DeleteServiceAccountKey(ctx, in)
6239	}
6240	info := &grpc.UnaryServerInfo{
6241		Server:     srv,
6242		FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccountKey",
6243	}
6244	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6245		return srv.(IAMServer).DeleteServiceAccountKey(ctx, req.(*DeleteServiceAccountKeyRequest))
6246	}
6247	return interceptor(ctx, in, info, handler)
6248}
6249
6250func _IAM_SignBlob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6251	in := new(SignBlobRequest)
6252	if err := dec(in); err != nil {
6253		return nil, err
6254	}
6255	if interceptor == nil {
6256		return srv.(IAMServer).SignBlob(ctx, in)
6257	}
6258	info := &grpc.UnaryServerInfo{
6259		Server:     srv,
6260		FullMethod: "/google.iam.admin.v1.IAM/SignBlob",
6261	}
6262	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6263		return srv.(IAMServer).SignBlob(ctx, req.(*SignBlobRequest))
6264	}
6265	return interceptor(ctx, in, info, handler)
6266}
6267
6268func _IAM_SignJwt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6269	in := new(SignJwtRequest)
6270	if err := dec(in); err != nil {
6271		return nil, err
6272	}
6273	if interceptor == nil {
6274		return srv.(IAMServer).SignJwt(ctx, in)
6275	}
6276	info := &grpc.UnaryServerInfo{
6277		Server:     srv,
6278		FullMethod: "/google.iam.admin.v1.IAM/SignJwt",
6279	}
6280	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6281		return srv.(IAMServer).SignJwt(ctx, req.(*SignJwtRequest))
6282	}
6283	return interceptor(ctx, in, info, handler)
6284}
6285
6286func _IAM_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6287	in := new(v1.GetIamPolicyRequest)
6288	if err := dec(in); err != nil {
6289		return nil, err
6290	}
6291	if interceptor == nil {
6292		return srv.(IAMServer).GetIamPolicy(ctx, in)
6293	}
6294	info := &grpc.UnaryServerInfo{
6295		Server:     srv,
6296		FullMethod: "/google.iam.admin.v1.IAM/GetIamPolicy",
6297	}
6298	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6299		return srv.(IAMServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
6300	}
6301	return interceptor(ctx, in, info, handler)
6302}
6303
6304func _IAM_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6305	in := new(v1.SetIamPolicyRequest)
6306	if err := dec(in); err != nil {
6307		return nil, err
6308	}
6309	if interceptor == nil {
6310		return srv.(IAMServer).SetIamPolicy(ctx, in)
6311	}
6312	info := &grpc.UnaryServerInfo{
6313		Server:     srv,
6314		FullMethod: "/google.iam.admin.v1.IAM/SetIamPolicy",
6315	}
6316	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6317		return srv.(IAMServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
6318	}
6319	return interceptor(ctx, in, info, handler)
6320}
6321
6322func _IAM_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6323	in := new(v1.TestIamPermissionsRequest)
6324	if err := dec(in); err != nil {
6325		return nil, err
6326	}
6327	if interceptor == nil {
6328		return srv.(IAMServer).TestIamPermissions(ctx, in)
6329	}
6330	info := &grpc.UnaryServerInfo{
6331		Server:     srv,
6332		FullMethod: "/google.iam.admin.v1.IAM/TestIamPermissions",
6333	}
6334	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6335		return srv.(IAMServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
6336	}
6337	return interceptor(ctx, in, info, handler)
6338}
6339
6340func _IAM_QueryGrantableRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6341	in := new(QueryGrantableRolesRequest)
6342	if err := dec(in); err != nil {
6343		return nil, err
6344	}
6345	if interceptor == nil {
6346		return srv.(IAMServer).QueryGrantableRoles(ctx, in)
6347	}
6348	info := &grpc.UnaryServerInfo{
6349		Server:     srv,
6350		FullMethod: "/google.iam.admin.v1.IAM/QueryGrantableRoles",
6351	}
6352	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6353		return srv.(IAMServer).QueryGrantableRoles(ctx, req.(*QueryGrantableRolesRequest))
6354	}
6355	return interceptor(ctx, in, info, handler)
6356}
6357
6358func _IAM_ListRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6359	in := new(ListRolesRequest)
6360	if err := dec(in); err != nil {
6361		return nil, err
6362	}
6363	if interceptor == nil {
6364		return srv.(IAMServer).ListRoles(ctx, in)
6365	}
6366	info := &grpc.UnaryServerInfo{
6367		Server:     srv,
6368		FullMethod: "/google.iam.admin.v1.IAM/ListRoles",
6369	}
6370	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6371		return srv.(IAMServer).ListRoles(ctx, req.(*ListRolesRequest))
6372	}
6373	return interceptor(ctx, in, info, handler)
6374}
6375
6376func _IAM_GetRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6377	in := new(GetRoleRequest)
6378	if err := dec(in); err != nil {
6379		return nil, err
6380	}
6381	if interceptor == nil {
6382		return srv.(IAMServer).GetRole(ctx, in)
6383	}
6384	info := &grpc.UnaryServerInfo{
6385		Server:     srv,
6386		FullMethod: "/google.iam.admin.v1.IAM/GetRole",
6387	}
6388	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6389		return srv.(IAMServer).GetRole(ctx, req.(*GetRoleRequest))
6390	}
6391	return interceptor(ctx, in, info, handler)
6392}
6393
6394func _IAM_CreateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6395	in := new(CreateRoleRequest)
6396	if err := dec(in); err != nil {
6397		return nil, err
6398	}
6399	if interceptor == nil {
6400		return srv.(IAMServer).CreateRole(ctx, in)
6401	}
6402	info := &grpc.UnaryServerInfo{
6403		Server:     srv,
6404		FullMethod: "/google.iam.admin.v1.IAM/CreateRole",
6405	}
6406	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6407		return srv.(IAMServer).CreateRole(ctx, req.(*CreateRoleRequest))
6408	}
6409	return interceptor(ctx, in, info, handler)
6410}
6411
6412func _IAM_UpdateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6413	in := new(UpdateRoleRequest)
6414	if err := dec(in); err != nil {
6415		return nil, err
6416	}
6417	if interceptor == nil {
6418		return srv.(IAMServer).UpdateRole(ctx, in)
6419	}
6420	info := &grpc.UnaryServerInfo{
6421		Server:     srv,
6422		FullMethod: "/google.iam.admin.v1.IAM/UpdateRole",
6423	}
6424	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6425		return srv.(IAMServer).UpdateRole(ctx, req.(*UpdateRoleRequest))
6426	}
6427	return interceptor(ctx, in, info, handler)
6428}
6429
6430func _IAM_DeleteRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6431	in := new(DeleteRoleRequest)
6432	if err := dec(in); err != nil {
6433		return nil, err
6434	}
6435	if interceptor == nil {
6436		return srv.(IAMServer).DeleteRole(ctx, in)
6437	}
6438	info := &grpc.UnaryServerInfo{
6439		Server:     srv,
6440		FullMethod: "/google.iam.admin.v1.IAM/DeleteRole",
6441	}
6442	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6443		return srv.(IAMServer).DeleteRole(ctx, req.(*DeleteRoleRequest))
6444	}
6445	return interceptor(ctx, in, info, handler)
6446}
6447
6448func _IAM_UndeleteRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6449	in := new(UndeleteRoleRequest)
6450	if err := dec(in); err != nil {
6451		return nil, err
6452	}
6453	if interceptor == nil {
6454		return srv.(IAMServer).UndeleteRole(ctx, in)
6455	}
6456	info := &grpc.UnaryServerInfo{
6457		Server:     srv,
6458		FullMethod: "/google.iam.admin.v1.IAM/UndeleteRole",
6459	}
6460	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6461		return srv.(IAMServer).UndeleteRole(ctx, req.(*UndeleteRoleRequest))
6462	}
6463	return interceptor(ctx, in, info, handler)
6464}
6465
6466func _IAM_QueryTestablePermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6467	in := new(QueryTestablePermissionsRequest)
6468	if err := dec(in); err != nil {
6469		return nil, err
6470	}
6471	if interceptor == nil {
6472		return srv.(IAMServer).QueryTestablePermissions(ctx, in)
6473	}
6474	info := &grpc.UnaryServerInfo{
6475		Server:     srv,
6476		FullMethod: "/google.iam.admin.v1.IAM/QueryTestablePermissions",
6477	}
6478	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6479		return srv.(IAMServer).QueryTestablePermissions(ctx, req.(*QueryTestablePermissionsRequest))
6480	}
6481	return interceptor(ctx, in, info, handler)
6482}
6483
6484func _IAM_QueryAuditableServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6485	in := new(QueryAuditableServicesRequest)
6486	if err := dec(in); err != nil {
6487		return nil, err
6488	}
6489	if interceptor == nil {
6490		return srv.(IAMServer).QueryAuditableServices(ctx, in)
6491	}
6492	info := &grpc.UnaryServerInfo{
6493		Server:     srv,
6494		FullMethod: "/google.iam.admin.v1.IAM/QueryAuditableServices",
6495	}
6496	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6497		return srv.(IAMServer).QueryAuditableServices(ctx, req.(*QueryAuditableServicesRequest))
6498	}
6499	return interceptor(ctx, in, info, handler)
6500}
6501
6502func _IAM_LintPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6503	in := new(LintPolicyRequest)
6504	if err := dec(in); err != nil {
6505		return nil, err
6506	}
6507	if interceptor == nil {
6508		return srv.(IAMServer).LintPolicy(ctx, in)
6509	}
6510	info := &grpc.UnaryServerInfo{
6511		Server:     srv,
6512		FullMethod: "/google.iam.admin.v1.IAM/LintPolicy",
6513	}
6514	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6515		return srv.(IAMServer).LintPolicy(ctx, req.(*LintPolicyRequest))
6516	}
6517	return interceptor(ctx, in, info, handler)
6518}
6519
6520var _IAM_serviceDesc = grpc.ServiceDesc{
6521	ServiceName: "google.iam.admin.v1.IAM",
6522	HandlerType: (*IAMServer)(nil),
6523	Methods: []grpc.MethodDesc{
6524		{
6525			MethodName: "ListServiceAccounts",
6526			Handler:    _IAM_ListServiceAccounts_Handler,
6527		},
6528		{
6529			MethodName: "GetServiceAccount",
6530			Handler:    _IAM_GetServiceAccount_Handler,
6531		},
6532		{
6533			MethodName: "CreateServiceAccount",
6534			Handler:    _IAM_CreateServiceAccount_Handler,
6535		},
6536		{
6537			MethodName: "UpdateServiceAccount",
6538			Handler:    _IAM_UpdateServiceAccount_Handler,
6539		},
6540		{
6541			MethodName: "PatchServiceAccount",
6542			Handler:    _IAM_PatchServiceAccount_Handler,
6543		},
6544		{
6545			MethodName: "DeleteServiceAccount",
6546			Handler:    _IAM_DeleteServiceAccount_Handler,
6547		},
6548		{
6549			MethodName: "UndeleteServiceAccount",
6550			Handler:    _IAM_UndeleteServiceAccount_Handler,
6551		},
6552		{
6553			MethodName: "EnableServiceAccount",
6554			Handler:    _IAM_EnableServiceAccount_Handler,
6555		},
6556		{
6557			MethodName: "DisableServiceAccount",
6558			Handler:    _IAM_DisableServiceAccount_Handler,
6559		},
6560		{
6561			MethodName: "ListServiceAccountKeys",
6562			Handler:    _IAM_ListServiceAccountKeys_Handler,
6563		},
6564		{
6565			MethodName: "GetServiceAccountKey",
6566			Handler:    _IAM_GetServiceAccountKey_Handler,
6567		},
6568		{
6569			MethodName: "CreateServiceAccountKey",
6570			Handler:    _IAM_CreateServiceAccountKey_Handler,
6571		},
6572		{
6573			MethodName: "UploadServiceAccountKey",
6574			Handler:    _IAM_UploadServiceAccountKey_Handler,
6575		},
6576		{
6577			MethodName: "DeleteServiceAccountKey",
6578			Handler:    _IAM_DeleteServiceAccountKey_Handler,
6579		},
6580		{
6581			MethodName: "SignBlob",
6582			Handler:    _IAM_SignBlob_Handler,
6583		},
6584		{
6585			MethodName: "SignJwt",
6586			Handler:    _IAM_SignJwt_Handler,
6587		},
6588		{
6589			MethodName: "GetIamPolicy",
6590			Handler:    _IAM_GetIamPolicy_Handler,
6591		},
6592		{
6593			MethodName: "SetIamPolicy",
6594			Handler:    _IAM_SetIamPolicy_Handler,
6595		},
6596		{
6597			MethodName: "TestIamPermissions",
6598			Handler:    _IAM_TestIamPermissions_Handler,
6599		},
6600		{
6601			MethodName: "QueryGrantableRoles",
6602			Handler:    _IAM_QueryGrantableRoles_Handler,
6603		},
6604		{
6605			MethodName: "ListRoles",
6606			Handler:    _IAM_ListRoles_Handler,
6607		},
6608		{
6609			MethodName: "GetRole",
6610			Handler:    _IAM_GetRole_Handler,
6611		},
6612		{
6613			MethodName: "CreateRole",
6614			Handler:    _IAM_CreateRole_Handler,
6615		},
6616		{
6617			MethodName: "UpdateRole",
6618			Handler:    _IAM_UpdateRole_Handler,
6619		},
6620		{
6621			MethodName: "DeleteRole",
6622			Handler:    _IAM_DeleteRole_Handler,
6623		},
6624		{
6625			MethodName: "UndeleteRole",
6626			Handler:    _IAM_UndeleteRole_Handler,
6627		},
6628		{
6629			MethodName: "QueryTestablePermissions",
6630			Handler:    _IAM_QueryTestablePermissions_Handler,
6631		},
6632		{
6633			MethodName: "QueryAuditableServices",
6634			Handler:    _IAM_QueryAuditableServices_Handler,
6635		},
6636		{
6637			MethodName: "LintPolicy",
6638			Handler:    _IAM_LintPolicy_Handler,
6639		},
6640	},
6641	Streams:  []grpc.StreamDesc{},
6642	Metadata: "google/iam/admin/v1/iam.proto",
6643}
6644