| // Copyright 2022 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.26.0 |
| // protoc v3.21.5 |
| // source: google/iam/admin/v1/iam.proto |
| |
| package adminpb |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| v1 "cloud.google.com/go/iam/apiv1/iampb" |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| expr "google.golang.org/genproto/googleapis/type/expr" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| emptypb "google.golang.org/protobuf/types/known/emptypb" |
| fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // Supported key algorithms. |
| type ServiceAccountKeyAlgorithm int32 |
| |
| const ( |
| // An unspecified key algorithm. |
| ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED ServiceAccountKeyAlgorithm = 0 |
| // 1k RSA Key. |
| ServiceAccountKeyAlgorithm_KEY_ALG_RSA_1024 ServiceAccountKeyAlgorithm = 1 |
| // 2k RSA Key. |
| ServiceAccountKeyAlgorithm_KEY_ALG_RSA_2048 ServiceAccountKeyAlgorithm = 2 |
| ) |
| |
| // Enum value maps for ServiceAccountKeyAlgorithm. |
| var ( |
| ServiceAccountKeyAlgorithm_name = map[int32]string{ |
| 0: "KEY_ALG_UNSPECIFIED", |
| 1: "KEY_ALG_RSA_1024", |
| 2: "KEY_ALG_RSA_2048", |
| } |
| ServiceAccountKeyAlgorithm_value = map[string]int32{ |
| "KEY_ALG_UNSPECIFIED": 0, |
| "KEY_ALG_RSA_1024": 1, |
| "KEY_ALG_RSA_2048": 2, |
| } |
| ) |
| |
| func (x ServiceAccountKeyAlgorithm) Enum() *ServiceAccountKeyAlgorithm { |
| p := new(ServiceAccountKeyAlgorithm) |
| *p = x |
| return p |
| } |
| |
| func (x ServiceAccountKeyAlgorithm) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ServiceAccountKeyAlgorithm) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (ServiceAccountKeyAlgorithm) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[0] |
| } |
| |
| func (x ServiceAccountKeyAlgorithm) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ServiceAccountKeyAlgorithm.Descriptor instead. |
| func (ServiceAccountKeyAlgorithm) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // Supported private key output formats. |
| type ServiceAccountPrivateKeyType int32 |
| |
| const ( |
| // Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`. |
| ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED ServiceAccountPrivateKeyType = 0 |
| // PKCS12 format. |
| // The password for the PKCS12 file is `notasecret`. |
| // For more information, see https://tools.ietf.org/html/rfc7292. |
| ServiceAccountPrivateKeyType_TYPE_PKCS12_FILE ServiceAccountPrivateKeyType = 1 |
| // Google Credentials File format. |
| ServiceAccountPrivateKeyType_TYPE_GOOGLE_CREDENTIALS_FILE ServiceAccountPrivateKeyType = 2 |
| ) |
| |
| // Enum value maps for ServiceAccountPrivateKeyType. |
| var ( |
| ServiceAccountPrivateKeyType_name = map[int32]string{ |
| 0: "TYPE_UNSPECIFIED", |
| 1: "TYPE_PKCS12_FILE", |
| 2: "TYPE_GOOGLE_CREDENTIALS_FILE", |
| } |
| ServiceAccountPrivateKeyType_value = map[string]int32{ |
| "TYPE_UNSPECIFIED": 0, |
| "TYPE_PKCS12_FILE": 1, |
| "TYPE_GOOGLE_CREDENTIALS_FILE": 2, |
| } |
| ) |
| |
| func (x ServiceAccountPrivateKeyType) Enum() *ServiceAccountPrivateKeyType { |
| p := new(ServiceAccountPrivateKeyType) |
| *p = x |
| return p |
| } |
| |
| func (x ServiceAccountPrivateKeyType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ServiceAccountPrivateKeyType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (ServiceAccountPrivateKeyType) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[1] |
| } |
| |
| func (x ServiceAccountPrivateKeyType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ServiceAccountPrivateKeyType.Descriptor instead. |
| func (ServiceAccountPrivateKeyType) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{1} |
| } |
| |
| // Supported public key output formats. |
| type ServiceAccountPublicKeyType int32 |
| |
| const ( |
| // Do not return the public key. |
| ServiceAccountPublicKeyType_TYPE_NONE ServiceAccountPublicKeyType = 0 |
| // X509 PEM format. |
| ServiceAccountPublicKeyType_TYPE_X509_PEM_FILE ServiceAccountPublicKeyType = 1 |
| // Raw public key. |
| ServiceAccountPublicKeyType_TYPE_RAW_PUBLIC_KEY ServiceAccountPublicKeyType = 2 |
| ) |
| |
| // Enum value maps for ServiceAccountPublicKeyType. |
| var ( |
| ServiceAccountPublicKeyType_name = map[int32]string{ |
| 0: "TYPE_NONE", |
| 1: "TYPE_X509_PEM_FILE", |
| 2: "TYPE_RAW_PUBLIC_KEY", |
| } |
| ServiceAccountPublicKeyType_value = map[string]int32{ |
| "TYPE_NONE": 0, |
| "TYPE_X509_PEM_FILE": 1, |
| "TYPE_RAW_PUBLIC_KEY": 2, |
| } |
| ) |
| |
| func (x ServiceAccountPublicKeyType) Enum() *ServiceAccountPublicKeyType { |
| p := new(ServiceAccountPublicKeyType) |
| *p = x |
| return p |
| } |
| |
| func (x ServiceAccountPublicKeyType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ServiceAccountPublicKeyType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (ServiceAccountPublicKeyType) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[2] |
| } |
| |
| func (x ServiceAccountPublicKeyType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ServiceAccountPublicKeyType.Descriptor instead. |
| func (ServiceAccountPublicKeyType) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{2} |
| } |
| |
| // Service Account Key Origin. |
| type ServiceAccountKeyOrigin int32 |
| |
| const ( |
| // Unspecified key origin. |
| ServiceAccountKeyOrigin_ORIGIN_UNSPECIFIED ServiceAccountKeyOrigin = 0 |
| // Key is provided by user. |
| ServiceAccountKeyOrigin_USER_PROVIDED ServiceAccountKeyOrigin = 1 |
| // Key is provided by Google. |
| ServiceAccountKeyOrigin_GOOGLE_PROVIDED ServiceAccountKeyOrigin = 2 |
| ) |
| |
| // Enum value maps for ServiceAccountKeyOrigin. |
| var ( |
| ServiceAccountKeyOrigin_name = map[int32]string{ |
| 0: "ORIGIN_UNSPECIFIED", |
| 1: "USER_PROVIDED", |
| 2: "GOOGLE_PROVIDED", |
| } |
| ServiceAccountKeyOrigin_value = map[string]int32{ |
| "ORIGIN_UNSPECIFIED": 0, |
| "USER_PROVIDED": 1, |
| "GOOGLE_PROVIDED": 2, |
| } |
| ) |
| |
| func (x ServiceAccountKeyOrigin) Enum() *ServiceAccountKeyOrigin { |
| p := new(ServiceAccountKeyOrigin) |
| *p = x |
| return p |
| } |
| |
| func (x ServiceAccountKeyOrigin) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ServiceAccountKeyOrigin) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (ServiceAccountKeyOrigin) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[3] |
| } |
| |
| func (x ServiceAccountKeyOrigin) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ServiceAccountKeyOrigin.Descriptor instead. |
| func (ServiceAccountKeyOrigin) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{3} |
| } |
| |
| // A view for Role objects. |
| type RoleView int32 |
| |
| const ( |
| // Omits the `included_permissions` field. |
| // This is the default value. |
| RoleView_BASIC RoleView = 0 |
| // Returns all fields. |
| RoleView_FULL RoleView = 1 |
| ) |
| |
| // Enum value maps for RoleView. |
| var ( |
| RoleView_name = map[int32]string{ |
| 0: "BASIC", |
| 1: "FULL", |
| } |
| RoleView_value = map[string]int32{ |
| "BASIC": 0, |
| "FULL": 1, |
| } |
| ) |
| |
| func (x RoleView) Enum() *RoleView { |
| p := new(RoleView) |
| *p = x |
| return p |
| } |
| |
| func (x RoleView) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (RoleView) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (RoleView) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[4] |
| } |
| |
| func (x RoleView) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use RoleView.Descriptor instead. |
| func (RoleView) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{4} |
| } |
| |
| // `KeyType` filters to selectively retrieve certain varieties |
| // of keys. |
| type ListServiceAccountKeysRequest_KeyType int32 |
| |
| const ( |
| // Unspecified key type. The presence of this in the |
| // message will immediately result in an error. |
| ListServiceAccountKeysRequest_KEY_TYPE_UNSPECIFIED ListServiceAccountKeysRequest_KeyType = 0 |
| // User-managed keys (managed and rotated by the user). |
| ListServiceAccountKeysRequest_USER_MANAGED ListServiceAccountKeysRequest_KeyType = 1 |
| // System-managed keys (managed and rotated by Google). |
| ListServiceAccountKeysRequest_SYSTEM_MANAGED ListServiceAccountKeysRequest_KeyType = 2 |
| ) |
| |
| // Enum value maps for ListServiceAccountKeysRequest_KeyType. |
| var ( |
| ListServiceAccountKeysRequest_KeyType_name = map[int32]string{ |
| 0: "KEY_TYPE_UNSPECIFIED", |
| 1: "USER_MANAGED", |
| 2: "SYSTEM_MANAGED", |
| } |
| ListServiceAccountKeysRequest_KeyType_value = map[string]int32{ |
| "KEY_TYPE_UNSPECIFIED": 0, |
| "USER_MANAGED": 1, |
| "SYSTEM_MANAGED": 2, |
| } |
| ) |
| |
| func (x ListServiceAccountKeysRequest_KeyType) Enum() *ListServiceAccountKeysRequest_KeyType { |
| p := new(ListServiceAccountKeysRequest_KeyType) |
| *p = x |
| return p |
| } |
| |
| func (x ListServiceAccountKeysRequest_KeyType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (ListServiceAccountKeysRequest_KeyType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[5].Descriptor() |
| } |
| |
| func (ListServiceAccountKeysRequest_KeyType) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[5] |
| } |
| |
| func (x ListServiceAccountKeysRequest_KeyType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use ListServiceAccountKeysRequest_KeyType.Descriptor instead. |
| func (ListServiceAccountKeysRequest_KeyType) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{11, 0} |
| } |
| |
| // A stage representing a role's lifecycle phase. |
| type Role_RoleLaunchStage int32 |
| |
| const ( |
| // The user has indicated this role is currently in an Alpha phase. If this |
| // launch stage is selected, the `stage` field will not be included when |
| // requesting the definition for a given role. |
| Role_ALPHA Role_RoleLaunchStage = 0 |
| // The user has indicated this role is currently in a Beta phase. |
| Role_BETA Role_RoleLaunchStage = 1 |
| // The user has indicated this role is generally available. |
| Role_GA Role_RoleLaunchStage = 2 |
| // The user has indicated this role is being deprecated. |
| Role_DEPRECATED Role_RoleLaunchStage = 4 |
| // This role is disabled and will not contribute permissions to any |
| // principals it is granted to in policies. |
| Role_DISABLED Role_RoleLaunchStage = 5 |
| // The user has indicated this role is currently in an EAP phase. |
| Role_EAP Role_RoleLaunchStage = 6 |
| ) |
| |
| // Enum value maps for Role_RoleLaunchStage. |
| var ( |
| Role_RoleLaunchStage_name = map[int32]string{ |
| 0: "ALPHA", |
| 1: "BETA", |
| 2: "GA", |
| 4: "DEPRECATED", |
| 5: "DISABLED", |
| 6: "EAP", |
| } |
| Role_RoleLaunchStage_value = map[string]int32{ |
| "ALPHA": 0, |
| "BETA": 1, |
| "GA": 2, |
| "DEPRECATED": 4, |
| "DISABLED": 5, |
| "EAP": 6, |
| } |
| ) |
| |
| func (x Role_RoleLaunchStage) Enum() *Role_RoleLaunchStage { |
| p := new(Role_RoleLaunchStage) |
| *p = x |
| return p |
| } |
| |
| func (x Role_RoleLaunchStage) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Role_RoleLaunchStage) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[6].Descriptor() |
| } |
| |
| func (Role_RoleLaunchStage) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[6] |
| } |
| |
| func (x Role_RoleLaunchStage) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Role_RoleLaunchStage.Descriptor instead. |
| func (Role_RoleLaunchStage) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{24, 0} |
| } |
| |
| // A stage representing a permission's lifecycle phase. |
| type Permission_PermissionLaunchStage int32 |
| |
| const ( |
| // The permission is currently in an alpha phase. |
| Permission_ALPHA Permission_PermissionLaunchStage = 0 |
| // The permission is currently in a beta phase. |
| Permission_BETA Permission_PermissionLaunchStage = 1 |
| // The permission is generally available. |
| Permission_GA Permission_PermissionLaunchStage = 2 |
| // The permission is being deprecated. |
| Permission_DEPRECATED Permission_PermissionLaunchStage = 3 |
| ) |
| |
| // Enum value maps for Permission_PermissionLaunchStage. |
| var ( |
| Permission_PermissionLaunchStage_name = map[int32]string{ |
| 0: "ALPHA", |
| 1: "BETA", |
| 2: "GA", |
| 3: "DEPRECATED", |
| } |
| Permission_PermissionLaunchStage_value = map[string]int32{ |
| "ALPHA": 0, |
| "BETA": 1, |
| "GA": 2, |
| "DEPRECATED": 3, |
| } |
| ) |
| |
| func (x Permission_PermissionLaunchStage) Enum() *Permission_PermissionLaunchStage { |
| p := new(Permission_PermissionLaunchStage) |
| *p = x |
| return p |
| } |
| |
| func (x Permission_PermissionLaunchStage) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Permission_PermissionLaunchStage) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[7].Descriptor() |
| } |
| |
| func (Permission_PermissionLaunchStage) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[7] |
| } |
| |
| func (x Permission_PermissionLaunchStage) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Permission_PermissionLaunchStage.Descriptor instead. |
| func (Permission_PermissionLaunchStage) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{34, 0} |
| } |
| |
| // The state of the permission with regards to custom roles. |
| type Permission_CustomRolesSupportLevel int32 |
| |
| const ( |
| // Default state. Permission is fully supported for custom role use. |
| Permission_SUPPORTED Permission_CustomRolesSupportLevel = 0 |
| // Permission is being tested to check custom role compatibility. |
| Permission_TESTING Permission_CustomRolesSupportLevel = 1 |
| // Permission is not supported for custom role use. |
| Permission_NOT_SUPPORTED Permission_CustomRolesSupportLevel = 2 |
| ) |
| |
| // Enum value maps for Permission_CustomRolesSupportLevel. |
| var ( |
| Permission_CustomRolesSupportLevel_name = map[int32]string{ |
| 0: "SUPPORTED", |
| 1: "TESTING", |
| 2: "NOT_SUPPORTED", |
| } |
| Permission_CustomRolesSupportLevel_value = map[string]int32{ |
| "SUPPORTED": 0, |
| "TESTING": 1, |
| "NOT_SUPPORTED": 2, |
| } |
| ) |
| |
| func (x Permission_CustomRolesSupportLevel) Enum() *Permission_CustomRolesSupportLevel { |
| p := new(Permission_CustomRolesSupportLevel) |
| *p = x |
| return p |
| } |
| |
| func (x Permission_CustomRolesSupportLevel) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Permission_CustomRolesSupportLevel) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[8].Descriptor() |
| } |
| |
| func (Permission_CustomRolesSupportLevel) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[8] |
| } |
| |
| func (x Permission_CustomRolesSupportLevel) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Permission_CustomRolesSupportLevel.Descriptor instead. |
| func (Permission_CustomRolesSupportLevel) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{34, 1} |
| } |
| |
| // Possible Level values of a validation unit corresponding to its domain |
| // of discourse. |
| type LintResult_Level int32 |
| |
| const ( |
| // Level is unspecified. |
| LintResult_LEVEL_UNSPECIFIED LintResult_Level = 0 |
| // A validation unit which operates on an individual condition within a |
| // binding. |
| LintResult_CONDITION LintResult_Level = 3 |
| ) |
| |
| // Enum value maps for LintResult_Level. |
| var ( |
| LintResult_Level_name = map[int32]string{ |
| 0: "LEVEL_UNSPECIFIED", |
| 3: "CONDITION", |
| } |
| LintResult_Level_value = map[string]int32{ |
| "LEVEL_UNSPECIFIED": 0, |
| "CONDITION": 3, |
| } |
| ) |
| |
| func (x LintResult_Level) Enum() *LintResult_Level { |
| p := new(LintResult_Level) |
| *p = x |
| return p |
| } |
| |
| func (x LintResult_Level) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (LintResult_Level) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[9].Descriptor() |
| } |
| |
| func (LintResult_Level) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[9] |
| } |
| |
| func (x LintResult_Level) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use LintResult_Level.Descriptor instead. |
| func (LintResult_Level) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{40, 0} |
| } |
| |
| // Possible Severity values of an issued result. |
| type LintResult_Severity int32 |
| |
| const ( |
| // Severity is unspecified. |
| LintResult_SEVERITY_UNSPECIFIED LintResult_Severity = 0 |
| // A validation unit returns an error only for critical issues. If an |
| // attempt is made to set the problematic policy without rectifying the |
| // critical issue, it causes the `setPolicy` operation to fail. |
| LintResult_ERROR LintResult_Severity = 1 |
| // Any issue which is severe enough but does not cause an error. |
| // For example, suspicious constructs in the input object will not |
| // necessarily fail `setPolicy`, but there is a high likelihood that they |
| // won't behave as expected during policy evaluation in `checkPolicy`. |
| // This includes the following common scenarios: |
| // |
| // - Unsatisfiable condition: Expired timestamp in date/time condition. |
| // - Ineffective condition: Condition on a <principal, role> pair which is |
| // granted unconditionally in another binding of the same policy. |
| LintResult_WARNING LintResult_Severity = 2 |
| // Reserved for the issues that are not severe as `ERROR`/`WARNING`, but |
| // need special handling. For instance, messages about skipped validation |
| // units are issued as `NOTICE`. |
| LintResult_NOTICE LintResult_Severity = 3 |
| // Any informative statement which is not severe enough to raise |
| // `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the |
| // input content. Note that current version of the linter does not utilize |
| // `INFO`. |
| LintResult_INFO LintResult_Severity = 4 |
| // Deprecated severity level. |
| LintResult_DEPRECATED LintResult_Severity = 5 |
| ) |
| |
| // Enum value maps for LintResult_Severity. |
| var ( |
| LintResult_Severity_name = map[int32]string{ |
| 0: "SEVERITY_UNSPECIFIED", |
| 1: "ERROR", |
| 2: "WARNING", |
| 3: "NOTICE", |
| 4: "INFO", |
| 5: "DEPRECATED", |
| } |
| LintResult_Severity_value = map[string]int32{ |
| "SEVERITY_UNSPECIFIED": 0, |
| "ERROR": 1, |
| "WARNING": 2, |
| "NOTICE": 3, |
| "INFO": 4, |
| "DEPRECATED": 5, |
| } |
| ) |
| |
| func (x LintResult_Severity) Enum() *LintResult_Severity { |
| p := new(LintResult_Severity) |
| *p = x |
| return p |
| } |
| |
| func (x LintResult_Severity) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (LintResult_Severity) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_iam_admin_v1_iam_proto_enumTypes[10].Descriptor() |
| } |
| |
| func (LintResult_Severity) Type() protoreflect.EnumType { |
| return &file_google_iam_admin_v1_iam_proto_enumTypes[10] |
| } |
| |
| func (x LintResult_Severity) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use LintResult_Severity.Descriptor instead. |
| func (LintResult_Severity) EnumDescriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{40, 1} |
| } |
| |
| // An IAM service account. |
| // |
| // A service account is an account for an application or a virtual machine (VM) |
| // instance, not a person. You can use a service account to call Google APIs. To |
| // learn more, read the [overview of service |
| // accounts](https://cloud.google.com/iam/help/service-accounts/overview). |
| // |
| // When you create a service account, you specify the project ID that owns the |
| // service account, as well as a name that must be unique within the project. |
| // IAM uses these values to create an email address that identifies the service |
| // account. |
| type ServiceAccount struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account. |
| // |
| // Use one of the following formats: |
| // |
| // * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` |
| // * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` |
| // |
| // As an alternative, you can use the `-` wildcard character instead of the |
| // project ID: |
| // |
| // * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` |
| // * `projects/-/serviceAccounts/{UNIQUE_ID}` |
| // |
| // When possible, avoid using the `-` wildcard character, because it can cause |
| // response messages to contain misleading error codes. For example, if you |
| // try to get the service account |
| // `projects/-/serviceAccounts/fake@example.com`, which does not exist, the |
| // response contains an HTTP `403 Forbidden` error instead of a `404 Not |
| // Found` error. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. The ID of the project that owns the service account. |
| ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` |
| // Output only. The unique, stable numeric ID for the service account. |
| // |
| // Each service account retains its unique ID even if you delete the service |
| // account. For example, if you delete a service account, then create a new |
| // service account with the same name, the new service account has a different |
| // unique ID than the deleted service account. |
| UniqueId string `protobuf:"bytes,4,opt,name=unique_id,json=uniqueId,proto3" json:"unique_id,omitempty"` |
| // Output only. The email address of the service account. |
| Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"` |
| // Optional. A user-specified, human-readable name for the service account. The maximum |
| // length is 100 UTF-8 bytes. |
| DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Deprecated. Do not use. |
| // |
| // Deprecated: Do not use. |
| Etag []byte `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` |
| // Optional. A user-specified, human-readable description of the service account. The |
| // maximum length is 256 UTF-8 bytes. |
| Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` |
| // Output only. The OAuth 2.0 client ID for the service account. |
| Oauth2ClientId string `protobuf:"bytes,9,opt,name=oauth2_client_id,json=oauth2ClientId,proto3" json:"oauth2_client_id,omitempty"` |
| // Output only. Whether the service account is disabled. |
| Disabled bool `protobuf:"varint,11,opt,name=disabled,proto3" json:"disabled,omitempty"` |
| } |
| |
| func (x *ServiceAccount) Reset() { |
| *x = ServiceAccount{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ServiceAccount) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ServiceAccount) ProtoMessage() {} |
| |
| func (x *ServiceAccount) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead. |
| func (*ServiceAccount) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *ServiceAccount) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetProjectId() string { |
| if x != nil { |
| return x.ProjectId |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetUniqueId() string { |
| if x != nil { |
| return x.UniqueId |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetEmail() string { |
| if x != nil { |
| return x.Email |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *ServiceAccount) GetEtag() []byte { |
| if x != nil { |
| return x.Etag |
| } |
| return nil |
| } |
| |
| func (x *ServiceAccount) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetOauth2ClientId() string { |
| if x != nil { |
| return x.Oauth2ClientId |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccount) GetDisabled() bool { |
| if x != nil { |
| return x.Disabled |
| } |
| return false |
| } |
| |
| // The service account create request. |
| type CreateServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the project associated with the service |
| // accounts, such as `projects/my-project-123`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Required. The account id that is used to generate the service account |
| // email address and a stable unique id. It is unique within a project, |
| // must be 6-30 characters long, and match the regular expression |
| // `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. |
| AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` |
| // The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to |
| // create. Currently, only the following values are user assignable: |
| // `display_name` and `description`. |
| ServiceAccount *ServiceAccount `protobuf:"bytes,3,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` |
| } |
| |
| func (x *CreateServiceAccountRequest) Reset() { |
| *x = CreateServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *CreateServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *CreateServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *CreateServiceAccountRequest) GetAccountId() string { |
| if x != nil { |
| return x.AccountId |
| } |
| return "" |
| } |
| |
| func (x *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount { |
| if x != nil { |
| return x.ServiceAccount |
| } |
| return nil |
| } |
| |
| // The service account list request. |
| type ListServiceAccountsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the project associated with the service |
| // accounts, such as `projects/my-project-123`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional limit on the number of service accounts to include in the |
| // response. Further accounts can subsequently be obtained by including the |
| // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token] |
| // in a subsequent request. |
| // |
| // The default is 20, and the maximum is 100. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional pagination token returned in an earlier |
| // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| } |
| |
| func (x *ListServiceAccountsRequest) Reset() { |
| *x = ListServiceAccountsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServiceAccountsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServiceAccountsRequest) ProtoMessage() {} |
| |
| func (x *ListServiceAccountsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListServiceAccountsRequest.ProtoReflect.Descriptor instead. |
| func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *ListServiceAccountsRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *ListServiceAccountsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListServiceAccountsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| // The service account list response. |
| type ListServiceAccountsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of matching service accounts. |
| Accounts []*ServiceAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` |
| // To retrieve the next page of results, set |
| // [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token] |
| // to this value. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListServiceAccountsResponse) Reset() { |
| *x = ListServiceAccountsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServiceAccountsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServiceAccountsResponse) ProtoMessage() {} |
| |
| func (x *ListServiceAccountsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListServiceAccountsResponse.ProtoReflect.Descriptor instead. |
| func (*ListServiceAccountsResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *ListServiceAccountsResponse) GetAccounts() []*ServiceAccount { |
| if x != nil { |
| return x.Accounts |
| } |
| return nil |
| } |
| |
| func (x *ListServiceAccountsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // The service account get request. |
| type GetServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetServiceAccountRequest) Reset() { |
| *x = GetServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *GetServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *GetServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account delete request. |
| type DeleteServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DeleteServiceAccountRequest) Reset() { |
| *x = DeleteServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *DeleteServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *DeleteServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account patch request. |
| // |
| // You can patch only the `display_name` and `description` fields. You must use |
| // the `update_mask` field to specify which of these fields you want to patch. |
| // |
| // Only the fields specified in the request are guaranteed to be returned in |
| // the response. Other fields may be empty in the response. |
| type PatchServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| ServiceAccount *ServiceAccount `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| } |
| |
| func (x *PatchServiceAccountRequest) Reset() { |
| *x = PatchServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PatchServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PatchServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *PatchServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use PatchServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*PatchServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *PatchServiceAccountRequest) GetServiceAccount() *ServiceAccount { |
| if x != nil { |
| return x.ServiceAccount |
| } |
| return nil |
| } |
| |
| func (x *PatchServiceAccountRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| // The service account undelete request. |
| type UndeleteServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *UndeleteServiceAccountRequest) Reset() { |
| *x = UndeleteServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeleteServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeleteServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *UndeleteServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UndeleteServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*UndeleteServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *UndeleteServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| type UndeleteServiceAccountResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Metadata for the restored service account. |
| RestoredAccount *ServiceAccount `protobuf:"bytes,1,opt,name=restored_account,json=restoredAccount,proto3" json:"restored_account,omitempty"` |
| } |
| |
| func (x *UndeleteServiceAccountResponse) Reset() { |
| *x = UndeleteServiceAccountResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeleteServiceAccountResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeleteServiceAccountResponse) ProtoMessage() {} |
| |
| func (x *UndeleteServiceAccountResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UndeleteServiceAccountResponse.ProtoReflect.Descriptor instead. |
| func (*UndeleteServiceAccountResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *UndeleteServiceAccountResponse) GetRestoredAccount() *ServiceAccount { |
| if x != nil { |
| return x.RestoredAccount |
| } |
| return nil |
| } |
| |
| // The service account enable request. |
| type EnableServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *EnableServiceAccountRequest) Reset() { |
| *x = EnableServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *EnableServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*EnableServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *EnableServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use EnableServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*EnableServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *EnableServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account disable request. |
| type DisableServiceAccountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DisableServiceAccountRequest) Reset() { |
| *x = DisableServiceAccountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DisableServiceAccountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DisableServiceAccountRequest) ProtoMessage() {} |
| |
| func (x *DisableServiceAccountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DisableServiceAccountRequest.ProtoReflect.Descriptor instead. |
| func (*DisableServiceAccountRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *DisableServiceAccountRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account keys list request. |
| type ListServiceAccountKeysRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // |
| // Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Filters the types of keys the user wants to include in the list |
| // response. Duplicate key types are not allowed. If no key type |
| // is provided, all keys are returned. |
| 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"` |
| } |
| |
| func (x *ListServiceAccountKeysRequest) Reset() { |
| *x = ListServiceAccountKeysRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServiceAccountKeysRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServiceAccountKeysRequest) ProtoMessage() {} |
| |
| func (x *ListServiceAccountKeysRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListServiceAccountKeysRequest.ProtoReflect.Descriptor instead. |
| func (*ListServiceAccountKeysRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *ListServiceAccountKeysRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *ListServiceAccountKeysRequest) GetKeyTypes() []ListServiceAccountKeysRequest_KeyType { |
| if x != nil { |
| return x.KeyTypes |
| } |
| return nil |
| } |
| |
| // The service account keys list response. |
| type ListServiceAccountKeysResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The public keys for the service account. |
| Keys []*ServiceAccountKey `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` |
| } |
| |
| func (x *ListServiceAccountKeysResponse) Reset() { |
| *x = ListServiceAccountKeysResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServiceAccountKeysResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServiceAccountKeysResponse) ProtoMessage() {} |
| |
| func (x *ListServiceAccountKeysResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListServiceAccountKeysResponse.ProtoReflect.Descriptor instead. |
| func (*ListServiceAccountKeysResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *ListServiceAccountKeysResponse) GetKeys() []*ServiceAccountKey { |
| if x != nil { |
| return x.Keys |
| } |
| return nil |
| } |
| |
| // The service account key get by id request. |
| type GetServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account key in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. |
| // |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. The output format of the public key. The default is `TYPE_NONE`, which |
| // means that the public key is not returned. |
| PublicKeyType ServiceAccountPublicKeyType `protobuf:"varint,2,opt,name=public_key_type,json=publicKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPublicKeyType" json:"public_key_type,omitempty"` |
| } |
| |
| func (x *GetServiceAccountKeyRequest) Reset() { |
| *x = GetServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *GetServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*GetServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *GetServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *GetServiceAccountKeyRequest) GetPublicKeyType() ServiceAccountPublicKeyType { |
| if x != nil { |
| return x.PublicKeyType |
| } |
| return ServiceAccountPublicKeyType_TYPE_NONE |
| } |
| |
| // Represents a service account key. |
| // |
| // A service account has two sets of key-pairs: user-managed, and |
| // system-managed. |
| // |
| // User-managed key-pairs can be created and deleted by users. Users are |
| // responsible for rotating these keys periodically to ensure security of |
| // their service accounts. Users retain the private key of these key-pairs, |
| // and Google retains ONLY the public key. |
| // |
| // System-managed keys are automatically rotated by Google, and are used for |
| // signing for a maximum of two weeks. The rotation process is probabilistic, |
| // and usage of the new key will gradually ramp up and down over the key's |
| // lifetime. |
| // |
| // If you cache the public key set for a service account, we recommend that you |
| // update the cache every 15 minutes. User-managed keys can be added and removed |
| // at any time, so it is important to update the cache frequently. For |
| // Google-managed keys, Google will publish a key at least 6 hours before it is |
| // first used for signing and will keep publishing it for at least 6 hours after |
| // it was last used for signing. |
| // |
| // Public keys for all service accounts are also published at the OAuth2 |
| // Service Account API. |
| type ServiceAccountKey struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account key in the following format |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // The output format for the private key. |
| // Only provided in `CreateServiceAccountKey` responses, not |
| // in `GetServiceAccountKey` or `ListServiceAccountKey` responses. |
| // |
| // Google never exposes system-managed private keys, and never retains |
| // user-managed private keys. |
| PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"` |
| // Specifies the algorithm (and possibly key size) for the key. |
| KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,8,opt,name=key_algorithm,json=keyAlgorithm,proto3,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"` |
| // The private key data. Only provided in `CreateServiceAccountKey` |
| // responses. Make sure to keep the private key data secure because it |
| // allows for the assertion of the service account identity. |
| // When base64 decoded, the private key data can be used to authenticate with |
| // Google API client libraries and with |
| // <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud |
| // auth activate-service-account</a>. |
| PrivateKeyData []byte `protobuf:"bytes,3,opt,name=private_key_data,json=privateKeyData,proto3" json:"private_key_data,omitempty"` |
| // The public key data. Only provided in `GetServiceAccountKey` responses. |
| PublicKeyData []byte `protobuf:"bytes,7,opt,name=public_key_data,json=publicKeyData,proto3" json:"public_key_data,omitempty"` |
| // The key can be used after this timestamp. |
| ValidAfterTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=valid_after_time,json=validAfterTime,proto3" json:"valid_after_time,omitempty"` |
| // The key can be used before this timestamp. |
| // For system-managed key pairs, this timestamp is the end time for the |
| // private key signing operation. The public key could still be used |
| // for verification for a few hours after this time. |
| ValidBeforeTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=valid_before_time,json=validBeforeTime,proto3" json:"valid_before_time,omitempty"` |
| // The key origin. |
| KeyOrigin ServiceAccountKeyOrigin `protobuf:"varint,9,opt,name=key_origin,json=keyOrigin,proto3,enum=google.iam.admin.v1.ServiceAccountKeyOrigin" json:"key_origin,omitempty"` |
| // The key type. |
| KeyType ListServiceAccountKeysRequest_KeyType `protobuf:"varint,10,opt,name=key_type,json=keyType,proto3,enum=google.iam.admin.v1.ListServiceAccountKeysRequest_KeyType" json:"key_type,omitempty"` |
| // The key status. |
| Disabled bool `protobuf:"varint,11,opt,name=disabled,proto3" json:"disabled,omitempty"` |
| } |
| |
| func (x *ServiceAccountKey) Reset() { |
| *x = ServiceAccountKey{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ServiceAccountKey) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ServiceAccountKey) ProtoMessage() {} |
| |
| func (x *ServiceAccountKey) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ServiceAccountKey.ProtoReflect.Descriptor instead. |
| func (*ServiceAccountKey) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *ServiceAccountKey) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *ServiceAccountKey) GetPrivateKeyType() ServiceAccountPrivateKeyType { |
| if x != nil { |
| return x.PrivateKeyType |
| } |
| return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED |
| } |
| |
| func (x *ServiceAccountKey) GetKeyAlgorithm() ServiceAccountKeyAlgorithm { |
| if x != nil { |
| return x.KeyAlgorithm |
| } |
| return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED |
| } |
| |
| func (x *ServiceAccountKey) GetPrivateKeyData() []byte { |
| if x != nil { |
| return x.PrivateKeyData |
| } |
| return nil |
| } |
| |
| func (x *ServiceAccountKey) GetPublicKeyData() []byte { |
| if x != nil { |
| return x.PublicKeyData |
| } |
| return nil |
| } |
| |
| func (x *ServiceAccountKey) GetValidAfterTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ValidAfterTime |
| } |
| return nil |
| } |
| |
| func (x *ServiceAccountKey) GetValidBeforeTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ValidBeforeTime |
| } |
| return nil |
| } |
| |
| func (x *ServiceAccountKey) GetKeyOrigin() ServiceAccountKeyOrigin { |
| if x != nil { |
| return x.KeyOrigin |
| } |
| return ServiceAccountKeyOrigin_ORIGIN_UNSPECIFIED |
| } |
| |
| func (x *ServiceAccountKey) GetKeyType() ListServiceAccountKeysRequest_KeyType { |
| if x != nil { |
| return x.KeyType |
| } |
| return ListServiceAccountKeysRequest_KEY_TYPE_UNSPECIFIED |
| } |
| |
| func (x *ServiceAccountKey) GetDisabled() bool { |
| if x != nil { |
| return x.Disabled |
| } |
| return false |
| } |
| |
| // The service account key create request. |
| type CreateServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // The output format of the private key. The default value is |
| // `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File |
| // format. |
| PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,proto3,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"` |
| // Which type of key and algorithm to use for the key. |
| // The default is currently a 2K RSA key. However this may change in the |
| // future. |
| KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,3,opt,name=key_algorithm,json=keyAlgorithm,proto3,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"` |
| } |
| |
| func (x *CreateServiceAccountKeyRequest) Reset() { |
| *x = CreateServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *CreateServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[15] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*CreateServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *CreateServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *CreateServiceAccountKeyRequest) GetPrivateKeyType() ServiceAccountPrivateKeyType { |
| if x != nil { |
| return x.PrivateKeyType |
| } |
| return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED |
| } |
| |
| func (x *CreateServiceAccountKeyRequest) GetKeyAlgorithm() ServiceAccountKeyAlgorithm { |
| if x != nil { |
| return x.KeyAlgorithm |
| } |
| return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED |
| } |
| |
| // The service account key upload request. |
| type UploadServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // The public key to associate with the service account. Must be an RSA public |
| // key that is wrapped in an X.509 v3 certificate. Include the first line, |
| // `-----BEGIN CERTIFICATE-----`, and the last line, |
| // `-----END CERTIFICATE-----`. |
| PublicKeyData []byte `protobuf:"bytes,2,opt,name=public_key_data,json=publicKeyData,proto3" json:"public_key_data,omitempty"` |
| } |
| |
| func (x *UploadServiceAccountKeyRequest) Reset() { |
| *x = UploadServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UploadServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UploadServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *UploadServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UploadServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*UploadServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *UploadServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UploadServiceAccountKeyRequest) GetPublicKeyData() []byte { |
| if x != nil { |
| return x.PublicKeyData |
| } |
| return nil |
| } |
| |
| // The service account key delete request. |
| type DeleteServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account key in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DeleteServiceAccountKeyRequest) Reset() { |
| *x = DeleteServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *DeleteServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *DeleteServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account key disable request. |
| type DisableServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account key in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. |
| // |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DisableServiceAccountKeyRequest) Reset() { |
| *x = DisableServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DisableServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DisableServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *DisableServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[18] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DisableServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*DisableServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *DisableServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The service account key enable request. |
| type EnableServiceAccountKeyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the service account key in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. |
| // |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *EnableServiceAccountKeyRequest) Reset() { |
| *x = EnableServiceAccountKeyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *EnableServiceAccountKeyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*EnableServiceAccountKeyRequest) ProtoMessage() {} |
| |
| func (x *EnableServiceAccountKeyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[19] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use EnableServiceAccountKeyRequest.ProtoReflect.Descriptor instead. |
| func (*EnableServiceAccountKeyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *EnableServiceAccountKeyRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The service account sign blob request. |
| type SignBlobRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| // |
| // Deprecated: Do not use. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Required. Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The bytes to sign. |
| // |
| // Deprecated: Do not use. |
| BytesToSign []byte `protobuf:"bytes,2,opt,name=bytes_to_sign,json=bytesToSign,proto3" json:"bytes_to_sign,omitempty"` |
| } |
| |
| func (x *SignBlobRequest) Reset() { |
| *x = SignBlobRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SignBlobRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SignBlobRequest) ProtoMessage() {} |
| |
| func (x *SignBlobRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[20] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SignBlobRequest.ProtoReflect.Descriptor instead. |
| func (*SignBlobRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{20} |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignBlobRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignBlobRequest) GetBytesToSign() []byte { |
| if x != nil { |
| return x.BytesToSign |
| } |
| return nil |
| } |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The service account sign blob response. |
| type SignBlobResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The id of the key used to sign the blob. |
| // |
| // Deprecated: Do not use. |
| KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The signed blob. |
| // |
| // Deprecated: Do not use. |
| Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` |
| } |
| |
| func (x *SignBlobResponse) Reset() { |
| *x = SignBlobResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SignBlobResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SignBlobResponse) ProtoMessage() {} |
| |
| func (x *SignBlobResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[21] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SignBlobResponse.ProtoReflect.Descriptor instead. |
| func (*SignBlobResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{21} |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignBlobResponse) GetKeyId() string { |
| if x != nil { |
| return x.KeyId |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignBlobResponse) GetSignature() []byte { |
| if x != nil { |
| return x.Signature |
| } |
| return nil |
| } |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The service account sign JWT request. |
| type SignJwtRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The resource name of the service account in the following format: |
| // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. |
| // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from |
| // the account. The `ACCOUNT` value can be the `email` address or the |
| // `unique_id` of the service account. |
| // |
| // Deprecated: Do not use. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Required. Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The JWT payload to sign. Must be a serialized JSON object that contains a |
| // JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}` |
| // |
| // If the JWT Claims Set contains an expiration time (`exp`) claim, it must be |
| // an integer timestamp that is not in the past and no more than 12 hours in |
| // the future. |
| // |
| // If the JWT Claims Set does not contain an expiration time (`exp`) claim, |
| // this claim is added automatically, with a timestamp that is 1 hour in the |
| // future. |
| // |
| // Deprecated: Do not use. |
| Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` |
| } |
| |
| func (x *SignJwtRequest) Reset() { |
| *x = SignJwtRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SignJwtRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SignJwtRequest) ProtoMessage() {} |
| |
| func (x *SignJwtRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[22] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SignJwtRequest.ProtoReflect.Descriptor instead. |
| func (*SignJwtRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{22} |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignJwtRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignJwtRequest) GetPayload() string { |
| if x != nil { |
| return x.Payload |
| } |
| return "" |
| } |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The service account sign JWT response. |
| type SignJwtResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The id of the key used to sign the JWT. |
| // |
| // Deprecated: Do not use. |
| KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` |
| // Deprecated. [Migrate to Service Account Credentials |
| // API](https://cloud.google.com/iam/help/credentials/migrate-api). |
| // |
| // The signed JWT. |
| // |
| // Deprecated: Do not use. |
| SignedJwt string `protobuf:"bytes,2,opt,name=signed_jwt,json=signedJwt,proto3" json:"signed_jwt,omitempty"` |
| } |
| |
| func (x *SignJwtResponse) Reset() { |
| *x = SignJwtResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SignJwtResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SignJwtResponse) ProtoMessage() {} |
| |
| func (x *SignJwtResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[23] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SignJwtResponse.ProtoReflect.Descriptor instead. |
| func (*SignJwtResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{23} |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignJwtResponse) GetKeyId() string { |
| if x != nil { |
| return x.KeyId |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *SignJwtResponse) GetSignedJwt() string { |
| if x != nil { |
| return x.SignedJwt |
| } |
| return "" |
| } |
| |
| // A role in the Identity and Access Management API. |
| type Role struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The name of the role. |
| // |
| // When Role is used in CreateRole, the role name must not be set. |
| // |
| // When Role is used in output and other input such as UpdateRole, the role |
| // name is the complete path, e.g., roles/logging.viewer for predefined roles |
| // and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. A human-readable title for the role. Typically this |
| // is limited to 100 UTF-8 bytes. |
| Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` |
| // Optional. A human-readable description for the role. |
| Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` |
| // The names of the permissions this role grants when bound in an IAM policy. |
| IncludedPermissions []string `protobuf:"bytes,7,rep,name=included_permissions,json=includedPermissions,proto3" json:"included_permissions,omitempty"` |
| // The current launch stage of the role. If the `ALPHA` launch stage has been |
| // selected for a role, the `stage` field will not be included in the |
| // returned definition for the role. |
| Stage Role_RoleLaunchStage `protobuf:"varint,8,opt,name=stage,proto3,enum=google.iam.admin.v1.Role_RoleLaunchStage" json:"stage,omitempty"` |
| // Used to perform a consistent read-modify-write. |
| Etag []byte `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` |
| // The current deleted state of the role. This field is read only. |
| // It will be ignored in calls to CreateRole and UpdateRole. |
| Deleted bool `protobuf:"varint,11,opt,name=deleted,proto3" json:"deleted,omitempty"` |
| } |
| |
| func (x *Role) Reset() { |
| *x = Role{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Role) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Role) ProtoMessage() {} |
| |
| func (x *Role) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[24] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Role.ProtoReflect.Descriptor instead. |
| func (*Role) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{24} |
| } |
| |
| func (x *Role) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Role) GetTitle() string { |
| if x != nil { |
| return x.Title |
| } |
| return "" |
| } |
| |
| func (x *Role) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *Role) GetIncludedPermissions() []string { |
| if x != nil { |
| return x.IncludedPermissions |
| } |
| return nil |
| } |
| |
| func (x *Role) GetStage() Role_RoleLaunchStage { |
| if x != nil { |
| return x.Stage |
| } |
| return Role_ALPHA |
| } |
| |
| func (x *Role) GetEtag() []byte { |
| if x != nil { |
| return x.Etag |
| } |
| return nil |
| } |
| |
| func (x *Role) GetDeleted() bool { |
| if x != nil { |
| return x.Deleted |
| } |
| return false |
| } |
| |
| // The grantable role query request. |
| type QueryGrantableRolesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The full resource name to query from the list of grantable roles. |
| // |
| // The name follows the Google Cloud Platform resource format. |
| // For example, a Cloud Platform project with id `my-project` will be named |
| // `//cloudresourcemanager.googleapis.com/projects/my-project`. |
| FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"` |
| View RoleView `protobuf:"varint,2,opt,name=view,proto3,enum=google.iam.admin.v1.RoleView" json:"view,omitempty"` |
| // Optional limit on the number of roles to include in the response. |
| // |
| // The default is 300, and the maximum is 1,000. |
| PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional pagination token returned in an earlier |
| // QueryGrantableRolesResponse. |
| PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| } |
| |
| func (x *QueryGrantableRolesRequest) Reset() { |
| *x = QueryGrantableRolesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[25] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryGrantableRolesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryGrantableRolesRequest) ProtoMessage() {} |
| |
| func (x *QueryGrantableRolesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[25] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryGrantableRolesRequest.ProtoReflect.Descriptor instead. |
| func (*QueryGrantableRolesRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{25} |
| } |
| |
| func (x *QueryGrantableRolesRequest) GetFullResourceName() string { |
| if x != nil { |
| return x.FullResourceName |
| } |
| return "" |
| } |
| |
| func (x *QueryGrantableRolesRequest) GetView() RoleView { |
| if x != nil { |
| return x.View |
| } |
| return RoleView_BASIC |
| } |
| |
| func (x *QueryGrantableRolesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *QueryGrantableRolesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| // The grantable role query response. |
| type QueryGrantableRolesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The list of matching roles. |
| Roles []*Role `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` |
| // To retrieve the next page of results, set |
| // `QueryGrantableRolesRequest.page_token` to this value. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *QueryGrantableRolesResponse) Reset() { |
| *x = QueryGrantableRolesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[26] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryGrantableRolesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryGrantableRolesResponse) ProtoMessage() {} |
| |
| func (x *QueryGrantableRolesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[26] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryGrantableRolesResponse.ProtoReflect.Descriptor instead. |
| func (*QueryGrantableRolesResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{26} |
| } |
| |
| func (x *QueryGrantableRolesResponse) GetRoles() []*Role { |
| if x != nil { |
| return x.Roles |
| } |
| return nil |
| } |
| |
| func (x *QueryGrantableRolesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // The request to get all roles defined under a resource. |
| type ListRolesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `parent` parameter's value depends on the target resource for the |
| // request, namely |
| // [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `parent` value format is described below: |
| // |
| // - [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. |
| // This method doesn't require a resource; it simply returns all |
| // [predefined |
| // roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) |
| // in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` |
| // |
| // - [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): |
| // `projects/{PROJECT_ID}`. This method lists all project-level |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). |
| // Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` |
| // |
| // - [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): |
| // `organizations/{ORGANIZATION_ID}`. This method lists all |
| // organization-level [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). |
| // Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Optional limit on the number of roles to include in the response. |
| // |
| // The default is 300, and the maximum is 1,000. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional pagination token returned in an earlier ListRolesResponse. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Optional view for the returned Role objects. When `FULL` is specified, |
| // the `includedPermissions` field is returned, which includes a list of all |
| // permissions in the role. The default value is `BASIC`, which does not |
| // return the `includedPermissions` field. |
| View RoleView `protobuf:"varint,4,opt,name=view,proto3,enum=google.iam.admin.v1.RoleView" json:"view,omitempty"` |
| // Include Roles that have been deleted. |
| ShowDeleted bool `protobuf:"varint,6,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListRolesRequest) Reset() { |
| *x = ListRolesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[27] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListRolesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListRolesRequest) ProtoMessage() {} |
| |
| func (x *ListRolesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[27] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListRolesRequest.ProtoReflect.Descriptor instead. |
| func (*ListRolesRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{27} |
| } |
| |
| func (x *ListRolesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListRolesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListRolesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListRolesRequest) GetView() RoleView { |
| if x != nil { |
| return x.View |
| } |
| return RoleView_BASIC |
| } |
| |
| func (x *ListRolesRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // The response containing the roles defined under a resource. |
| type ListRolesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The Roles defined on this resource. |
| Roles []*Role `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` |
| // To retrieve the next page of results, set |
| // `ListRolesRequest.page_token` to this value. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListRolesResponse) Reset() { |
| *x = ListRolesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[28] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListRolesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListRolesResponse) ProtoMessage() {} |
| |
| func (x *ListRolesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[28] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ListRolesResponse.ProtoReflect.Descriptor instead. |
| func (*ListRolesResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{28} |
| } |
| |
| func (x *ListRolesResponse) GetRoles() []*Role { |
| if x != nil { |
| return x.Roles |
| } |
| return nil |
| } |
| |
| func (x *ListRolesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // The request to get the definition of an existing role. |
| type GetRoleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `name` parameter's value depends on the target resource for the |
| // request, namely |
| // [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `name` value format is described below: |
| // |
| // - [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. |
| // This method returns results from all |
| // [predefined |
| // roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) |
| // in Cloud IAM. Example request URL: |
| // `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` |
| // |
| // - [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): |
| // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the project level. Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // - [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): |
| // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method |
| // returns only [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the organization level. Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetRoleRequest) Reset() { |
| *x = GetRoleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[29] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetRoleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetRoleRequest) ProtoMessage() {} |
| |
| func (x *GetRoleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[29] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetRoleRequest.ProtoReflect.Descriptor instead. |
| func (*GetRoleRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{29} |
| } |
| |
| func (x *GetRoleRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // The request to create a new role. |
| type CreateRoleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `parent` parameter's value depends on the target resource for the |
| // request, namely |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `parent` value format is described below: |
| // |
| // - [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/create): |
| // `projects/{PROJECT_ID}`. This method creates project-level |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). |
| // Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` |
| // |
| // - [`organizations.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/create): |
| // `organizations/{ORGANIZATION_ID}`. This method creates organization-level |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). |
| // Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // The role ID to use for this role. |
| // |
| // A role ID may contain alphanumeric characters, underscores (`_`), and |
| // periods (`.`). It must contain a minimum of 3 characters and a maximum of |
| // 64 characters. |
| RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` |
| // The Role resource to create. |
| Role *Role `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` |
| } |
| |
| func (x *CreateRoleRequest) Reset() { |
| *x = CreateRoleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[30] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateRoleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateRoleRequest) ProtoMessage() {} |
| |
| func (x *CreateRoleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[30] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CreateRoleRequest.ProtoReflect.Descriptor instead. |
| func (*CreateRoleRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{30} |
| } |
| |
| func (x *CreateRoleRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateRoleRequest) GetRoleId() string { |
| if x != nil { |
| return x.RoleId |
| } |
| return "" |
| } |
| |
| func (x *CreateRoleRequest) GetRole() *Role { |
| if x != nil { |
| return x.Role |
| } |
| return nil |
| } |
| |
| // The request to update a role. |
| type UpdateRoleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `name` parameter's value depends on the target resource for the |
| // request, namely |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `name` value format is described below: |
| // |
| // - [`projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/patch): |
| // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the project level. Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // - [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/patch): |
| // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method |
| // updates only [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the organization level. Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // The updated role. |
| Role *Role `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` |
| // A mask describing which fields in the Role have changed. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| } |
| |
| func (x *UpdateRoleRequest) Reset() { |
| *x = UpdateRoleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[31] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateRoleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateRoleRequest) ProtoMessage() {} |
| |
| func (x *UpdateRoleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[31] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UpdateRoleRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateRoleRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{31} |
| } |
| |
| func (x *UpdateRoleRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UpdateRoleRequest) GetRole() *Role { |
| if x != nil { |
| return x.Role |
| } |
| return nil |
| } |
| |
| func (x *UpdateRoleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| // The request to delete an existing role. |
| type DeleteRoleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `name` parameter's value depends on the target resource for the |
| // request, namely |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `name` value format is described below: |
| // |
| // - [`projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/delete): |
| // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only |
| // [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the project level. Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // - [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/delete): |
| // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method |
| // deletes only [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the organization level. Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Used to perform a consistent read-modify-write. |
| Etag []byte `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *DeleteRoleRequest) Reset() { |
| *x = DeleteRoleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[32] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteRoleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteRoleRequest) ProtoMessage() {} |
| |
| func (x *DeleteRoleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[32] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteRoleRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteRoleRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{32} |
| } |
| |
| func (x *DeleteRoleRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeleteRoleRequest) GetEtag() []byte { |
| if x != nil { |
| return x.Etag |
| } |
| return nil |
| } |
| |
| // The request to undelete an existing role. |
| type UndeleteRoleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The `name` parameter's value depends on the target resource for the |
| // request, namely |
| // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) |
| // or |
| // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). |
| // Each resource type's `name` value format is described below: |
| // |
| // - [`projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/undelete): |
| // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes |
| // only [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the project level. Example request URL: |
| // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // - [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/undelete): |
| // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method |
| // undeletes only [custom |
| // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that |
| // have been created at the organization level. Example request URL: |
| // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` |
| // |
| // Note: Wildcard (*) values are invalid; you must specify a complete project |
| // ID or organization ID. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Used to perform a consistent read-modify-write. |
| Etag []byte `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *UndeleteRoleRequest) Reset() { |
| *x = UndeleteRoleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[33] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UndeleteRoleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UndeleteRoleRequest) ProtoMessage() {} |
| |
| func (x *UndeleteRoleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[33] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use UndeleteRoleRequest.ProtoReflect.Descriptor instead. |
| func (*UndeleteRoleRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{33} |
| } |
| |
| func (x *UndeleteRoleRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *UndeleteRoleRequest) GetEtag() []byte { |
| if x != nil { |
| return x.Etag |
| } |
| return nil |
| } |
| |
| // A permission which can be included by a role. |
| type Permission struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The name of this Permission. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // The title of this Permission. |
| Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` |
| // A brief description of what this Permission is used for. |
| // This permission can ONLY be used in predefined roles. |
| Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` |
| // Deprecated: Do not use. |
| OnlyInPredefinedRoles bool `protobuf:"varint,4,opt,name=only_in_predefined_roles,json=onlyInPredefinedRoles,proto3" json:"only_in_predefined_roles,omitempty"` |
| // The current launch stage of the permission. |
| Stage Permission_PermissionLaunchStage `protobuf:"varint,5,opt,name=stage,proto3,enum=google.iam.admin.v1.Permission_PermissionLaunchStage" json:"stage,omitempty"` |
| // The current custom role support level. |
| 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"` |
| // The service API associated with the permission is not enabled. |
| ApiDisabled bool `protobuf:"varint,7,opt,name=api_disabled,json=apiDisabled,proto3" json:"api_disabled,omitempty"` |
| // The preferred name for this permission. If present, then this permission is |
| // an alias of, and equivalent to, the listed primary_permission. |
| PrimaryPermission string `protobuf:"bytes,8,opt,name=primary_permission,json=primaryPermission,proto3" json:"primary_permission,omitempty"` |
| } |
| |
| func (x *Permission) Reset() { |
| *x = Permission{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[34] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Permission) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Permission) ProtoMessage() {} |
| |
| func (x *Permission) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[34] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Permission.ProtoReflect.Descriptor instead. |
| func (*Permission) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{34} |
| } |
| |
| func (x *Permission) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Permission) GetTitle() string { |
| if x != nil { |
| return x.Title |
| } |
| return "" |
| } |
| |
| func (x *Permission) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *Permission) GetOnlyInPredefinedRoles() bool { |
| if x != nil { |
| return x.OnlyInPredefinedRoles |
| } |
| return false |
| } |
| |
| func (x *Permission) GetStage() Permission_PermissionLaunchStage { |
| if x != nil { |
| return x.Stage |
| } |
| return Permission_ALPHA |
| } |
| |
| func (x *Permission) GetCustomRolesSupportLevel() Permission_CustomRolesSupportLevel { |
| if x != nil { |
| return x.CustomRolesSupportLevel |
| } |
| return Permission_SUPPORTED |
| } |
| |
| func (x *Permission) GetApiDisabled() bool { |
| if x != nil { |
| return x.ApiDisabled |
| } |
| return false |
| } |
| |
| func (x *Permission) GetPrimaryPermission() string { |
| if x != nil { |
| return x.PrimaryPermission |
| } |
| return "" |
| } |
| |
| // A request to get permissions which can be tested on a resource. |
| type QueryTestablePermissionsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The full resource name to query from the list of testable |
| // permissions. |
| // |
| // The name follows the Google Cloud Platform resource format. |
| // For example, a Cloud Platform project with id `my-project` will be named |
| // `//cloudresourcemanager.googleapis.com/projects/my-project`. |
| FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"` |
| // Optional limit on the number of permissions to include in the response. |
| // |
| // The default is 100, and the maximum is 1,000. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional pagination token returned in an earlier |
| // QueryTestablePermissionsRequest. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| } |
| |
| func (x *QueryTestablePermissionsRequest) Reset() { |
| *x = QueryTestablePermissionsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[35] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryTestablePermissionsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryTestablePermissionsRequest) ProtoMessage() {} |
| |
| func (x *QueryTestablePermissionsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[35] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryTestablePermissionsRequest.ProtoReflect.Descriptor instead. |
| func (*QueryTestablePermissionsRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{35} |
| } |
| |
| func (x *QueryTestablePermissionsRequest) GetFullResourceName() string { |
| if x != nil { |
| return x.FullResourceName |
| } |
| return "" |
| } |
| |
| func (x *QueryTestablePermissionsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *QueryTestablePermissionsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| // The response containing permissions which can be tested on a resource. |
| type QueryTestablePermissionsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The Permissions testable on the requested resource. |
| Permissions []*Permission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` |
| // To retrieve the next page of results, set |
| // `QueryTestableRolesRequest.page_token` to this value. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *QueryTestablePermissionsResponse) Reset() { |
| *x = QueryTestablePermissionsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[36] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryTestablePermissionsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryTestablePermissionsResponse) ProtoMessage() {} |
| |
| func (x *QueryTestablePermissionsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[36] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryTestablePermissionsResponse.ProtoReflect.Descriptor instead. |
| func (*QueryTestablePermissionsResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{36} |
| } |
| |
| func (x *QueryTestablePermissionsResponse) GetPermissions() []*Permission { |
| if x != nil { |
| return x.Permissions |
| } |
| return nil |
| } |
| |
| func (x *QueryTestablePermissionsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // A request to get the list of auditable services for a resource. |
| type QueryAuditableServicesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The full resource name to query from the list of auditable |
| // services. |
| // |
| // The name follows the Google Cloud Platform resource format. |
| // For example, a Cloud Platform project with id `my-project` will be named |
| // `//cloudresourcemanager.googleapis.com/projects/my-project`. |
| FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"` |
| } |
| |
| func (x *QueryAuditableServicesRequest) Reset() { |
| *x = QueryAuditableServicesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[37] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryAuditableServicesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryAuditableServicesRequest) ProtoMessage() {} |
| |
| func (x *QueryAuditableServicesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[37] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryAuditableServicesRequest.ProtoReflect.Descriptor instead. |
| func (*QueryAuditableServicesRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{37} |
| } |
| |
| func (x *QueryAuditableServicesRequest) GetFullResourceName() string { |
| if x != nil { |
| return x.FullResourceName |
| } |
| return "" |
| } |
| |
| // A response containing a list of auditable services for a resource. |
| type QueryAuditableServicesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The auditable services for a resource. |
| Services []*QueryAuditableServicesResponse_AuditableService `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` |
| } |
| |
| func (x *QueryAuditableServicesResponse) Reset() { |
| *x = QueryAuditableServicesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[38] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryAuditableServicesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryAuditableServicesResponse) ProtoMessage() {} |
| |
| func (x *QueryAuditableServicesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[38] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryAuditableServicesResponse.ProtoReflect.Descriptor instead. |
| func (*QueryAuditableServicesResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{38} |
| } |
| |
| func (x *QueryAuditableServicesResponse) GetServices() []*QueryAuditableServicesResponse_AuditableService { |
| if x != nil { |
| return x.Services |
| } |
| return nil |
| } |
| |
| // The request to lint a Cloud IAM policy object. |
| type LintPolicyRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The full resource name of the policy this lint request is about. |
| // |
| // The name follows the Google Cloud Platform (GCP) resource format. |
| // For example, a GCP project with ID `my-project` will be named |
| // `//cloudresourcemanager.googleapis.com/projects/my-project`. |
| // |
| // The resource name is not used to read the policy instance from the Cloud |
| // IAM database. The candidate policy for lint has to be provided in the same |
| // request object. |
| FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName,proto3" json:"full_resource_name,omitempty"` |
| // Required. The Cloud IAM object to be linted. |
| // |
| // Types that are assignable to LintObject: |
| // |
| // *LintPolicyRequest_Condition |
| LintObject isLintPolicyRequest_LintObject `protobuf_oneof:"lint_object"` |
| } |
| |
| func (x *LintPolicyRequest) Reset() { |
| *x = LintPolicyRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[39] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LintPolicyRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LintPolicyRequest) ProtoMessage() {} |
| |
| func (x *LintPolicyRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[39] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LintPolicyRequest.ProtoReflect.Descriptor instead. |
| func (*LintPolicyRequest) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{39} |
| } |
| |
| func (x *LintPolicyRequest) GetFullResourceName() string { |
| if x != nil { |
| return x.FullResourceName |
| } |
| return "" |
| } |
| |
| func (m *LintPolicyRequest) GetLintObject() isLintPolicyRequest_LintObject { |
| if m != nil { |
| return m.LintObject |
| } |
| return nil |
| } |
| |
| func (x *LintPolicyRequest) GetCondition() *expr.Expr { |
| if x, ok := x.GetLintObject().(*LintPolicyRequest_Condition); ok { |
| return x.Condition |
| } |
| return nil |
| } |
| |
| type isLintPolicyRequest_LintObject interface { |
| isLintPolicyRequest_LintObject() |
| } |
| |
| type LintPolicyRequest_Condition struct { |
| // [google.iam.v1.Binding.condition] [google.iam.v1.Binding.condition] object to be linted. |
| Condition *expr.Expr `protobuf:"bytes,5,opt,name=condition,proto3,oneof"` |
| } |
| |
| func (*LintPolicyRequest_Condition) isLintPolicyRequest_LintObject() {} |
| |
| // Structured response of a single validation unit. |
| type LintResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The validation unit level. |
| Level LintResult_Level `protobuf:"varint,1,opt,name=level,proto3,enum=google.iam.admin.v1.LintResult_Level" json:"level,omitempty"` |
| // The validation unit name, for instance |
| // "lintValidationUnits/ConditionComplexityCheck". |
| ValidationUnitName string `protobuf:"bytes,2,opt,name=validation_unit_name,json=validationUnitName,proto3" json:"validation_unit_name,omitempty"` |
| // The validation unit severity. |
| Severity LintResult_Severity `protobuf:"varint,3,opt,name=severity,proto3,enum=google.iam.admin.v1.LintResult_Severity" json:"severity,omitempty"` |
| // The name of the field for which this lint result is about. |
| // |
| // For nested messages `field_name` consists of names of the embedded fields |
| // separated by period character. The top-level qualifier is the input object |
| // to lint in the request. For example, the `field_name` value |
| // `condition.expression` identifies a lint result for the `expression` field |
| // of the provided condition. |
| FieldName string `protobuf:"bytes,5,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` |
| // 0-based character position of problematic construct within the object |
| // identified by `field_name`. Currently, this is populated only for condition |
| // expression. |
| LocationOffset int32 `protobuf:"varint,6,opt,name=location_offset,json=locationOffset,proto3" json:"location_offset,omitempty"` |
| // Human readable debug message associated with the issue. |
| DebugMessage string `protobuf:"bytes,7,opt,name=debug_message,json=debugMessage,proto3" json:"debug_message,omitempty"` |
| } |
| |
| func (x *LintResult) Reset() { |
| *x = LintResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[40] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LintResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LintResult) ProtoMessage() {} |
| |
| func (x *LintResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[40] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LintResult.ProtoReflect.Descriptor instead. |
| func (*LintResult) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{40} |
| } |
| |
| func (x *LintResult) GetLevel() LintResult_Level { |
| if x != nil { |
| return x.Level |
| } |
| return LintResult_LEVEL_UNSPECIFIED |
| } |
| |
| func (x *LintResult) GetValidationUnitName() string { |
| if x != nil { |
| return x.ValidationUnitName |
| } |
| return "" |
| } |
| |
| func (x *LintResult) GetSeverity() LintResult_Severity { |
| if x != nil { |
| return x.Severity |
| } |
| return LintResult_SEVERITY_UNSPECIFIED |
| } |
| |
| func (x *LintResult) GetFieldName() string { |
| if x != nil { |
| return x.FieldName |
| } |
| return "" |
| } |
| |
| func (x *LintResult) GetLocationOffset() int32 { |
| if x != nil { |
| return x.LocationOffset |
| } |
| return 0 |
| } |
| |
| func (x *LintResult) GetDebugMessage() string { |
| if x != nil { |
| return x.DebugMessage |
| } |
| return "" |
| } |
| |
| // The response of a lint operation. An empty response indicates |
| // the operation was able to fully execute and no lint issue was found. |
| type LintPolicyResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // List of lint results sorted by `severity` in descending order. |
| LintResults []*LintResult `protobuf:"bytes,1,rep,name=lint_results,json=lintResults,proto3" json:"lint_results,omitempty"` |
| } |
| |
| func (x *LintPolicyResponse) Reset() { |
| *x = LintPolicyResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[41] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *LintPolicyResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*LintPolicyResponse) ProtoMessage() {} |
| |
| func (x *LintPolicyResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[41] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use LintPolicyResponse.ProtoReflect.Descriptor instead. |
| func (*LintPolicyResponse) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{41} |
| } |
| |
| func (x *LintPolicyResponse) GetLintResults() []*LintResult { |
| if x != nil { |
| return x.LintResults |
| } |
| return nil |
| } |
| |
| // Contains information about an auditable service. |
| type QueryAuditableServicesResponse_AuditableService struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Public name of the service. |
| // For example, the service name for Cloud IAM is 'iam.googleapis.com'. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *QueryAuditableServicesResponse_AuditableService) Reset() { |
| *x = QueryAuditableServicesResponse_AuditableService{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[42] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *QueryAuditableServicesResponse_AuditableService) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*QueryAuditableServicesResponse_AuditableService) ProtoMessage() {} |
| |
| func (x *QueryAuditableServicesResponse_AuditableService) ProtoReflect() protoreflect.Message { |
| mi := &file_google_iam_admin_v1_iam_proto_msgTypes[42] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use QueryAuditableServicesResponse_AuditableService.ProtoReflect.Descriptor instead. |
| func (*QueryAuditableServicesResponse_AuditableService) Descriptor() ([]byte, []int) { |
| return file_google_iam_admin_v1_iam_proto_rawDescGZIP(), []int{38, 0} |
| } |
| |
| func (x *QueryAuditableServicesResponse_AuditableService) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| var File_google_iam_admin_v1_iam_proto protoreflect.FileDescriptor |
| |
| var file_google_iam_admin_v1_iam_proto_rawDesc = []byte{ |
| 0x0a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x64, 0x6d, |
| 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, |
| 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, |
| 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, |
| 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, |
| 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, |
| 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, |
| 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x03, 0x0a, 0x0e, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, |
| 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, |
| 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, |
| 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x6d, |
| 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, |
| 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x04, 0x65, |
| 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x65, |
| 0x74, 0x61, 0x67, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, |
| 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x6f, 0x61, |
| 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6f, 0x61, 0x75, 0x74, 0x68, |
| 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, |
| 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x5c, 0xea, 0x41, 0x59, 0x0a, |
| 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x12, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, |
| 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x22, 0xd8, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, |
| 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, |
| 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, |
| 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, |
| 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, |
| 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, |
| 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, |
| 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x86, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, |
| 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, |
| 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, |
| 0x22, 0x59, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5c, 0x0a, 0x1b, 0x44, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, |
| 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x1a, 0x50, 0x61, |
| 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, |
| 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, |
| 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, |
| 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, |
| 0x61, 0x73, 0x6b, 0x22, 0x33, 0x0a, 0x1d, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x1e, 0x55, 0x6e, 0x64, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, |
| 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, |
| 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x74, 0x6f, |
| 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x31, 0x0a, 0x1b, 0x45, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, |
| 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x22, 0x82, 0x02, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, |
| 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, |
| 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, |
| 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x07, 0x4b, |
| 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, |
| 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, |
| 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, |
| 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4d, 0x41, 0x4e, |
| 0x41, 0x47, 0x45, 0x44, 0x10, 0x02, 0x22, 0x5c, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x04, |
| 0x6b, 0x65, 0x79, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, |
| 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, |
| 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, |
| 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x54, |
| 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, |
| 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd8, 0x05, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, |
| 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, |
| 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, |
| 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, |
| 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x41, 0x6c, 0x67, |
| 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, |
| 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, |
| 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, |
| 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, |
| 0x0a, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, |
| 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, |
| 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, |
| 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
| 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x76, 0x61, |
| 0x6c, 0x69, 0x64, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, |
| 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, |
| 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, |
| 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, |
| 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x6f, 0x72, 0x69, 0x67, |
| 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, |
| 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x4f, 0x72, 0x69, 0x67, 0x69, |
| 0x6e, 0x12, 0x55, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, |
| 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, |
| 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, |
| 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x5c, 0xea, 0x41, 0x59, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, |
| 0x79, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x6b, 0x65, |
| 0x79, 0x7d, 0x22, 0x92, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, |
| 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, |
| 0x65, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, |
| 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, |
| 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, |
| 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x6c, |
| 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0x5c, 0x0a, 0x1e, 0x55, 0x70, 0x6c, 0x6f, 0x61, |
| 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, |
| 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, |
| 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, |
| 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x54, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x69, |
| 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, |
| 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x1f, 0x44, |
| 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, |
| 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0x54, 0x0a, 0x1e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x69, 0x61, 0x6d, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4b, |
| 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, |
| 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x18, 0x01, 0xe0, 0x41, 0x02, |
| 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0d, |
| 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0c, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x62, 0x79, 0x74, 0x65, |
| 0x73, 0x54, 0x6f, 0x53, 0x69, 0x67, 0x6e, 0x22, 0x4f, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x42, |
| 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x06, 0x6b, |
| 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, |
| 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, |
| 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x73, |
| 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x72, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, |
| 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x18, 0x01, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x23, 0x0a, 0x21, 0x69, 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x07, 0x70, |
| 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x18, 0x01, |
| 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x4f, 0x0a, 0x0f, |
| 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, |
| 0x19, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x02, 0x18, 0x01, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0a, 0x73, 0x69, |
| 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6a, 0x77, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, |
| 0x18, 0x01, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x4a, 0x77, 0x74, 0x22, 0xcb, 0x02, |
| 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, |
| 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, |
| 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, |
| 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x70, |
| 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, |
| 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, |
| 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, |
| 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, |
| 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, |
| 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, |
| 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x64, 0x22, 0x55, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x61, 0x75, 0x6e, |
| 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48, 0x41, |
| 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, |
| 0x47, 0x41, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, |
| 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, |
| 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x41, 0x50, 0x10, 0x06, 0x22, 0xbe, 0x01, 0x0a, 0x1a, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, |
| 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x75, |
| 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x75, 0x6c, |
| 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, |
| 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, |
| 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, |
| 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x1b, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, |
| 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x72, |
| 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, |
| 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, |
| 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, |
| 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, |
| 0x2a, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, |
| 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, |
| 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, |
| 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, |
| 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, |
| 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, |
| 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x6c, 0x0a, 0x11, 0x4c, |
| 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, |
| 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, |
| 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, |
| 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x0e, 0x47, 0x65, 0x74, |
| 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, |
| 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, |
| 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x06, |
| 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, |
| 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, |
| 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, |
| 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, |
| 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, |
| 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, |
| 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, |
| 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, |
| 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, |
| 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, |
| 0x73, 0x6b, 0x22, 0x43, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x45, 0x0a, 0x13, 0x55, 0x6e, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, |
| 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xfa, 0x41, |
| 0x03, 0x0a, 0x01, 0x2a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, |
| 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xba, |
| 0x04, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, |
| 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, |
| 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x18, 0x6f, 0x6e, 0x6c, |
| 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, |
| 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, |
| 0x15, 0x6f, 0x6e, 0x6c, 0x79, 0x49, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, |
| 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, |
| 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, |
| 0x6e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x05, 0x73, 0x74, |
| 0x61, 0x67, 0x65, 0x12, 0x74, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, |
| 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, |
| 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, |
| 0x6f, 0x6c, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, |
| 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x53, 0x75, 0x70, |
| 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x70, 0x69, |
| 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, |
| 0x0b, 0x61, 0x70, 0x69, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, |
| 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, |
| 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, |
| 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x15, 0x50, |
| 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, |
| 0x74, 0x61, 0x67, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x00, 0x12, |
| 0x08, 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x41, 0x10, |
| 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, |
| 0x03, 0x22, 0x48, 0x0a, 0x17, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x73, |
| 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0d, 0x0a, 0x09, |
| 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, |
| 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, |
| 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x1f, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, |
| 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x2c, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, |
| 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x75, 0x6c, |
| 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, |
| 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, |
| 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, |
| 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, |
| 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x20, 0x51, 0x75, |
| 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, |
| 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, |
| 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, |
| 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, |
| 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x1d, 0x51, 0x75, 0x65, |
| 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x75, |
| 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, |
| 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, |
| 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x08, 0x73, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, |
| 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, |
| 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x26, 0x0a, |
| 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, |
| 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, |
| 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, |
| 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x6f, 0x6e, |
| 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, |
| 0x00, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, |
| 0x6c, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xc1, 0x03, 0x0a, 0x0a, |
| 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x65, |
| 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, |
| 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, |
| 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x65, 0x76, |
| 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x65, 0x76, |
| 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, |
| 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, |
| 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, |
| 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x62, 0x75, 0x67, |
| 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, |
| 0x64, 0x65, 0x62, 0x75, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2d, 0x0a, 0x05, |
| 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, |
| 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, |
| 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x62, 0x0a, 0x08, 0x53, |
| 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, 0x52, |
| 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, |
| 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, |
| 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, |
| 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, |
| 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, |
| 0x58, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x6c, 0x69, |
| 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2a, 0x61, 0x0a, 0x1a, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x41, 0x6c, |
| 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x17, 0x0a, 0x13, 0x4b, 0x45, 0x59, 0x5f, 0x41, |
| 0x4c, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, |
| 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, 0x47, 0x5f, 0x52, 0x53, 0x41, 0x5f, |
| 0x31, 0x30, 0x32, 0x34, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x4c, |
| 0x47, 0x5f, 0x52, 0x53, 0x41, 0x5f, 0x32, 0x30, 0x34, 0x38, 0x10, 0x02, 0x2a, 0x6c, 0x0a, 0x1c, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, |
| 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, |
| 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, |
| 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4b, 0x43, 0x53, 0x31, |
| 0x32, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x59, 0x50, 0x45, |
| 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, |
| 0x41, 0x4c, 0x53, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x5d, 0x0a, 0x1b, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x75, 0x62, 0x6c, |
| 0x69, 0x63, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, |
| 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x59, 0x50, 0x45, |
| 0x5f, 0x58, 0x35, 0x30, 0x39, 0x5f, 0x50, 0x45, 0x4d, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, |
| 0x12, 0x17, 0x0a, 0x13, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x57, 0x5f, 0x50, 0x55, 0x42, |
| 0x4c, 0x49, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x2a, 0x59, 0x0a, 0x17, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x4f, 0x72, |
| 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x55, |
| 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, |
| 0x55, 0x53, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, |
| 0x13, 0x0a, 0x0f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, |
| 0x45, 0x44, 0x10, 0x02, 0x2a, 0x1f, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, |
| 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, |
| 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x32, 0x9a, 0x2b, 0x0a, 0x03, 0x49, 0x41, 0x4d, 0x12, 0xae, 0x01, |
| 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, |
| 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, |
| 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, |
| 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x9f, |
| 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, |
| 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, |
| 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, |
| 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x12, 0xc1, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, |
| 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, |
| 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, |
| 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, |
| 0x01, 0x2a, 0xda, 0x41, 0x1f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, |
| 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x1a, |
| 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, |
| 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0xaf, 0x01, 0x0a, 0x13, |
| 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, |
| 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x3c, 0x32, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, |
| 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x98, 0x01, |
| 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, |
| 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, |
| 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, |
| 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x16, 0x55, 0x6e, 0x64, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, |
| 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, |
| 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x9b, 0x01, 0x0a, 0x14, 0x45, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, |
| 0xe4, 0x93, 0x02, 0x33, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x9e, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x61, |
| 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, |
| 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0x82, 0xd3, |
| 0xe4, 0x93, 0x02, 0x34, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, |
| 0x73, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xc8, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, |
| 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, |
| 0x65, 0x79, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, |
| 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, |
| 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, |
| 0x79, 0x73, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, |
| 0x70, 0x65, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, |
| 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, |
| 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, |
| 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, |
| 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0xd5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, |
| 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, |
| 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x5d, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, |
| 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, |
| 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x23, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, |
| 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, |
| 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0xb6, 0x01, |
| 0x0a, 0x17, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, |
| 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, |
| 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x22, 0x33, |
| 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x3a, 0x75, 0x70, 0x6c, |
| 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0xa5, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, |
| 0x65, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, |
| 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x2a, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, |
| 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, |
| 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb2, |
| 0x01, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, |
| 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, |
| 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 0x82, 0xd3, |
| 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6b, 0x65, 0x79, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x6c, |
| 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, |
| 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, |
| 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, |
| 0x53, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, |
| 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x69, 0x67, 0x6e, 0x42, 0x6c, 0x6f, 0x62, 0x3a, 0x01, 0x2a, 0xda, |
| 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, |
| 0x73, 0x69, 0x67, 0x6e, 0x12, 0xa2, 0x01, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, |
| 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, |
| 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, |
| 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x88, 0x02, 0x01, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, |
| 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, |
| 0x73, 0x69, 0x67, 0x6e, 0x4a, 0x77, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x6e, 0x61, 0x6d, |
| 0x65, 0x2c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x96, 0x01, 0x0a, 0x0c, 0x47, 0x65, |
| 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, |
| 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, |
| 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x38, 0x2f, |
| 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, |
| 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x49, 0x61, |
| 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, |
| 0x63, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, |
| 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x55, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, |
| 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, |
| 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, |
| 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, |
| 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xcb, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, |
| 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, |
| 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, |
| 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x14, 0x72, |
| 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, |
| 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, |
| 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, |
| 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, |
| 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, |
| 0x73, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x61, 0x62, 0x6c, 0x65, |
| 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, |
| 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb4, 0x01, |
| 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, |
| 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x52, 0x12, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x5a, 0x24, 0x12, |
| 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, |
| 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x6f, |
| 0x6c, 0x65, 0x73, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, |
| 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, |
| 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, |
| 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, |
| 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, |
| 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, |
| 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x24, 0x12, 0x22, |
| 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, |
| 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x5a, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, |
| 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, |
| 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, |
| 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x22, 0x22, 0x2f, |
| 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, |
| 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, |
| 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x22, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, |
| 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xa8, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, |
| 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, |
| 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x51, 0x32, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, |
| 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, |
| 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x5a, 0x25, 0x32, 0x1d, |
| 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x72, |
| 0x6f, 0x6c, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, |
| 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, |
| 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, |
| 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x22, 0x2f, |
| 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x5a, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, |
| 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, |
| 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, |
| 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, |
| 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, |
| 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, |
| 0x5a, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xbc, 0x01, |
| 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, |
| 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, |
| 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, |
| 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, |
| 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, |
| 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xb4, 0x01, 0x0a, |
| 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, |
| 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, |
| 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, |
| 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x41, |
| 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, |
| 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, |
| 0x63, 0x79, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, |
| 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, |
| 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, |
| 0x2e, 0x4c, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x76, 0x31, |
| 0x2f, 0x69, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x6e, |
| 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x1a, 0x46, 0xca, 0x41, 0x12, 0x69, |
| 0x61, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, |
| 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, |
| 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, |
| 0x72, 0x6d, 0x42, 0x90, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x50, 0x01, |
| 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, |
| 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x64, 0x6d, 0x69, |
| 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x19, |
| 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, |
| 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x41, 0x64, 0x6d, |
| 0x69, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_iam_admin_v1_iam_proto_rawDescOnce sync.Once |
| file_google_iam_admin_v1_iam_proto_rawDescData = file_google_iam_admin_v1_iam_proto_rawDesc |
| ) |
| |
| func file_google_iam_admin_v1_iam_proto_rawDescGZIP() []byte { |
| file_google_iam_admin_v1_iam_proto_rawDescOnce.Do(func() { |
| file_google_iam_admin_v1_iam_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_iam_admin_v1_iam_proto_rawDescData) |
| }) |
| return file_google_iam_admin_v1_iam_proto_rawDescData |
| } |
| |
| var file_google_iam_admin_v1_iam_proto_enumTypes = make([]protoimpl.EnumInfo, 11) |
| var file_google_iam_admin_v1_iam_proto_msgTypes = make([]protoimpl.MessageInfo, 43) |
| var file_google_iam_admin_v1_iam_proto_goTypes = []interface{}{ |
| (ServiceAccountKeyAlgorithm)(0), // 0: google.iam.admin.v1.ServiceAccountKeyAlgorithm |
| (ServiceAccountPrivateKeyType)(0), // 1: google.iam.admin.v1.ServiceAccountPrivateKeyType |
| (ServiceAccountPublicKeyType)(0), // 2: google.iam.admin.v1.ServiceAccountPublicKeyType |
| (ServiceAccountKeyOrigin)(0), // 3: google.iam.admin.v1.ServiceAccountKeyOrigin |
| (RoleView)(0), // 4: google.iam.admin.v1.RoleView |
| (ListServiceAccountKeysRequest_KeyType)(0), // 5: google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType |
| (Role_RoleLaunchStage)(0), // 6: google.iam.admin.v1.Role.RoleLaunchStage |
| (Permission_PermissionLaunchStage)(0), // 7: google.iam.admin.v1.Permission.PermissionLaunchStage |
| (Permission_CustomRolesSupportLevel)(0), // 8: google.iam.admin.v1.Permission.CustomRolesSupportLevel |
| (LintResult_Level)(0), // 9: google.iam.admin.v1.LintResult.Level |
| (LintResult_Severity)(0), // 10: google.iam.admin.v1.LintResult.Severity |
| (*ServiceAccount)(nil), // 11: google.iam.admin.v1.ServiceAccount |
| (*CreateServiceAccountRequest)(nil), // 12: google.iam.admin.v1.CreateServiceAccountRequest |
| (*ListServiceAccountsRequest)(nil), // 13: google.iam.admin.v1.ListServiceAccountsRequest |
| (*ListServiceAccountsResponse)(nil), // 14: google.iam.admin.v1.ListServiceAccountsResponse |
| (*GetServiceAccountRequest)(nil), // 15: google.iam.admin.v1.GetServiceAccountRequest |
| (*DeleteServiceAccountRequest)(nil), // 16: google.iam.admin.v1.DeleteServiceAccountRequest |
| (*PatchServiceAccountRequest)(nil), // 17: google.iam.admin.v1.PatchServiceAccountRequest |
| (*UndeleteServiceAccountRequest)(nil), // 18: google.iam.admin.v1.UndeleteServiceAccountRequest |
| (*UndeleteServiceAccountResponse)(nil), // 19: google.iam.admin.v1.UndeleteServiceAccountResponse |
| (*EnableServiceAccountRequest)(nil), // 20: google.iam.admin.v1.EnableServiceAccountRequest |
| (*DisableServiceAccountRequest)(nil), // 21: google.iam.admin.v1.DisableServiceAccountRequest |
| (*ListServiceAccountKeysRequest)(nil), // 22: google.iam.admin.v1.ListServiceAccountKeysRequest |
| (*ListServiceAccountKeysResponse)(nil), // 23: google.iam.admin.v1.ListServiceAccountKeysResponse |
| (*GetServiceAccountKeyRequest)(nil), // 24: google.iam.admin.v1.GetServiceAccountKeyRequest |
| (*ServiceAccountKey)(nil), // 25: google.iam.admin.v1.ServiceAccountKey |
| (*CreateServiceAccountKeyRequest)(nil), // 26: google.iam.admin.v1.CreateServiceAccountKeyRequest |
| (*UploadServiceAccountKeyRequest)(nil), // 27: google.iam.admin.v1.UploadServiceAccountKeyRequest |
| (*DeleteServiceAccountKeyRequest)(nil), // 28: google.iam.admin.v1.DeleteServiceAccountKeyRequest |
| (*DisableServiceAccountKeyRequest)(nil), // 29: google.iam.admin.v1.DisableServiceAccountKeyRequest |
| (*EnableServiceAccountKeyRequest)(nil), // 30: google.iam.admin.v1.EnableServiceAccountKeyRequest |
| (*SignBlobRequest)(nil), // 31: google.iam.admin.v1.SignBlobRequest |
| (*SignBlobResponse)(nil), // 32: google.iam.admin.v1.SignBlobResponse |
| (*SignJwtRequest)(nil), // 33: google.iam.admin.v1.SignJwtRequest |
| (*SignJwtResponse)(nil), // 34: google.iam.admin.v1.SignJwtResponse |
| (*Role)(nil), // 35: google.iam.admin.v1.Role |
| (*QueryGrantableRolesRequest)(nil), // 36: google.iam.admin.v1.QueryGrantableRolesRequest |
| (*QueryGrantableRolesResponse)(nil), // 37: google.iam.admin.v1.QueryGrantableRolesResponse |
| (*ListRolesRequest)(nil), // 38: google.iam.admin.v1.ListRolesRequest |
| (*ListRolesResponse)(nil), // 39: google.iam.admin.v1.ListRolesResponse |
| (*GetRoleRequest)(nil), // 40: google.iam.admin.v1.GetRoleRequest |
| (*CreateRoleRequest)(nil), // 41: google.iam.admin.v1.CreateRoleRequest |
| (*UpdateRoleRequest)(nil), // 42: google.iam.admin.v1.UpdateRoleRequest |
| (*DeleteRoleRequest)(nil), // 43: google.iam.admin.v1.DeleteRoleRequest |
| (*UndeleteRoleRequest)(nil), // 44: google.iam.admin.v1.UndeleteRoleRequest |
| (*Permission)(nil), // 45: google.iam.admin.v1.Permission |
| (*QueryTestablePermissionsRequest)(nil), // 46: google.iam.admin.v1.QueryTestablePermissionsRequest |
| (*QueryTestablePermissionsResponse)(nil), // 47: google.iam.admin.v1.QueryTestablePermissionsResponse |
| (*QueryAuditableServicesRequest)(nil), // 48: google.iam.admin.v1.QueryAuditableServicesRequest |
| (*QueryAuditableServicesResponse)(nil), // 49: google.iam.admin.v1.QueryAuditableServicesResponse |
| (*LintPolicyRequest)(nil), // 50: google.iam.admin.v1.LintPolicyRequest |
| (*LintResult)(nil), // 51: google.iam.admin.v1.LintResult |
| (*LintPolicyResponse)(nil), // 52: google.iam.admin.v1.LintPolicyResponse |
| (*QueryAuditableServicesResponse_AuditableService)(nil), // 53: google.iam.admin.v1.QueryAuditableServicesResponse.AuditableService |
| (*fieldmaskpb.FieldMask)(nil), // 54: google.protobuf.FieldMask |
| (*timestamppb.Timestamp)(nil), // 55: google.protobuf.Timestamp |
| (*expr.Expr)(nil), // 56: google.type.Expr |
| (*v1.GetIamPolicyRequest)(nil), // 57: google.iam.v1.GetIamPolicyRequest |
| (*v1.SetIamPolicyRequest)(nil), // 58: google.iam.v1.SetIamPolicyRequest |
| (*v1.TestIamPermissionsRequest)(nil), // 59: google.iam.v1.TestIamPermissionsRequest |
| (*emptypb.Empty)(nil), // 60: google.protobuf.Empty |
| (*v1.Policy)(nil), // 61: google.iam.v1.Policy |
| (*v1.TestIamPermissionsResponse)(nil), // 62: google.iam.v1.TestIamPermissionsResponse |
| } |
| var file_google_iam_admin_v1_iam_proto_depIdxs = []int32{ |
| 11, // 0: google.iam.admin.v1.CreateServiceAccountRequest.service_account:type_name -> google.iam.admin.v1.ServiceAccount |
| 11, // 1: google.iam.admin.v1.ListServiceAccountsResponse.accounts:type_name -> google.iam.admin.v1.ServiceAccount |
| 11, // 2: google.iam.admin.v1.PatchServiceAccountRequest.service_account:type_name -> google.iam.admin.v1.ServiceAccount |
| 54, // 3: google.iam.admin.v1.PatchServiceAccountRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 11, // 4: google.iam.admin.v1.UndeleteServiceAccountResponse.restored_account:type_name -> google.iam.admin.v1.ServiceAccount |
| 5, // 5: google.iam.admin.v1.ListServiceAccountKeysRequest.key_types:type_name -> google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType |
| 25, // 6: google.iam.admin.v1.ListServiceAccountKeysResponse.keys:type_name -> google.iam.admin.v1.ServiceAccountKey |
| 2, // 7: google.iam.admin.v1.GetServiceAccountKeyRequest.public_key_type:type_name -> google.iam.admin.v1.ServiceAccountPublicKeyType |
| 1, // 8: google.iam.admin.v1.ServiceAccountKey.private_key_type:type_name -> google.iam.admin.v1.ServiceAccountPrivateKeyType |
| 0, // 9: google.iam.admin.v1.ServiceAccountKey.key_algorithm:type_name -> google.iam.admin.v1.ServiceAccountKeyAlgorithm |
| 55, // 10: google.iam.admin.v1.ServiceAccountKey.valid_after_time:type_name -> google.protobuf.Timestamp |
| 55, // 11: google.iam.admin.v1.ServiceAccountKey.valid_before_time:type_name -> google.protobuf.Timestamp |
| 3, // 12: google.iam.admin.v1.ServiceAccountKey.key_origin:type_name -> google.iam.admin.v1.ServiceAccountKeyOrigin |
| 5, // 13: google.iam.admin.v1.ServiceAccountKey.key_type:type_name -> google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType |
| 1, // 14: google.iam.admin.v1.CreateServiceAccountKeyRequest.private_key_type:type_name -> google.iam.admin.v1.ServiceAccountPrivateKeyType |
| 0, // 15: google.iam.admin.v1.CreateServiceAccountKeyRequest.key_algorithm:type_name -> google.iam.admin.v1.ServiceAccountKeyAlgorithm |
| 6, // 16: google.iam.admin.v1.Role.stage:type_name -> google.iam.admin.v1.Role.RoleLaunchStage |
| 4, // 17: google.iam.admin.v1.QueryGrantableRolesRequest.view:type_name -> google.iam.admin.v1.RoleView |
| 35, // 18: google.iam.admin.v1.QueryGrantableRolesResponse.roles:type_name -> google.iam.admin.v1.Role |
| 4, // 19: google.iam.admin.v1.ListRolesRequest.view:type_name -> google.iam.admin.v1.RoleView |
| 35, // 20: google.iam.admin.v1.ListRolesResponse.roles:type_name -> google.iam.admin.v1.Role |
| 35, // 21: google.iam.admin.v1.CreateRoleRequest.role:type_name -> google.iam.admin.v1.Role |
| 35, // 22: google.iam.admin.v1.UpdateRoleRequest.role:type_name -> google.iam.admin.v1.Role |
| 54, // 23: google.iam.admin.v1.UpdateRoleRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 7, // 24: google.iam.admin.v1.Permission.stage:type_name -> google.iam.admin.v1.Permission.PermissionLaunchStage |
| 8, // 25: google.iam.admin.v1.Permission.custom_roles_support_level:type_name -> google.iam.admin.v1.Permission.CustomRolesSupportLevel |
| 45, // 26: google.iam.admin.v1.QueryTestablePermissionsResponse.permissions:type_name -> google.iam.admin.v1.Permission |
| 53, // 27: google.iam.admin.v1.QueryAuditableServicesResponse.services:type_name -> google.iam.admin.v1.QueryAuditableServicesResponse.AuditableService |
| 56, // 28: google.iam.admin.v1.LintPolicyRequest.condition:type_name -> google.type.Expr |
| 9, // 29: google.iam.admin.v1.LintResult.level:type_name -> google.iam.admin.v1.LintResult.Level |
| 10, // 30: google.iam.admin.v1.LintResult.severity:type_name -> google.iam.admin.v1.LintResult.Severity |
| 51, // 31: google.iam.admin.v1.LintPolicyResponse.lint_results:type_name -> google.iam.admin.v1.LintResult |
| 13, // 32: google.iam.admin.v1.IAM.ListServiceAccounts:input_type -> google.iam.admin.v1.ListServiceAccountsRequest |
| 15, // 33: google.iam.admin.v1.IAM.GetServiceAccount:input_type -> google.iam.admin.v1.GetServiceAccountRequest |
| 12, // 34: google.iam.admin.v1.IAM.CreateServiceAccount:input_type -> google.iam.admin.v1.CreateServiceAccountRequest |
| 11, // 35: google.iam.admin.v1.IAM.UpdateServiceAccount:input_type -> google.iam.admin.v1.ServiceAccount |
| 17, // 36: google.iam.admin.v1.IAM.PatchServiceAccount:input_type -> google.iam.admin.v1.PatchServiceAccountRequest |
| 16, // 37: google.iam.admin.v1.IAM.DeleteServiceAccount:input_type -> google.iam.admin.v1.DeleteServiceAccountRequest |
| 18, // 38: google.iam.admin.v1.IAM.UndeleteServiceAccount:input_type -> google.iam.admin.v1.UndeleteServiceAccountRequest |
| 20, // 39: google.iam.admin.v1.IAM.EnableServiceAccount:input_type -> google.iam.admin.v1.EnableServiceAccountRequest |
| 21, // 40: google.iam.admin.v1.IAM.DisableServiceAccount:input_type -> google.iam.admin.v1.DisableServiceAccountRequest |
| 22, // 41: google.iam.admin.v1.IAM.ListServiceAccountKeys:input_type -> google.iam.admin.v1.ListServiceAccountKeysRequest |
| 24, // 42: google.iam.admin.v1.IAM.GetServiceAccountKey:input_type -> google.iam.admin.v1.GetServiceAccountKeyRequest |
| 26, // 43: google.iam.admin.v1.IAM.CreateServiceAccountKey:input_type -> google.iam.admin.v1.CreateServiceAccountKeyRequest |
| 27, // 44: google.iam.admin.v1.IAM.UploadServiceAccountKey:input_type -> google.iam.admin.v1.UploadServiceAccountKeyRequest |
| 28, // 45: google.iam.admin.v1.IAM.DeleteServiceAccountKey:input_type -> google.iam.admin.v1.DeleteServiceAccountKeyRequest |
| 29, // 46: google.iam.admin.v1.IAM.DisableServiceAccountKey:input_type -> google.iam.admin.v1.DisableServiceAccountKeyRequest |
| 30, // 47: google.iam.admin.v1.IAM.EnableServiceAccountKey:input_type -> google.iam.admin.v1.EnableServiceAccountKeyRequest |
| 31, // 48: google.iam.admin.v1.IAM.SignBlob:input_type -> google.iam.admin.v1.SignBlobRequest |
| 33, // 49: google.iam.admin.v1.IAM.SignJwt:input_type -> google.iam.admin.v1.SignJwtRequest |
| 57, // 50: google.iam.admin.v1.IAM.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest |
| 58, // 51: google.iam.admin.v1.IAM.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest |
| 59, // 52: google.iam.admin.v1.IAM.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest |
| 36, // 53: google.iam.admin.v1.IAM.QueryGrantableRoles:input_type -> google.iam.admin.v1.QueryGrantableRolesRequest |
| 38, // 54: google.iam.admin.v1.IAM.ListRoles:input_type -> google.iam.admin.v1.ListRolesRequest |
| 40, // 55: google.iam.admin.v1.IAM.GetRole:input_type -> google.iam.admin.v1.GetRoleRequest |
| 41, // 56: google.iam.admin.v1.IAM.CreateRole:input_type -> google.iam.admin.v1.CreateRoleRequest |
| 42, // 57: google.iam.admin.v1.IAM.UpdateRole:input_type -> google.iam.admin.v1.UpdateRoleRequest |
| 43, // 58: google.iam.admin.v1.IAM.DeleteRole:input_type -> google.iam.admin.v1.DeleteRoleRequest |
| 44, // 59: google.iam.admin.v1.IAM.UndeleteRole:input_type -> google.iam.admin.v1.UndeleteRoleRequest |
| 46, // 60: google.iam.admin.v1.IAM.QueryTestablePermissions:input_type -> google.iam.admin.v1.QueryTestablePermissionsRequest |
| 48, // 61: google.iam.admin.v1.IAM.QueryAuditableServices:input_type -> google.iam.admin.v1.QueryAuditableServicesRequest |
| 50, // 62: google.iam.admin.v1.IAM.LintPolicy:input_type -> google.iam.admin.v1.LintPolicyRequest |
| 14, // 63: google.iam.admin.v1.IAM.ListServiceAccounts:output_type -> google.iam.admin.v1.ListServiceAccountsResponse |
| 11, // 64: google.iam.admin.v1.IAM.GetServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount |
| 11, // 65: google.iam.admin.v1.IAM.CreateServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount |
| 11, // 66: google.iam.admin.v1.IAM.UpdateServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount |
| 11, // 67: google.iam.admin.v1.IAM.PatchServiceAccount:output_type -> google.iam.admin.v1.ServiceAccount |
| 60, // 68: google.iam.admin.v1.IAM.DeleteServiceAccount:output_type -> google.protobuf.Empty |
| 19, // 69: google.iam.admin.v1.IAM.UndeleteServiceAccount:output_type -> google.iam.admin.v1.UndeleteServiceAccountResponse |
| 60, // 70: google.iam.admin.v1.IAM.EnableServiceAccount:output_type -> google.protobuf.Empty |
| 60, // 71: google.iam.admin.v1.IAM.DisableServiceAccount:output_type -> google.protobuf.Empty |
| 23, // 72: google.iam.admin.v1.IAM.ListServiceAccountKeys:output_type -> google.iam.admin.v1.ListServiceAccountKeysResponse |
| 25, // 73: google.iam.admin.v1.IAM.GetServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey |
| 25, // 74: google.iam.admin.v1.IAM.CreateServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey |
| 25, // 75: google.iam.admin.v1.IAM.UploadServiceAccountKey:output_type -> google.iam.admin.v1.ServiceAccountKey |
| 60, // 76: google.iam.admin.v1.IAM.DeleteServiceAccountKey:output_type -> google.protobuf.Empty |
| 60, // 77: google.iam.admin.v1.IAM.DisableServiceAccountKey:output_type -> google.protobuf.Empty |
| 60, // 78: google.iam.admin.v1.IAM.EnableServiceAccountKey:output_type -> google.protobuf.Empty |
| 32, // 79: google.iam.admin.v1.IAM.SignBlob:output_type -> google.iam.admin.v1.SignBlobResponse |
| 34, // 80: google.iam.admin.v1.IAM.SignJwt:output_type -> google.iam.admin.v1.SignJwtResponse |
| 61, // 81: google.iam.admin.v1.IAM.GetIamPolicy:output_type -> google.iam.v1.Policy |
| 61, // 82: google.iam.admin.v1.IAM.SetIamPolicy:output_type -> google.iam.v1.Policy |
| 62, // 83: google.iam.admin.v1.IAM.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse |
| 37, // 84: google.iam.admin.v1.IAM.QueryGrantableRoles:output_type -> google.iam.admin.v1.QueryGrantableRolesResponse |
| 39, // 85: google.iam.admin.v1.IAM.ListRoles:output_type -> google.iam.admin.v1.ListRolesResponse |
| 35, // 86: google.iam.admin.v1.IAM.GetRole:output_type -> google.iam.admin.v1.Role |
| 35, // 87: google.iam.admin.v1.IAM.CreateRole:output_type -> google.iam.admin.v1.Role |
| 35, // 88: google.iam.admin.v1.IAM.UpdateRole:output_type -> google.iam.admin.v1.Role |
| 35, // 89: google.iam.admin.v1.IAM.DeleteRole:output_type -> google.iam.admin.v1.Role |
| 35, // 90: google.iam.admin.v1.IAM.UndeleteRole:output_type -> google.iam.admin.v1.Role |
| 47, // 91: google.iam.admin.v1.IAM.QueryTestablePermissions:output_type -> google.iam.admin.v1.QueryTestablePermissionsResponse |
| 49, // 92: google.iam.admin.v1.IAM.QueryAuditableServices:output_type -> google.iam.admin.v1.QueryAuditableServicesResponse |
| 52, // 93: google.iam.admin.v1.IAM.LintPolicy:output_type -> google.iam.admin.v1.LintPolicyResponse |
| 63, // [63:94] is the sub-list for method output_type |
| 32, // [32:63] is the sub-list for method input_type |
| 32, // [32:32] is the sub-list for extension type_name |
| 32, // [32:32] is the sub-list for extension extendee |
| 0, // [0:32] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_iam_admin_v1_iam_proto_init() } |
| func file_google_iam_admin_v1_iam_proto_init() { |
| if File_google_iam_admin_v1_iam_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_google_iam_admin_v1_iam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ServiceAccount); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServiceAccountsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServiceAccountsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PatchServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeleteServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeleteServiceAccountResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*EnableServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DisableServiceAccountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServiceAccountKeysRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServiceAccountKeysResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ServiceAccountKey); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UploadServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DisableServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*EnableServiceAccountKeyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SignBlobRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SignBlobResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SignJwtRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SignJwtResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Role); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryGrantableRolesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryGrantableRolesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListRolesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListRolesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetRoleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateRoleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateRoleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteRoleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UndeleteRoleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Permission); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryTestablePermissionsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryTestablePermissionsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryAuditableServicesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryAuditableServicesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LintPolicyRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LintResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*LintPolicyResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*QueryAuditableServicesResponse_AuditableService); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_iam_admin_v1_iam_proto_msgTypes[39].OneofWrappers = []interface{}{ |
| (*LintPolicyRequest_Condition)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_iam_admin_v1_iam_proto_rawDesc, |
| NumEnums: 11, |
| NumMessages: 43, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_iam_admin_v1_iam_proto_goTypes, |
| DependencyIndexes: file_google_iam_admin_v1_iam_proto_depIdxs, |
| EnumInfos: file_google_iam_admin_v1_iam_proto_enumTypes, |
| MessageInfos: file_google_iam_admin_v1_iam_proto_msgTypes, |
| }.Build() |
| File_google_iam_admin_v1_iam_proto = out.File |
| file_google_iam_admin_v1_iam_proto_rawDesc = nil |
| file_google_iam_admin_v1_iam_proto_goTypes = nil |
| file_google_iam_admin_v1_iam_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // IAMClient is the client API for IAM service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type IAMClient interface { |
| // Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project. |
| ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error) |
| // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) |
| // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) |
| // **Note:** We are in the process of deprecating this method. Use |
| // [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead. |
| // |
| // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // You can update only the `display_name` field. |
| UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error) |
| // Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| PatchServiceAccount(ctx context.Context, in *PatchServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) |
| // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // **Warning:** After you delete a service account, you might not be able to |
| // undelete it. If you know that you need to re-enable the service account in |
| // the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead. |
| // |
| // If you delete a service account, IAM permanently removes the service |
| // account 30 days later. Google Cloud cannot recover the service account |
| // after it is permanently removed, even if you file a support request. |
| // |
| // To help avoid unplanned outages, we recommend that you disable the service |
| // account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the |
| // service account, then wait at least 24 hours and watch for unintended |
| // consequences. If there are no unintended consequences, you can delete the |
| // service account. |
| DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // **Important:** It is not always possible to restore a deleted service |
| // account. Use this method only as a last resort. |
| // |
| // After you delete a service account, IAM permanently removes the service |
| // account 30 days later. There is no way to restore a deleted service account |
| // that has been permanently removed. |
| UndeleteServiceAccount(ctx context.Context, in *UndeleteServiceAccountRequest, opts ...grpc.CallOption) (*UndeleteServiceAccountResponse, error) |
| // Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by |
| // [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount]. |
| // |
| // If the service account is already enabled, then this method has no effect. |
| // |
| // If the service account was disabled by other means—for example, if Google |
| // disabled the service account because it was compromised—you cannot use this |
| // method to enable the service account. |
| EnableServiceAccount(ctx context.Context, in *EnableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately. |
| // |
| // If an application uses the service account to authenticate, that |
| // application can no longer call Google APIs or access Google Cloud |
| // resources. Existing access tokens for the service account are rejected, and |
| // requests for new access tokens will fail. |
| // |
| // To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you |
| // re-enable the service account, its existing access tokens will be accepted, |
| // and you can request new access tokens. |
| // |
| // To help avoid unplanned outages, we recommend that you disable the service |
| // account before you delete it. Use this method to disable the service |
| // account, then wait at least 24 hours and watch for unintended consequences. |
| // If there are no unintended consequences, you can delete the service account |
| // with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount]. |
| DisableServiceAccount(ctx context.Context, in *DisableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account. |
| ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error) |
| // Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) |
| // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) |
| // Uploads the public key portion of a key pair that you manage, and |
| // associates the public key with a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // After you upload the public key, you can use the private key from the key |
| // pair as a service account key. |
| UploadServiceAccountKey(ctx context.Context, in *UploadServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) |
| // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not |
| // revoke short-lived credentials that have been issued based on the service |
| // account key. |
| DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. A disabled service account key can be |
| // re-enabled with [EnableServiceAccountKey][google.iam.admin.v1.IAM.EnableServiceAccountKey]. |
| DisableServiceAccountKey(ctx context.Context, in *DisableServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| EnableServiceAccountKey(ctx context.Context, in *EnableServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) |
| // Deprecated: Do not use. |
| // **Note:** This method is deprecated. Use the |
| // [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) |
| // method in the IAM Service Account Credentials API instead. If you currently |
| // use this method, see the [migration |
| // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for |
| // instructions. |
| // |
| // Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error) |
| // Deprecated: Do not use. |
| // **Note:** This method is deprecated. Use the |
| // [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) |
| // method in the IAM Service Account Credentials API instead. If you currently |
| // use this method, see the [migration |
| // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for |
| // instructions. |
| // |
| // Signs a JSON Web Token (JWT) using the system-managed private key for a |
| // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| SignJwt(ctx context.Context, in *SignJwtRequest, opts ...grpc.CallOption) (*SignJwtResponse, error) |
| // Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM |
| // policy specifies which principals have access to the service account. |
| // |
| // This method does not tell you whether the service account has been granted |
| // any roles on other resources. To check whether a service account has role |
| // grants on a resource, use the `getIamPolicy` method for that resource. For |
| // example, to view the role grants for a project, call the Resource Manager |
| // API's |
| // [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) |
| // method. |
| GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) |
| // Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // Use this method to grant or revoke access to the service account. For |
| // example, you could grant a principal the ability to impersonate the service |
| // account. |
| // |
| // This method does not enable the service account to access other resources. |
| // To grant roles to a service account on a resource, follow these steps: |
| // |
| // 1. Call the resource's `getIamPolicy` method to get its current IAM policy. |
| // 2. Edit the policy so that it binds the service account to an IAM role for |
| // the resource. |
| // 3. Call the resource's `setIamPolicy` method to update its IAM policy. |
| // |
| // For detailed instructions, see |
| // [Manage access to project, folders, and |
| // organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) |
| // or [Manage access to other |
| // resources](https://cloud.google.com/iam/help/access/manage-other-resources). |
| SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) |
| // Tests whether the caller has the specified permissions on a |
| // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) |
| // Lists roles that can be granted on a Google Cloud resource. A role is |
| // grantable if the IAM policy for the resource can contain bindings to the |
| // role. |
| QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error) |
| // Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role |
| // that is defined for an organization or project. |
| ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error) |
| // Gets the definition of a [Role][google.iam.admin.v1.Role]. |
| GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*Role, error) |
| // Creates a new custom [Role][google.iam.admin.v1.Role]. |
| CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*Role, error) |
| // Updates the definition of a custom [Role][google.iam.admin.v1.Role]. |
| UpdateRole(ctx context.Context, in *UpdateRoleRequest, opts ...grpc.CallOption) (*Role, error) |
| // Deletes a custom [Role][google.iam.admin.v1.Role]. |
| // |
| // When you delete a custom role, the following changes occur immediately: |
| // |
| // * You cannot bind a principal to the custom role in an IAM |
| // [Policy][google.iam.v1.Policy]. |
| // * Existing bindings to the custom role are not changed, but they have no |
| // effect. |
| // * By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom |
| // role. |
| // |
| // You have 7 days to undelete the custom role. After 7 days, the following |
| // changes occur: |
| // |
| // * The custom role is permanently deleted and cannot be recovered. |
| // * If an IAM policy contains a binding to the custom role, the binding is |
| // permanently removed. |
| DeleteRole(ctx context.Context, in *DeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) |
| // Undeletes a custom [Role][google.iam.admin.v1.Role]. |
| UndeleteRole(ctx context.Context, in *UndeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) |
| // Lists every permission that you can test on a resource. A permission is |
| // testable if you can check whether a principal has that permission on the |
| // resource. |
| QueryTestablePermissions(ctx context.Context, in *QueryTestablePermissionsRequest, opts ...grpc.CallOption) (*QueryTestablePermissionsResponse, error) |
| // Returns a list of services that allow you to opt into audit logs that are |
| // not generated by default. |
| // |
| // To learn more about audit logs, see the [Logging |
| // documentation](https://cloud.google.com/logging/docs/audit). |
| QueryAuditableServices(ctx context.Context, in *QueryAuditableServicesRequest, opts ...grpc.CallOption) (*QueryAuditableServicesResponse, error) |
| // Lints, or validates, an IAM policy. Currently checks the |
| // [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition |
| // expression for a role binding. |
| // |
| // Successful calls to this method always return an HTTP `200 OK` status code, |
| // even if the linter detects an issue in the IAM policy. |
| LintPolicy(ctx context.Context, in *LintPolicyRequest, opts ...grpc.CallOption) (*LintPolicyResponse, error) |
| } |
| |
| type iAMClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewIAMClient(cc grpc.ClientConnInterface) IAMClient { |
| return &iAMClient{cc} |
| } |
| |
| func (c *iAMClient) ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error) { |
| out := new(ListServiceAccountsResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccounts", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) { |
| out := new(ServiceAccount) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) { |
| out := new(ServiceAccount) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error) { |
| out := new(ServiceAccount) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UpdateServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) PatchServiceAccount(ctx context.Context, in *PatchServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) { |
| out := new(ServiceAccount) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/PatchServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) UndeleteServiceAccount(ctx context.Context, in *UndeleteServiceAccountRequest, opts ...grpc.CallOption) (*UndeleteServiceAccountResponse, error) { |
| out := new(UndeleteServiceAccountResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UndeleteServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) EnableServiceAccount(ctx context.Context, in *EnableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/EnableServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) DisableServiceAccount(ctx context.Context, in *DisableServiceAccountRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DisableServiceAccount", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error) { |
| out := new(ListServiceAccountKeysResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccountKeys", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) { |
| out := new(ServiceAccountKey) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) { |
| out := new(ServiceAccountKey) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) UploadServiceAccountKey(ctx context.Context, in *UploadServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) { |
| out := new(ServiceAccountKey) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UploadServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) DisableServiceAccountKey(ctx context.Context, in *DisableServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DisableServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) EnableServiceAccountKey(ctx context.Context, in *EnableServiceAccountKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { |
| out := new(emptypb.Empty) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/EnableServiceAccountKey", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // Deprecated: Do not use. |
| func (c *iAMClient) SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error) { |
| out := new(SignBlobResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SignBlob", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // Deprecated: Do not use. |
| func (c *iAMClient) SignJwt(ctx context.Context, in *SignJwtRequest, opts ...grpc.CallOption) (*SignJwtResponse, error) { |
| out := new(SignJwtResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SignJwt", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { |
| out := new(v1.Policy) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetIamPolicy", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { |
| out := new(v1.Policy) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/SetIamPolicy", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) { |
| out := new(v1.TestIamPermissionsResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/TestIamPermissions", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error) { |
| out := new(QueryGrantableRolesResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryGrantableRoles", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error) { |
| out := new(ListRolesResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListRoles", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*Role, error) { |
| out := new(Role) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetRole", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) CreateRole(ctx context.Context, in *CreateRoleRequest, opts ...grpc.CallOption) (*Role, error) { |
| out := new(Role) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateRole", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) UpdateRole(ctx context.Context, in *UpdateRoleRequest, opts ...grpc.CallOption) (*Role, error) { |
| out := new(Role) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UpdateRole", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) DeleteRole(ctx context.Context, in *DeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) { |
| out := new(Role) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteRole", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) UndeleteRole(ctx context.Context, in *UndeleteRoleRequest, opts ...grpc.CallOption) (*Role, error) { |
| out := new(Role) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/UndeleteRole", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) QueryTestablePermissions(ctx context.Context, in *QueryTestablePermissionsRequest, opts ...grpc.CallOption) (*QueryTestablePermissionsResponse, error) { |
| out := new(QueryTestablePermissionsResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryTestablePermissions", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) QueryAuditableServices(ctx context.Context, in *QueryAuditableServicesRequest, opts ...grpc.CallOption) (*QueryAuditableServicesResponse, error) { |
| out := new(QueryAuditableServicesResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryAuditableServices", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *iAMClient) LintPolicy(ctx context.Context, in *LintPolicyRequest, opts ...grpc.CallOption) (*LintPolicyResponse, error) { |
| out := new(LintPolicyResponse) |
| err := c.cc.Invoke(ctx, "/google.iam.admin.v1.IAM/LintPolicy", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // IAMServer is the server API for IAM service. |
| type IAMServer interface { |
| // Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project. |
| ListServiceAccounts(context.Context, *ListServiceAccountsRequest) (*ListServiceAccountsResponse, error) |
| // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error) |
| // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| CreateServiceAccount(context.Context, *CreateServiceAccountRequest) (*ServiceAccount, error) |
| // **Note:** We are in the process of deprecating this method. Use |
| // [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead. |
| // |
| // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // You can update only the `display_name` field. |
| UpdateServiceAccount(context.Context, *ServiceAccount) (*ServiceAccount, error) |
| // Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| PatchServiceAccount(context.Context, *PatchServiceAccountRequest) (*ServiceAccount, error) |
| // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // **Warning:** After you delete a service account, you might not be able to |
| // undelete it. If you know that you need to re-enable the service account in |
| // the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead. |
| // |
| // If you delete a service account, IAM permanently removes the service |
| // account 30 days later. Google Cloud cannot recover the service account |
| // after it is permanently removed, even if you file a support request. |
| // |
| // To help avoid unplanned outages, we recommend that you disable the service |
| // account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the |
| // service account, then wait at least 24 hours and watch for unintended |
| // consequences. If there are no unintended consequences, you can delete the |
| // service account. |
| DeleteServiceAccount(context.Context, *DeleteServiceAccountRequest) (*emptypb.Empty, error) |
| // Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // **Important:** It is not always possible to restore a deleted service |
| // account. Use this method only as a last resort. |
| // |
| // After you delete a service account, IAM permanently removes the service |
| // account 30 days later. There is no way to restore a deleted service account |
| // that has been permanently removed. |
| UndeleteServiceAccount(context.Context, *UndeleteServiceAccountRequest) (*UndeleteServiceAccountResponse, error) |
| // Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by |
| // [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount]. |
| // |
| // If the service account is already enabled, then this method has no effect. |
| // |
| // If the service account was disabled by other means—for example, if Google |
| // disabled the service account because it was compromised—you cannot use this |
| // method to enable the service account. |
| EnableServiceAccount(context.Context, *EnableServiceAccountRequest) (*emptypb.Empty, error) |
| // Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately. |
| // |
| // If an application uses the service account to authenticate, that |
| // application can no longer call Google APIs or access Google Cloud |
| // resources. Existing access tokens for the service account are rejected, and |
| // requests for new access tokens will fail. |
| // |
| // To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you |
| // re-enable the service account, its existing access tokens will be accepted, |
| // and you can request new access tokens. |
| // |
| // To help avoid unplanned outages, we recommend that you disable the service |
| // account before you delete it. Use this method to disable the service |
| // account, then wait at least 24 hours and watch for unintended consequences. |
| // If there are no unintended consequences, you can delete the service account |
| // with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount]. |
| DisableServiceAccount(context.Context, *DisableServiceAccountRequest) (*emptypb.Empty, error) |
| // Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account. |
| ListServiceAccountKeys(context.Context, *ListServiceAccountKeysRequest) (*ListServiceAccountKeysResponse, error) |
| // Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| GetServiceAccountKey(context.Context, *GetServiceAccountKeyRequest) (*ServiceAccountKey, error) |
| // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| CreateServiceAccountKey(context.Context, *CreateServiceAccountKeyRequest) (*ServiceAccountKey, error) |
| // Uploads the public key portion of a key pair that you manage, and |
| // associates the public key with a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // After you upload the public key, you can use the private key from the key |
| // pair as a service account key. |
| UploadServiceAccountKey(context.Context, *UploadServiceAccountKeyRequest) (*ServiceAccountKey, error) |
| // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not |
| // revoke short-lived credentials that have been issued based on the service |
| // account key. |
| DeleteServiceAccountKey(context.Context, *DeleteServiceAccountKeyRequest) (*emptypb.Empty, error) |
| // Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. A disabled service account key can be |
| // re-enabled with [EnableServiceAccountKey][google.iam.admin.v1.IAM.EnableServiceAccountKey]. |
| DisableServiceAccountKey(context.Context, *DisableServiceAccountKeyRequest) (*emptypb.Empty, error) |
| // Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
| EnableServiceAccountKey(context.Context, *EnableServiceAccountKeyRequest) (*emptypb.Empty, error) |
| // Deprecated: Do not use. |
| // **Note:** This method is deprecated. Use the |
| // [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) |
| // method in the IAM Service Account Credentials API instead. If you currently |
| // use this method, see the [migration |
| // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for |
| // instructions. |
| // |
| // Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| SignBlob(context.Context, *SignBlobRequest) (*SignBlobResponse, error) |
| // Deprecated: Do not use. |
| // **Note:** This method is deprecated. Use the |
| // [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) |
| // method in the IAM Service Account Credentials API instead. If you currently |
| // use this method, see the [migration |
| // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for |
| // instructions. |
| // |
| // Signs a JSON Web Token (JWT) using the system-managed private key for a |
| // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| SignJwt(context.Context, *SignJwtRequest) (*SignJwtResponse, error) |
| // Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM |
| // policy specifies which principals have access to the service account. |
| // |
| // This method does not tell you whether the service account has been granted |
| // any roles on other resources. To check whether a service account has role |
| // grants on a resource, use the `getIamPolicy` method for that resource. For |
| // example, to view the role grants for a project, call the Resource Manager |
| // API's |
| // [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) |
| // method. |
| GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) |
| // Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| // |
| // Use this method to grant or revoke access to the service account. For |
| // example, you could grant a principal the ability to impersonate the service |
| // account. |
| // |
| // This method does not enable the service account to access other resources. |
| // To grant roles to a service account on a resource, follow these steps: |
| // |
| // 1. Call the resource's `getIamPolicy` method to get its current IAM policy. |
| // 2. Edit the policy so that it binds the service account to an IAM role for |
| // the resource. |
| // 3. Call the resource's `setIamPolicy` method to update its IAM policy. |
| // |
| // For detailed instructions, see |
| // [Manage access to project, folders, and |
| // organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) |
| // or [Manage access to other |
| // resources](https://cloud.google.com/iam/help/access/manage-other-resources). |
| SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) |
| // Tests whether the caller has the specified permissions on a |
| // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
| TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) |
| // Lists roles that can be granted on a Google Cloud resource. A role is |
| // grantable if the IAM policy for the resource can contain bindings to the |
| // role. |
| QueryGrantableRoles(context.Context, *QueryGrantableRolesRequest) (*QueryGrantableRolesResponse, error) |
| // Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role |
| // that is defined for an organization or project. |
| ListRoles(context.Context, *ListRolesRequest) (*ListRolesResponse, error) |
| // Gets the definition of a [Role][google.iam.admin.v1.Role]. |
| GetRole(context.Context, *GetRoleRequest) (*Role, error) |
| // Creates a new custom [Role][google.iam.admin.v1.Role]. |
| CreateRole(context.Context, *CreateRoleRequest) (*Role, error) |
| // Updates the definition of a custom [Role][google.iam.admin.v1.Role]. |
| UpdateRole(context.Context, *UpdateRoleRequest) (*Role, error) |
| // Deletes a custom [Role][google.iam.admin.v1.Role]. |
| // |
| // When you delete a custom role, the following changes occur immediately: |
| // |
| // * You cannot bind a principal to the custom role in an IAM |
| // [Policy][google.iam.v1.Policy]. |
| // * Existing bindings to the custom role are not changed, but they have no |
| // effect. |
| // * By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom |
| // role. |
| // |
| // You have 7 days to undelete the custom role. After 7 days, the following |
| // changes occur: |
| // |
| // * The custom role is permanently deleted and cannot be recovered. |
| // * If an IAM policy contains a binding to the custom role, the binding is |
| // permanently removed. |
| DeleteRole(context.Context, *DeleteRoleRequest) (*Role, error) |
| // Undeletes a custom [Role][google.iam.admin.v1.Role]. |
| UndeleteRole(context.Context, *UndeleteRoleRequest) (*Role, error) |
| // Lists every permission that you can test on a resource. A permission is |
| // testable if you can check whether a principal has that permission on the |
| // resource. |
| QueryTestablePermissions(context.Context, *QueryTestablePermissionsRequest) (*QueryTestablePermissionsResponse, error) |
| // Returns a list of services that allow you to opt into audit logs that are |
| // not generated by default. |
| // |
| // To learn more about audit logs, see the [Logging |
| // documentation](https://cloud.google.com/logging/docs/audit). |
| QueryAuditableServices(context.Context, *QueryAuditableServicesRequest) (*QueryAuditableServicesResponse, error) |
| // Lints, or validates, an IAM policy. Currently checks the |
| // [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition |
| // expression for a role binding. |
| // |
| // Successful calls to this method always return an HTTP `200 OK` status code, |
| // even if the linter detects an issue in the IAM policy. |
| LintPolicy(context.Context, *LintPolicyRequest) (*LintPolicyResponse, error) |
| } |
| |
| // UnimplementedIAMServer can be embedded to have forward compatible implementations. |
| type UnimplementedIAMServer struct { |
| } |
| |
| func (*UnimplementedIAMServer) ListServiceAccounts(context.Context, *ListServiceAccountsRequest) (*ListServiceAccountsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListServiceAccounts not implemented") |
| } |
| func (*UnimplementedIAMServer) GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) CreateServiceAccount(context.Context, *CreateServiceAccountRequest) (*ServiceAccount, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) UpdateServiceAccount(context.Context, *ServiceAccount) (*ServiceAccount, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UpdateServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) PatchServiceAccount(context.Context, *PatchServiceAccountRequest) (*ServiceAccount, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method PatchServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) DeleteServiceAccount(context.Context, *DeleteServiceAccountRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) UndeleteServiceAccount(context.Context, *UndeleteServiceAccountRequest) (*UndeleteServiceAccountResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UndeleteServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) EnableServiceAccount(context.Context, *EnableServiceAccountRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method EnableServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) DisableServiceAccount(context.Context, *DisableServiceAccountRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DisableServiceAccount not implemented") |
| } |
| func (*UnimplementedIAMServer) ListServiceAccountKeys(context.Context, *ListServiceAccountKeysRequest) (*ListServiceAccountKeysResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListServiceAccountKeys not implemented") |
| } |
| func (*UnimplementedIAMServer) GetServiceAccountKey(context.Context, *GetServiceAccountKeyRequest) (*ServiceAccountKey, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) CreateServiceAccountKey(context.Context, *CreateServiceAccountKeyRequest) (*ServiceAccountKey, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) UploadServiceAccountKey(context.Context, *UploadServiceAccountKeyRequest) (*ServiceAccountKey, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UploadServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) DeleteServiceAccountKey(context.Context, *DeleteServiceAccountKeyRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) DisableServiceAccountKey(context.Context, *DisableServiceAccountKeyRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DisableServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) EnableServiceAccountKey(context.Context, *EnableServiceAccountKeyRequest) (*emptypb.Empty, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method EnableServiceAccountKey not implemented") |
| } |
| func (*UnimplementedIAMServer) SignBlob(context.Context, *SignBlobRequest) (*SignBlobResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method SignBlob not implemented") |
| } |
| func (*UnimplementedIAMServer) SignJwt(context.Context, *SignJwtRequest) (*SignJwtResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method SignJwt not implemented") |
| } |
| func (*UnimplementedIAMServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") |
| } |
| func (*UnimplementedIAMServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") |
| } |
| func (*UnimplementedIAMServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") |
| } |
| func (*UnimplementedIAMServer) QueryGrantableRoles(context.Context, *QueryGrantableRolesRequest) (*QueryGrantableRolesResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method QueryGrantableRoles not implemented") |
| } |
| func (*UnimplementedIAMServer) ListRoles(context.Context, *ListRolesRequest) (*ListRolesResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListRoles not implemented") |
| } |
| func (*UnimplementedIAMServer) GetRole(context.Context, *GetRoleRequest) (*Role, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetRole not implemented") |
| } |
| func (*UnimplementedIAMServer) CreateRole(context.Context, *CreateRoleRequest) (*Role, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateRole not implemented") |
| } |
| func (*UnimplementedIAMServer) UpdateRole(context.Context, *UpdateRoleRequest) (*Role, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UpdateRole not implemented") |
| } |
| func (*UnimplementedIAMServer) DeleteRole(context.Context, *DeleteRoleRequest) (*Role, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DeleteRole not implemented") |
| } |
| func (*UnimplementedIAMServer) UndeleteRole(context.Context, *UndeleteRoleRequest) (*Role, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UndeleteRole not implemented") |
| } |
| func (*UnimplementedIAMServer) QueryTestablePermissions(context.Context, *QueryTestablePermissionsRequest) (*QueryTestablePermissionsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method QueryTestablePermissions not implemented") |
| } |
| func (*UnimplementedIAMServer) QueryAuditableServices(context.Context, *QueryAuditableServicesRequest) (*QueryAuditableServicesResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method QueryAuditableServices not implemented") |
| } |
| func (*UnimplementedIAMServer) LintPolicy(context.Context, *LintPolicyRequest) (*LintPolicyResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method LintPolicy not implemented") |
| } |
| |
| func RegisterIAMServer(s *grpc.Server, srv IAMServer) { |
| s.RegisterService(&_IAM_serviceDesc, srv) |
| } |
| |
| func _IAM_ListServiceAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListServiceAccountsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).ListServiceAccounts(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccounts", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).ListServiceAccounts(ctx, req.(*ListServiceAccountsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_GetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).GetServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).GetServiceAccount(ctx, req.(*GetServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_CreateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).CreateServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).CreateServiceAccount(ctx, req.(*CreateServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_UpdateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ServiceAccount) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).UpdateServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/UpdateServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).UpdateServiceAccount(ctx, req.(*ServiceAccount)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_PatchServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(PatchServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).PatchServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/PatchServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).PatchServiceAccount(ctx, req.(*PatchServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_DeleteServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).DeleteServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).DeleteServiceAccount(ctx, req.(*DeleteServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_UndeleteServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UndeleteServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).UndeleteServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/UndeleteServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).UndeleteServiceAccount(ctx, req.(*UndeleteServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_EnableServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(EnableServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).EnableServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/EnableServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).EnableServiceAccount(ctx, req.(*EnableServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_DisableServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DisableServiceAccountRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).DisableServiceAccount(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/DisableServiceAccount", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).DisableServiceAccount(ctx, req.(*DisableServiceAccountRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_ListServiceAccountKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListServiceAccountKeysRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).ListServiceAccountKeys(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccountKeys", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).ListServiceAccountKeys(ctx, req.(*ListServiceAccountKeysRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_GetServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).GetServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).GetServiceAccountKey(ctx, req.(*GetServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_CreateServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).CreateServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).CreateServiceAccountKey(ctx, req.(*CreateServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_UploadServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UploadServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).UploadServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/UploadServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).UploadServiceAccountKey(ctx, req.(*UploadServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_DeleteServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).DeleteServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).DeleteServiceAccountKey(ctx, req.(*DeleteServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_DisableServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DisableServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).DisableServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/DisableServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).DisableServiceAccountKey(ctx, req.(*DisableServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_EnableServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(EnableServiceAccountKeyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).EnableServiceAccountKey(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/EnableServiceAccountKey", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).EnableServiceAccountKey(ctx, req.(*EnableServiceAccountKeyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_SignBlob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(SignBlobRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).SignBlob(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/SignBlob", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).SignBlob(ctx, req.(*SignBlobRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_SignJwt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(SignJwtRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).SignJwt(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/SignJwt", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).SignJwt(ctx, req.(*SignJwtRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.GetIamPolicyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).GetIamPolicy(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/GetIamPolicy", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.SetIamPolicyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).SetIamPolicy(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/SetIamPolicy", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.TestIamPermissionsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).TestIamPermissions(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/TestIamPermissions", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_QueryGrantableRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(QueryGrantableRolesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).QueryGrantableRoles(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/QueryGrantableRoles", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).QueryGrantableRoles(ctx, req.(*QueryGrantableRolesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_ListRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListRolesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).ListRoles(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/ListRoles", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).ListRoles(ctx, req.(*ListRolesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_GetRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetRoleRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).GetRole(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/GetRole", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).GetRole(ctx, req.(*GetRoleRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_CreateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateRoleRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).CreateRole(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/CreateRole", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).CreateRole(ctx, req.(*CreateRoleRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_UpdateRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateRoleRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).UpdateRole(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/UpdateRole", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).UpdateRole(ctx, req.(*UpdateRoleRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_DeleteRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteRoleRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).DeleteRole(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/DeleteRole", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).DeleteRole(ctx, req.(*DeleteRoleRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_UndeleteRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UndeleteRoleRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).UndeleteRole(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/UndeleteRole", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).UndeleteRole(ctx, req.(*UndeleteRoleRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_QueryTestablePermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(QueryTestablePermissionsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).QueryTestablePermissions(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/QueryTestablePermissions", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).QueryTestablePermissions(ctx, req.(*QueryTestablePermissionsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_QueryAuditableServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(QueryAuditableServicesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).QueryAuditableServices(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/QueryAuditableServices", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).QueryAuditableServices(ctx, req.(*QueryAuditableServicesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _IAM_LintPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(LintPolicyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(IAMServer).LintPolicy(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.iam.admin.v1.IAM/LintPolicy", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(IAMServer).LintPolicy(ctx, req.(*LintPolicyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _IAM_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.iam.admin.v1.IAM", |
| HandlerType: (*IAMServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "ListServiceAccounts", |
| Handler: _IAM_ListServiceAccounts_Handler, |
| }, |
| { |
| MethodName: "GetServiceAccount", |
| Handler: _IAM_GetServiceAccount_Handler, |
| }, |
| { |
| MethodName: "CreateServiceAccount", |
| Handler: _IAM_CreateServiceAccount_Handler, |
| }, |
| { |
| MethodName: "UpdateServiceAccount", |
| Handler: _IAM_UpdateServiceAccount_Handler, |
| }, |
| { |
| MethodName: "PatchServiceAccount", |
| Handler: _IAM_PatchServiceAccount_Handler, |
| }, |
| { |
| MethodName: "DeleteServiceAccount", |
| Handler: _IAM_DeleteServiceAccount_Handler, |
| }, |
| { |
| MethodName: "UndeleteServiceAccount", |
| Handler: _IAM_UndeleteServiceAccount_Handler, |
| }, |
| { |
| MethodName: "EnableServiceAccount", |
| Handler: _IAM_EnableServiceAccount_Handler, |
| }, |
| { |
| MethodName: "DisableServiceAccount", |
| Handler: _IAM_DisableServiceAccount_Handler, |
| }, |
| { |
| MethodName: "ListServiceAccountKeys", |
| Handler: _IAM_ListServiceAccountKeys_Handler, |
| }, |
| { |
| MethodName: "GetServiceAccountKey", |
| Handler: _IAM_GetServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "CreateServiceAccountKey", |
| Handler: _IAM_CreateServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "UploadServiceAccountKey", |
| Handler: _IAM_UploadServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "DeleteServiceAccountKey", |
| Handler: _IAM_DeleteServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "DisableServiceAccountKey", |
| Handler: _IAM_DisableServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "EnableServiceAccountKey", |
| Handler: _IAM_EnableServiceAccountKey_Handler, |
| }, |
| { |
| MethodName: "SignBlob", |
| Handler: _IAM_SignBlob_Handler, |
| }, |
| { |
| MethodName: "SignJwt", |
| Handler: _IAM_SignJwt_Handler, |
| }, |
| { |
| MethodName: "GetIamPolicy", |
| Handler: _IAM_GetIamPolicy_Handler, |
| }, |
| { |
| MethodName: "SetIamPolicy", |
| Handler: _IAM_SetIamPolicy_Handler, |
| }, |
| { |
| MethodName: "TestIamPermissions", |
| Handler: _IAM_TestIamPermissions_Handler, |
| }, |
| { |
| MethodName: "QueryGrantableRoles", |
| Handler: _IAM_QueryGrantableRoles_Handler, |
| }, |
| { |
| MethodName: "ListRoles", |
| Handler: _IAM_ListRoles_Handler, |
| }, |
| { |
| MethodName: "GetRole", |
| Handler: _IAM_GetRole_Handler, |
| }, |
| { |
| MethodName: "CreateRole", |
| Handler: _IAM_CreateRole_Handler, |
| }, |
| { |
| MethodName: "UpdateRole", |
| Handler: _IAM_UpdateRole_Handler, |
| }, |
| { |
| MethodName: "DeleteRole", |
| Handler: _IAM_DeleteRole_Handler, |
| }, |
| { |
| MethodName: "UndeleteRole", |
| Handler: _IAM_UndeleteRole_Handler, |
| }, |
| { |
| MethodName: "QueryTestablePermissions", |
| Handler: _IAM_QueryTestablePermissions_Handler, |
| }, |
| { |
| MethodName: "QueryAuditableServices", |
| Handler: _IAM_QueryAuditableServices_Handler, |
| }, |
| { |
| MethodName: "LintPolicy", |
| Handler: _IAM_LintPolicy_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "google/iam/admin/v1/iam.proto", |
| } |