From 734508afefc7a6e978578dffb4fe3f805480be75 Mon Sep 17 00:00:00 2001 From: Gemma Hou Date: Wed, 28 Feb 2024 03:59:01 +0000 Subject: [PATCH] Mock AccessContextManager --- ...beta1_accesscontextmanageraccesslevel.yaml | 2 +- ...eta1_accesscontextmanageraccesspolicy.yaml | 2 +- ...beta1_accesscontextmanageraccesslevel.yaml | 4 +- ..._accesscontextmanagerserviceperimeter.yaml | 6 +- .../iam_v1beta1_iamserviceaccount.yaml | 4 +- config/tests/samples/create/harness.go | 4 + mockgcp/Makefile | 3 +- mockgcp/fixup-third-party.sh | 4 + .../cloud/billing/v1/cloud_billing.pb.go | 2 - .../v1/access_context_manager.pb.go | 3318 ++++++++++++++++ .../v1/access_context_manager.pb.gw.go | 3377 +++++++++++++++++ .../v1/access_context_manager_grpc.pb.go | 1329 +++++++ .../v1/access_level.pb.go | 939 +++++ .../v1/access_policy.pb.go | 285 ++ .../v1/gcp_user_access_binding.pb.go | 236 ++ .../v1/service_perimeter.pb.go | 1745 +++++++++ mockgcp/mock_http_roundtrip.go | 2 + .../mockaccesscontextmanager/accesslevel.go | 115 + mockgcp/mockaccesscontextmanager/names.go | 75 + mockgcp/mockaccesscontextmanager/service.go | 67 + .../serviceperimeter.go | 95 + mockgcp/pkg/storage/memory.go | 3 + .../dependencies.yaml | 11 +- .../dependencies.yaml | 11 +- .../accesscontextmanageraccesslevel.md | 2 +- .../accesscontextmanageraccesspolicy.md | 2 +- .../accesscontextmanagerserviceperimeter.md | 14 +- 27 files changed, 11622 insertions(+), 35 deletions(-) create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_level.pb.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_policy.pb.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/gcp_user_access_binding.pb.go create mode 100644 mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/service_perimeter.pb.go create mode 100644 mockgcp/mockaccesscontextmanager/accesslevel.go create mode 100644 mockgcp/mockaccesscontextmanager/names.go create mode 100644 mockgcp/mockaccesscontextmanager/service.go create mode 100644 mockgcp/mockaccesscontextmanager/serviceperimeter.go diff --git a/config/samples/resources/accesscontextmanageraccesslevel/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml b/config/samples/resources/accesscontextmanageraccesslevel/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml index 24763da3e1..6ea79d6dc4 100644 --- a/config/samples/resources/accesscontextmanageraccesslevel/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml +++ b/config/samples/resources/accesscontextmanageraccesslevel/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml @@ -17,7 +17,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: accesslevelsample spec: accessPolicyRef: diff --git a/config/samples/resources/accesscontextmanageraccesspolicy/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml b/config/samples/resources/accesscontextmanageraccesspolicy/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml index baa7f73793..b4a08492c9 100644 --- a/config/samples/resources/accesscontextmanageraccesspolicy/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml +++ b/config/samples/resources/accesscontextmanageraccesspolicy/accesscontextmanager_v1beta1_accesscontextmanageraccesspolicy.yaml @@ -17,7 +17,7 @@ kind: AccessContextManagerAccessPolicy metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: accesspolicysample spec: title: Config Connector Sample diff --git a/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml b/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml index d071fa12dc..e36663bb18 100644 --- a/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml +++ b/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanageraccesslevel.yaml @@ -17,7 +17,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterdep1 spec: accessPolicyRef: @@ -34,7 +34,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterdep2 spec: accessPolicyRef: diff --git a/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml b/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml index 1abb3cd1e6..c4ef5c94cf 100644 --- a/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml +++ b/config/samples/resources/accesscontextmanagerserviceperimeter/accesscontextmanager_v1beta1_accesscontextmanagerserviceperimeter.yaml @@ -42,7 +42,8 @@ spec: egressPolicies: - egressFrom: identities: - - name: serviceperimeterengressdep + - serviceAccountRef: + name: serviceperimeterengressdep - egressTo: resources: - projectRef: @@ -50,7 +51,8 @@ spec: ingressPolicies: - ingressFrom: identities: - - name: serviceperimeteringressdep + - serviceAccountRef: + name: serviceperimeteringressdep sources: - accessLevelRef: name: serviceperimeterdep2 diff --git a/config/samples/resources/accesscontextmanagerserviceperimeter/iam_v1beta1_iamserviceaccount.yaml b/config/samples/resources/accesscontextmanagerserviceperimeter/iam_v1beta1_iamserviceaccount.yaml index 109ac83a0d..8da3c080f6 100644 --- a/config/samples/resources/accesscontextmanagerserviceperimeter/iam_v1beta1_iamserviceaccount.yaml +++ b/config/samples/resources/accesscontextmanagerserviceperimeter/iam_v1beta1_iamserviceaccount.yaml @@ -17,7 +17,7 @@ kind: IAMServiceAccount metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterengressdep --- apiVersion: iam.cnrm.cloud.google.com/v1beta1 @@ -25,5 +25,5 @@ kind: IAMServiceAccount metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeteringressdep \ No newline at end of file diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index f24590d6a8..abcdefaf8f 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -437,6 +437,10 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured } switch gvk.GroupKind() { + case schema.GroupKind{Group: "accesscontextmanager.cnrm.cloud.google.com", Kind: "AccessContextManagerAccessLevel"}: + case schema.GroupKind{Group: "accesscontextmanager.cnrm.cloud.google.com", Kind: "AccessContextManagerServicePerimeter"}: + case schema.GroupKind{Group: "accesscontextmanager.cnrm.cloud.google.com", Kind: "AccessContextManagerServicePerimeterResource"}: + case schema.GroupKind{Group: "apikeys.cnrm.cloud.google.com", Kind: "APIKeysKey"}: case schema.GroupKind{Group: "cloudfunctions.cnrm.cloud.google.com", Kind: "CloudFunctionsFunction"}: diff --git a/mockgcp/Makefile b/mockgcp/Makefile index e28ab09f78..bf70bddfb3 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -43,4 +43,5 @@ gen-proto: ./third_party/googleapis/mockgcp/cloud/security/privateca/v1/*.proto \ ./third_party/googleapis/mockgcp/cloud/secretmanager/v1/*.proto \ ./third_party/googleapis/mockgcp/api/serviceusage/v1/*.proto \ - ./third_party/googleapis/mockgcp/api/serviceusage/v1beta1/*.proto + ./third_party/googleapis/mockgcp/api/serviceusage/v1beta1/*.proto \ + ./third_party/googleapis/mockgcp/identity/accesscontextmanager/v1/*.proto diff --git a/mockgcp/fixup-third-party.sh b/mockgcp/fixup-third-party.sh index 7aaf2c57db..5828e2e68e 100755 --- a/mockgcp/fixup-third-party.sh +++ b/mockgcp/fixup-third-party.sh @@ -26,6 +26,7 @@ rm -rf mockgcp/ && mkdir -p mockgcp/api/ mv google/cloud/ mockgcp/ mv google/iam/ mockgcp/ mv google/storage/ mockgcp/ +mv google/identity/ mockgcp/ mv google/api/apikeys/ mockgcp/api/ mv google/api/serviceusage/ mockgcp/api/ @@ -41,6 +42,9 @@ find . -type f -print0 | xargs -0 sed -i -e "s@google\.iam@mockgcp.iam@g" find . -type f -print0 | xargs -0 sed -i -e "s@google/storage/@mockgcp/storage/@g" find . -type f -print0 | xargs -0 sed -i -e "s@google\.storage@mockgcp.storage@g" +find . -type f -print0 | xargs -0 sed -i -e "s@google/identity/@mockgcp/identity/@g" +find . -type f -print0 | xargs -0 sed -i -e "s@google\.identity@mockgcp.identity@g" + find . -type f -print0 | xargs -0 sed -i -e "s@google/api/apikeys/@mockgcp/api/apikeys/@g" find . -type f -print0 | xargs -0 sed -i -e "s@google\.api\.apikeys@mockgcp.api.apikeys@g" diff --git a/mockgcp/generated/mockgcp/cloud/billing/v1/cloud_billing.pb.go b/mockgcp/generated/mockgcp/cloud/billing/v1/cloud_billing.pb.go index 8d4f08d540..5f2515f013 100644 --- a/mockgcp/generated/mockgcp/cloud/billing/v1/cloud_billing.pb.go +++ b/mockgcp/generated/mockgcp/cloud/billing/v1/cloud_billing.pb.go @@ -442,8 +442,6 @@ type CreateBillingAccountRequest struct { BillingAccount *BillingAccount `protobuf:"bytes,1,opt,name=billing_account,json=billingAccount,proto3" json:"billing_account,omitempty"` // Optional. The parent to create a billing account from. // Format: - // - `organizations/{organization_id}`, for example, - // `organizations/12345678` // - `billingAccounts/{billing_account_id}`, for example, // `billingAccounts/012345-567890-ABCDEF` Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.go new file mode 100644 index 0000000000..1429900f6b --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.go @@ -0,0 +1,3318 @@ +// 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.28.1 +// protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/access_context_manager.proto + +package accesscontextmanagerpb + +import ( + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// The format used in an `AccessLevel`. +type LevelFormat int32 + +const ( + // The format was not specified. + LevelFormat_LEVEL_FORMAT_UNSPECIFIED LevelFormat = 0 + // Uses the format the resource was defined in. BasicLevels are returned as + // BasicLevels, CustomLevels are returned as CustomLevels. + LevelFormat_AS_DEFINED LevelFormat = 1 + // Use Cloud Common Expression Language when returning the resource. Both + // BasicLevels and CustomLevels are returned as CustomLevels. + LevelFormat_CEL LevelFormat = 2 +) + +// Enum value maps for LevelFormat. +var ( + LevelFormat_name = map[int32]string{ + 0: "LEVEL_FORMAT_UNSPECIFIED", + 1: "AS_DEFINED", + 2: "CEL", + } + LevelFormat_value = map[string]int32{ + "LEVEL_FORMAT_UNSPECIFIED": 0, + "AS_DEFINED": 1, + "CEL": 2, + } +) + +func (x LevelFormat) Enum() *LevelFormat { + p := new(LevelFormat) + *p = x + return p +} + +func (x LevelFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LevelFormat) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_enumTypes[0].Descriptor() +} + +func (LevelFormat) Type() protoreflect.EnumType { + return &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_enumTypes[0] +} + +func (x LevelFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LevelFormat.Descriptor instead. +func (LevelFormat) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{0} +} + +// A request to list all `AccessPolicies` for a container. +type ListAccessPoliciesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the container to list AccessPolicy instances + // from. + // + // Format: + // `organizations/{org_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Number of AccessPolicy instances to include in the list. Default 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Next page token for the next batch of AccessPolicy instances. Defaults to + // the first page of results. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListAccessPoliciesRequest) Reset() { + *x = ListAccessPoliciesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAccessPoliciesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccessPoliciesRequest) ProtoMessage() {} + +func (x *ListAccessPoliciesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListAccessPoliciesRequest.ProtoReflect.Descriptor instead. +func (*ListAccessPoliciesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{0} +} + +func (x *ListAccessPoliciesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAccessPoliciesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAccessPoliciesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// A response to `ListAccessPoliciesRequest`. +type ListAccessPoliciesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the AccessPolicy instances. + AccessPolicies []*AccessPolicy `protobuf:"bytes,1,rep,name=access_policies,json=accessPolicies,proto3" json:"access_policies,omitempty"` + // The pagination token to retrieve the next page of results. If the value is + // empty, no further results remain. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAccessPoliciesResponse) Reset() { + *x = ListAccessPoliciesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAccessPoliciesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccessPoliciesResponse) ProtoMessage() {} + +func (x *ListAccessPoliciesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListAccessPoliciesResponse.ProtoReflect.Descriptor instead. +func (*ListAccessPoliciesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{1} +} + +func (x *ListAccessPoliciesResponse) GetAccessPolicies() []*AccessPolicy { + if x != nil { + return x.AccessPolicies + } + return nil +} + +func (x *ListAccessPoliciesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// A request to get a particular `AccessPolicy`. +type GetAccessPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy to get. + // + // Format `accessPolicies/{policy_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetAccessPolicyRequest) Reset() { + *x = GetAccessPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAccessPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccessPolicyRequest) ProtoMessage() {} + +func (x *GetAccessPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 GetAccessPolicyRequest.ProtoReflect.Descriptor instead. +func (*GetAccessPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{2} +} + +func (x *GetAccessPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A request to update an `AccessPolicy`. +type UpdateAccessPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The updated AccessPolicy. + Policy *AccessPolicy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` + // Required. Mask to control which fields get updated. Must be non-empty. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateAccessPolicyRequest) Reset() { + *x = UpdateAccessPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAccessPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccessPolicyRequest) ProtoMessage() {} + +func (x *UpdateAccessPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 UpdateAccessPolicyRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccessPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateAccessPolicyRequest) GetPolicy() *AccessPolicy { + if x != nil { + return x.Policy + } + return nil +} + +func (x *UpdateAccessPolicyRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// A request to delete an `AccessPolicy`. +type DeleteAccessPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy to delete. + // + // Format `accessPolicies/{policy_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteAccessPolicyRequest) Reset() { + *x = DeleteAccessPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAccessPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccessPolicyRequest) ProtoMessage() {} + +func (x *DeleteAccessPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 DeleteAccessPolicyRequest.ProtoReflect.Descriptor instead. +func (*DeleteAccessPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteAccessPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A request to list all `AccessLevels` in an `AccessPolicy`. +type ListAccessLevelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy to list [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] from. + // + // Format: + // `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Number of [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] to include in + // the list. Default 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Next page token for the next batch of [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] instances. + // Defaults to the first page of results. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Whether to return `BasicLevels` in the Cloud Common Expression language, as + // `CustomLevels`, rather than as `BasicLevels`. Defaults to returning + // `AccessLevels` in the format they were defined. + AccessLevelFormat LevelFormat `protobuf:"varint,4,opt,name=access_level_format,json=accessLevelFormat,proto3,enum=mockgcp.identity.accesscontextmanager.v1.LevelFormat" json:"access_level_format,omitempty"` +} + +func (x *ListAccessLevelsRequest) Reset() { + *x = ListAccessLevelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAccessLevelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccessLevelsRequest) ProtoMessage() {} + +func (x *ListAccessLevelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListAccessLevelsRequest.ProtoReflect.Descriptor instead. +func (*ListAccessLevelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{5} +} + +func (x *ListAccessLevelsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAccessLevelsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAccessLevelsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListAccessLevelsRequest) GetAccessLevelFormat() LevelFormat { + if x != nil { + return x.AccessLevelFormat + } + return LevelFormat_LEVEL_FORMAT_UNSPECIFIED +} + +// A response to `ListAccessLevelsRequest`. +type ListAccessLevelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] instances. + AccessLevels []*AccessLevel `protobuf:"bytes,1,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"` + // The pagination token to retrieve the next page of results. If the value is + // empty, no further results remain. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAccessLevelsResponse) Reset() { + *x = ListAccessLevelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListAccessLevelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccessLevelsResponse) ProtoMessage() {} + +func (x *ListAccessLevelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListAccessLevelsResponse.ProtoReflect.Descriptor instead. +func (*ListAccessLevelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{6} +} + +func (x *ListAccessLevelsResponse) GetAccessLevels() []*AccessLevel { + if x != nil { + return x.AccessLevels + } + return nil +} + +func (x *ListAccessLevelsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// A request to get a particular `AccessLevel`. +type GetAccessLevelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. + // + // Format: + // `accessPolicies/{policy_id}/accessLevels/{access_level_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Whether to return `BasicLevels` in the Cloud Common Expression + // Language rather than as `BasicLevels`. Defaults to AS_DEFINED, where + // [Access Levels] [mockgcp.identity.accesscontextmanager.v1.AccessLevel] + // are returned as `BasicLevels` or `CustomLevels` based on how they were + // created. If set to CEL, all [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] are returned as + // `CustomLevels`. In the CEL case, `BasicLevels` are translated to equivalent + // `CustomLevels`. + AccessLevelFormat LevelFormat `protobuf:"varint,2,opt,name=access_level_format,json=accessLevelFormat,proto3,enum=mockgcp.identity.accesscontextmanager.v1.LevelFormat" json:"access_level_format,omitempty"` +} + +func (x *GetAccessLevelRequest) Reset() { + *x = GetAccessLevelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAccessLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccessLevelRequest) ProtoMessage() {} + +func (x *GetAccessLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 GetAccessLevelRequest.ProtoReflect.Descriptor instead. +func (*GetAccessLevelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{7} +} + +func (x *GetAccessLevelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetAccessLevelRequest) GetAccessLevelFormat() LevelFormat { + if x != nil { + return x.AccessLevelFormat + } + return LevelFormat_LEVEL_FORMAT_UNSPECIFIED +} + +// A request to create an `AccessLevel`. +type CreateAccessLevelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy which owns this [Access + // Level] [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. + // + // Format: `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] to create. + // Syntactic correctness of the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] is a + // precondition for creation. + AccessLevel *AccessLevel `protobuf:"bytes,2,opt,name=access_level,json=accessLevel,proto3" json:"access_level,omitempty"` +} + +func (x *CreateAccessLevelRequest) Reset() { + *x = CreateAccessLevelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateAccessLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccessLevelRequest) ProtoMessage() {} + +func (x *CreateAccessLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 CreateAccessLevelRequest.ProtoReflect.Descriptor instead. +func (*CreateAccessLevelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{8} +} + +func (x *CreateAccessLevelRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateAccessLevelRequest) GetAccessLevel() *AccessLevel { + if x != nil { + return x.AccessLevel + } + return nil +} + +// A request to update an `AccessLevel`. +type UpdateAccessLevelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The updated [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. Syntactic + // correctness of the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] is a + // precondition for creation. + AccessLevel *AccessLevel `protobuf:"bytes,1,opt,name=access_level,json=accessLevel,proto3" json:"access_level,omitempty"` + // Required. Mask to control which fields get updated. Must be non-empty. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateAccessLevelRequest) Reset() { + *x = UpdateAccessLevelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateAccessLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccessLevelRequest) ProtoMessage() {} + +func (x *UpdateAccessLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 UpdateAccessLevelRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccessLevelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{9} +} + +func (x *UpdateAccessLevelRequest) GetAccessLevel() *AccessLevel { + if x != nil { + return x.AccessLevel + } + return nil +} + +func (x *UpdateAccessLevelRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// A request to delete an `AccessLevel`. +type DeleteAccessLevelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. + // + // Format: + // `accessPolicies/{policy_id}/accessLevels/{access_level_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteAccessLevelRequest) Reset() { + *x = DeleteAccessLevelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAccessLevelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccessLevelRequest) ProtoMessage() {} + +func (x *DeleteAccessLevelRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 DeleteAccessLevelRequest.ProtoReflect.Descriptor instead. +func (*DeleteAccessLevelRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{10} +} + +func (x *DeleteAccessLevelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A request to replace all existing Access Levels in an Access Policy with +// the Access Levels provided. This is done atomically. +type ReplaceAccessLevelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy which owns these + // [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. + // + // Format: `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] that should + // replace all existing [Access Levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] in the + // [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + AccessLevels []*AccessLevel `protobuf:"bytes,2,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"` + // Optional. The etag for the version of the [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] that this + // replace operation is to be performed on. If, at the time of replace, the + // etag for the Access Policy stored in Access Context Manager is different + // from the specified etag, then the replace operation will not be performed + // and the call will fail. This field is not required. If etag is not + // provided, the operation will be performed as if a valid etag is provided. + Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *ReplaceAccessLevelsRequest) Reset() { + *x = ReplaceAccessLevelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplaceAccessLevelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplaceAccessLevelsRequest) ProtoMessage() {} + +func (x *ReplaceAccessLevelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ReplaceAccessLevelsRequest.ProtoReflect.Descriptor instead. +func (*ReplaceAccessLevelsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{11} +} + +func (x *ReplaceAccessLevelsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ReplaceAccessLevelsRequest) GetAccessLevels() []*AccessLevel { + if x != nil { + return x.AccessLevels + } + return nil +} + +func (x *ReplaceAccessLevelsRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// A response to ReplaceAccessLevelsRequest. This will be put inside of +// Operation.response field. +type ReplaceAccessLevelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the [Access Level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] instances. + AccessLevels []*AccessLevel `protobuf:"bytes,1,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"` +} + +func (x *ReplaceAccessLevelsResponse) Reset() { + *x = ReplaceAccessLevelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplaceAccessLevelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplaceAccessLevelsResponse) ProtoMessage() {} + +func (x *ReplaceAccessLevelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ReplaceAccessLevelsResponse.ProtoReflect.Descriptor instead. +func (*ReplaceAccessLevelsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{12} +} + +func (x *ReplaceAccessLevelsResponse) GetAccessLevels() []*AccessLevel { + if x != nil { + return x.AccessLevels + } + return nil +} + +// A request to list all `ServicePerimeters` in an `AccessPolicy`. +type ListServicePerimetersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy to list [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] from. + // + // Format: + // `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Number of [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] to include + // in the list. Default 100. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Next page token for the next batch of [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] instances. + // Defaults to the first page of results. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListServicePerimetersRequest) Reset() { + *x = ListServicePerimetersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListServicePerimetersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListServicePerimetersRequest) ProtoMessage() {} + +func (x *ListServicePerimetersRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListServicePerimetersRequest.ProtoReflect.Descriptor instead. +func (*ListServicePerimetersRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{13} +} + +func (x *ListServicePerimetersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListServicePerimetersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListServicePerimetersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// A response to `ListServicePerimetersRequest`. +type ListServicePerimetersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] instances. + ServicePerimeters []*ServicePerimeter `protobuf:"bytes,1,rep,name=service_perimeters,json=servicePerimeters,proto3" json:"service_perimeters,omitempty"` + // The pagination token to retrieve the next page of results. If the value is + // empty, no further results remain. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListServicePerimetersResponse) Reset() { + *x = ListServicePerimetersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListServicePerimetersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListServicePerimetersResponse) ProtoMessage() {} + +func (x *ListServicePerimetersResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListServicePerimetersResponse.ProtoReflect.Descriptor instead. +func (*ListServicePerimetersResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{14} +} + +func (x *ListServicePerimetersResponse) GetServicePerimeters() []*ServicePerimeter { + if x != nil { + return x.ServicePerimeters + } + return nil +} + +func (x *ListServicePerimetersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// A request to get a particular `ServicePerimeter`. +type GetServicePerimeterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + // + // Format: + // `accessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetServicePerimeterRequest) Reset() { + *x = GetServicePerimeterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetServicePerimeterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetServicePerimeterRequest) ProtoMessage() {} + +func (x *GetServicePerimeterRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 GetServicePerimeterRequest.ProtoReflect.Descriptor instead. +func (*GetServicePerimeterRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{15} +} + +func (x *GetServicePerimeterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A request to create a `ServicePerimeter`. +type CreateServicePerimeterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy which owns this [Service + // Perimeter] [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + // + // Format: `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] to create. + // Syntactic correctness of the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] is a + // precondition for creation. + ServicePerimeter *ServicePerimeter `protobuf:"bytes,2,opt,name=service_perimeter,json=servicePerimeter,proto3" json:"service_perimeter,omitempty"` +} + +func (x *CreateServicePerimeterRequest) Reset() { + *x = CreateServicePerimeterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateServicePerimeterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateServicePerimeterRequest) ProtoMessage() {} + +func (x *CreateServicePerimeterRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 CreateServicePerimeterRequest.ProtoReflect.Descriptor instead. +func (*CreateServicePerimeterRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{16} +} + +func (x *CreateServicePerimeterRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateServicePerimeterRequest) GetServicePerimeter() *ServicePerimeter { + if x != nil { + return x.ServicePerimeter + } + return nil +} + +// A request to update a `ServicePerimeter`. +type UpdateServicePerimeterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The updated `ServicePerimeter`. Syntactic correctness of the + // `ServicePerimeter` is a precondition for creation. + ServicePerimeter *ServicePerimeter `protobuf:"bytes,1,opt,name=service_perimeter,json=servicePerimeter,proto3" json:"service_perimeter,omitempty"` + // Required. Mask to control which fields get updated. Must be non-empty. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateServicePerimeterRequest) Reset() { + *x = UpdateServicePerimeterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateServicePerimeterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateServicePerimeterRequest) ProtoMessage() {} + +func (x *UpdateServicePerimeterRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 UpdateServicePerimeterRequest.ProtoReflect.Descriptor instead. +func (*UpdateServicePerimeterRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateServicePerimeterRequest) GetServicePerimeter() *ServicePerimeter { + if x != nil { + return x.ServicePerimeter + } + return nil +} + +func (x *UpdateServicePerimeterRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// A request to delete a `ServicePerimeter`. +type DeleteServicePerimeterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + // + // Format: + // `accessPolicies/{policy_id}/servicePerimeters/{service_perimeter_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteServicePerimeterRequest) Reset() { + *x = DeleteServicePerimeterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteServicePerimeterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteServicePerimeterRequest) ProtoMessage() {} + +func (x *DeleteServicePerimeterRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 DeleteServicePerimeterRequest.ProtoReflect.Descriptor instead. +func (*DeleteServicePerimeterRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{18} +} + +func (x *DeleteServicePerimeterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A request to replace all existing Service Perimeters in an Access Policy +// with the Service Perimeters provided. This is done atomically. +type ReplaceServicePerimetersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the access policy which owns these + // [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + // + // Format: `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] that should + // replace all existing [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in the + // [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + ServicePerimeters []*ServicePerimeter `protobuf:"bytes,2,rep,name=service_perimeters,json=servicePerimeters,proto3" json:"service_perimeters,omitempty"` + // Optional. The etag for the version of the [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] that this + // replace operation is to be performed on. If, at the time of replace, the + // etag for the Access Policy stored in Access Context Manager is different + // from the specified etag, then the replace operation will not be performed + // and the call will fail. This field is not required. If etag is not + // provided, the operation will be performed as if a valid etag is provided. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *ReplaceServicePerimetersRequest) Reset() { + *x = ReplaceServicePerimetersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplaceServicePerimetersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplaceServicePerimetersRequest) ProtoMessage() {} + +func (x *ReplaceServicePerimetersRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ReplaceServicePerimetersRequest.ProtoReflect.Descriptor instead. +func (*ReplaceServicePerimetersRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{19} +} + +func (x *ReplaceServicePerimetersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ReplaceServicePerimetersRequest) GetServicePerimeters() []*ServicePerimeter { + if x != nil { + return x.ServicePerimeters + } + return nil +} + +func (x *ReplaceServicePerimetersRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// A response to ReplaceServicePerimetersRequest. This will be put inside of +// Operation.response field. +type ReplaceServicePerimetersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] instances. + ServicePerimeters []*ServicePerimeter `protobuf:"bytes,1,rep,name=service_perimeters,json=servicePerimeters,proto3" json:"service_perimeters,omitempty"` +} + +func (x *ReplaceServicePerimetersResponse) Reset() { + *x = ReplaceServicePerimetersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReplaceServicePerimetersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplaceServicePerimetersResponse) ProtoMessage() {} + +func (x *ReplaceServicePerimetersResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ReplaceServicePerimetersResponse.ProtoReflect.Descriptor instead. +func (*ReplaceServicePerimetersResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{20} +} + +func (x *ReplaceServicePerimetersResponse) GetServicePerimeters() []*ServicePerimeter { + if x != nil { + return x.ServicePerimeters + } + return nil +} + +// A request to commit dry-run specs in all [Service Perimeters] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] belonging to +// an [Access Policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. +type CommitServicePerimetersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the parent [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] which owns all + // [Service Perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in scope for + // the commit operation. + // + // Format: `accessPolicies/{policy_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The etag for the version of the [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] that this + // commit operation is to be performed on. If, at the time of commit, the + // etag for the Access Policy stored in Access Context Manager is different + // from the specified etag, then the commit operation will not be performed + // and the call will fail. This field is not required. If etag is not + // provided, the operation will be performed as if a valid etag is provided. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *CommitServicePerimetersRequest) Reset() { + *x = CommitServicePerimetersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitServicePerimetersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitServicePerimetersRequest) ProtoMessage() {} + +func (x *CommitServicePerimetersRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 CommitServicePerimetersRequest.ProtoReflect.Descriptor instead. +func (*CommitServicePerimetersRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{21} +} + +func (x *CommitServicePerimetersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CommitServicePerimetersRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// A response to CommitServicePerimetersRequest. This will be put inside of +// Operation.response field. +type CommitServicePerimetersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of all the [Service Perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] instances in + // the [Access Policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + ServicePerimeters []*ServicePerimeter `protobuf:"bytes,1,rep,name=service_perimeters,json=servicePerimeters,proto3" json:"service_perimeters,omitempty"` +} + +func (x *CommitServicePerimetersResponse) Reset() { + *x = CommitServicePerimetersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitServicePerimetersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitServicePerimetersResponse) ProtoMessage() {} + +func (x *CommitServicePerimetersResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 CommitServicePerimetersResponse.ProtoReflect.Descriptor instead. +func (*CommitServicePerimetersResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{22} +} + +func (x *CommitServicePerimetersResponse) GetServicePerimeters() []*ServicePerimeter { + if x != nil { + return x.ServicePerimeters + } + return nil +} + +// Request of [ListGcpUserAccessBindings] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListGcpUserAccessBindings]. +type ListGcpUserAccessBindingsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Example: "organizations/256" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Maximum number of items to return. The server may return fewer items. + // If left blank, the server may return any number of items. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. If left blank, returns the first page. To enumerate all items, use the + // [next_page_token] + // [mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse.next_page_token] + // from your previous list operation. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListGcpUserAccessBindingsRequest) Reset() { + *x = ListGcpUserAccessBindingsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListGcpUserAccessBindingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGcpUserAccessBindingsRequest) ProtoMessage() {} + +func (x *ListGcpUserAccessBindingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListGcpUserAccessBindingsRequest.ProtoReflect.Descriptor instead. +func (*ListGcpUserAccessBindingsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{23} +} + +func (x *ListGcpUserAccessBindingsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListGcpUserAccessBindingsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListGcpUserAccessBindingsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response of [ListGcpUserAccessBindings] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListGcpUserAccessBindings]. +type ListGcpUserAccessBindingsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] + GcpUserAccessBindings []*GcpUserAccessBinding `protobuf:"bytes,1,rep,name=gcp_user_access_bindings,json=gcpUserAccessBindings,proto3" json:"gcp_user_access_bindings,omitempty"` + // Token to get the next page of items. If blank, there are no more items. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListGcpUserAccessBindingsResponse) Reset() { + *x = ListGcpUserAccessBindingsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListGcpUserAccessBindingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGcpUserAccessBindingsResponse) ProtoMessage() {} + +func (x *ListGcpUserAccessBindingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 ListGcpUserAccessBindingsResponse.ProtoReflect.Descriptor instead. +func (*ListGcpUserAccessBindingsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{24} +} + +func (x *ListGcpUserAccessBindingsResponse) GetGcpUserAccessBindings() []*GcpUserAccessBinding { + if x != nil { + return x.GcpUserAccessBindings + } + return nil +} + +func (x *ListGcpUserAccessBindingsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request of [GetGcpUserAccessBinding] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetGcpUserAccessBinding]. +type GetGcpUserAccessBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Example: "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetGcpUserAccessBindingRequest) Reset() { + *x = GetGcpUserAccessBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetGcpUserAccessBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGcpUserAccessBindingRequest) ProtoMessage() {} + +func (x *GetGcpUserAccessBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 GetGcpUserAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*GetGcpUserAccessBindingRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{25} +} + +func (x *GetGcpUserAccessBindingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request of [CreateGcpUserAccessBinding] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateGcpUserAccessBinding]. +type CreateGcpUserAccessBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Example: "organizations/256" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] + GcpUserAccessBinding *GcpUserAccessBinding `protobuf:"bytes,2,opt,name=gcp_user_access_binding,json=gcpUserAccessBinding,proto3" json:"gcp_user_access_binding,omitempty"` +} + +func (x *CreateGcpUserAccessBindingRequest) Reset() { + *x = CreateGcpUserAccessBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateGcpUserAccessBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateGcpUserAccessBindingRequest) ProtoMessage() {} + +func (x *CreateGcpUserAccessBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 CreateGcpUserAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*CreateGcpUserAccessBindingRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{26} +} + +func (x *CreateGcpUserAccessBindingRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateGcpUserAccessBindingRequest) GetGcpUserAccessBinding() *GcpUserAccessBinding { + if x != nil { + return x.GcpUserAccessBinding + } + return nil +} + +// Request of [UpdateGcpUserAccessBinding] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateGcpUserAccessBinding]. +type UpdateGcpUserAccessBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] + GcpUserAccessBinding *GcpUserAccessBinding `protobuf:"bytes,1,opt,name=gcp_user_access_binding,json=gcpUserAccessBinding,proto3" json:"gcp_user_access_binding,omitempty"` + // Required. Only the fields specified in this mask are updated. Because name and + // group_key cannot be changed, update_mask is required and must always be: + // + // update_mask { + // paths: "access_levels" + // } + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateGcpUserAccessBindingRequest) Reset() { + *x = UpdateGcpUserAccessBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateGcpUserAccessBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGcpUserAccessBindingRequest) ProtoMessage() {} + +func (x *UpdateGcpUserAccessBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 UpdateGcpUserAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*UpdateGcpUserAccessBindingRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{27} +} + +func (x *UpdateGcpUserAccessBindingRequest) GetGcpUserAccessBinding() *GcpUserAccessBinding { + if x != nil { + return x.GcpUserAccessBinding + } + return nil +} + +func (x *UpdateGcpUserAccessBindingRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request of [DeleteGcpUserAccessBinding] +// [mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteGcpUserAccessBinding]. +type DeleteGcpUserAccessBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Example: "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteGcpUserAccessBindingRequest) Reset() { + *x = DeleteGcpUserAccessBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteGcpUserAccessBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteGcpUserAccessBindingRequest) ProtoMessage() {} + +func (x *DeleteGcpUserAccessBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 DeleteGcpUserAccessBindingRequest.ProtoReflect.Descriptor instead. +func (*DeleteGcpUserAccessBindingRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{28} +} + +func (x *DeleteGcpUserAccessBindingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Currently, a completed operation means nothing. In the future, this metadata +// and a completed operation may indicate that the binding has taken effect and +// is affecting access decisions for all users. +type GcpUserAccessBindingOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GcpUserAccessBindingOperationMetadata) Reset() { + *x = GcpUserAccessBindingOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcpUserAccessBindingOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcpUserAccessBindingOperationMetadata) ProtoMessage() {} + +func (x *GcpUserAccessBindingOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 GcpUserAccessBindingOperationMetadata.ProtoReflect.Descriptor instead. +func (*GcpUserAccessBindingOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{29} +} + +// Metadata of Access Context Manager's Long Running Operations. +type AccessContextManagerOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *AccessContextManagerOperationMetadata) Reset() { + *x = AccessContextManagerOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessContextManagerOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessContextManagerOperationMetadata) ProtoMessage() {} + +func (x *AccessContextManagerOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_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 AccessContextManagerOperationMetadata.ProtoReflect.Descriptor instead. +func (*AccessContextManagerOperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP(), []int{30} +} + +var File_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto protoreflect.FileDescriptor + +var file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDesc = []byte{ + 0x0a, 0x45, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 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, 0x1f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 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, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, + 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x3c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x46, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x40, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0x22, 0xa9, + 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 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, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 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, 0x66, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x32, 0x0a, 0x30, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x19, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 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, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x69, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x32, 0x0a, 0x30, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 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, 0x65, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 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, 0xcb, 0x01, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x65, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x18, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0xbb, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x40, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x67, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, + 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, + 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0x79, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x22, 0xb0, 0x01, + 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, + 0x22, 0xb2, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, 0x6e, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x0a, 0x34, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, + 0x34, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, + 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x1d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6c, 0x0a, + 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x40, 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, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x71, 0x0a, + 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x36, 0x0a, 0x34, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x12, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x8d, + 0x01, 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x11, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x8a, + 0x01, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x54, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, 0x12, 0x34, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x8c, 0x01, 0x0a, 0x1f, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x69, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x20, 0x4c, + 0x69, 0x73, 0x74, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x50, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x38, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 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, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xc4, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, + 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, + 0x18, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x15, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 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, 0x76, + 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x54, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x40, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x3a, 0x0a, 0x38, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x63, 0x70, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x32, 0x0a, 0x30, 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, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7a, + 0x0a, 0x17, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xe1, 0x01, 0x0a, 0x21, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x7a, 0x0a, 0x17, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x40, 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, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x79, + 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x40, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x3a, 0x0a, 0x38, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, + 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x25, 0x47, 0x63, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x27, 0x0a, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x44, 0x0a, 0x0b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, + 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x53, 0x5f, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x45, 0x4c, 0x10, + 0x02, 0x32, 0x96, 0x33, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xbb, 0x01, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x43, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0xc2, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xca, + 0x41, 0x35, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf9, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x43, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x32, 0x22, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x12, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x35, 0x0a, 0x0c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xe5, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x43, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x3e, 0x0a, 0x15, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd6, 0x01, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, + 0x12, 0x41, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, + 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc3, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, + 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, + 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x2a, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x3a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0xca, 0x41, 0x34, 0x0a, + 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x98, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x32, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0c, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0xda, 0x41, 0x18, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x34, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf2, + 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x2a, + 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0xca, 0x41, 0x3e, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x25, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x84, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x44, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x3a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x6c, 0x6c, + 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x44, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xea, 0x01, 0x0a, 0x15, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd7, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, + 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0xa4, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x47, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x2f, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x11, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0xda, 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0xca, 0x41, 0x39, 0x0a, + 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xbb, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x12, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x56, 0x32, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0xda, 0x41, 0x1d, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x39, 0x0a, 0x10, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, + 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x81, 0x02, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x12, 0x47, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2f, + 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x3e, 0x0a, 0x15, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x98, 0x02, 0x0a, 0x18, 0x52, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x91, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x41, 0x6c, 0x6c, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x49, 0x0a, 0x20, 0x52, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x91, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, + 0x48, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x25, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf9, 0x01, 0x0a, 0x19, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 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, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xe6, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x63, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x48, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x41, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x12, 0x32, 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, 0x67, + 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbf, + 0x02, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, + 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4d, 0x22, 0x32, 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, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x17, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0xda, + 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0xca, 0x41, 0x3d, 0x0a, 0x14, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x47, 0x63, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xdc, 0x02, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x4b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd1, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x65, 0x32, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x67, 0x63, 0x70, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x17, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0xda, 0x41, 0x23, 0x67, 0x63, 0x70, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, + 0x41, 0x3d, 0x0a, 0x14, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x8d, 0x02, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4b, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x2a, 0x32, 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, 0x67, + 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x3e, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x25, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x84, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 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, 0x16, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x37, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0x84, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 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, 0x16, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xc1, 0x02, + 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 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, + 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 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, 0xd3, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0xcc, 0x01, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 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, 0x5a, 0x46, 0x22, 0x41, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 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, 0x5a, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, 0x1a, 0x57, 0xca, 0x41, 0x23, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 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, 0xb1, 0x02, 0x0a, 0x2c, 0x63, + 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x43, 0x4d, 0xaa, 0x02, 0x27, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, + 0x31, 0xea, 0x02, 0x2a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescOnce sync.Once + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescData = file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDesc +) + +func file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescGZIP() []byte { + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescOnce.Do(func() { + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescData) + }) + return file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDescData +} + +var file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_goTypes = []interface{}{ + (LevelFormat)(0), // 0: mockgcp.identity.accesscontextmanager.v1.LevelFormat + (*ListAccessPoliciesRequest)(nil), // 1: mockgcp.identity.accesscontextmanager.v1.ListAccessPoliciesRequest + (*ListAccessPoliciesResponse)(nil), // 2: mockgcp.identity.accesscontextmanager.v1.ListAccessPoliciesResponse + (*GetAccessPolicyRequest)(nil), // 3: mockgcp.identity.accesscontextmanager.v1.GetAccessPolicyRequest + (*UpdateAccessPolicyRequest)(nil), // 4: mockgcp.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest + (*DeleteAccessPolicyRequest)(nil), // 5: mockgcp.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest + (*ListAccessLevelsRequest)(nil), // 6: mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsRequest + (*ListAccessLevelsResponse)(nil), // 7: mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsResponse + (*GetAccessLevelRequest)(nil), // 8: mockgcp.identity.accesscontextmanager.v1.GetAccessLevelRequest + (*CreateAccessLevelRequest)(nil), // 9: mockgcp.identity.accesscontextmanager.v1.CreateAccessLevelRequest + (*UpdateAccessLevelRequest)(nil), // 10: mockgcp.identity.accesscontextmanager.v1.UpdateAccessLevelRequest + (*DeleteAccessLevelRequest)(nil), // 11: mockgcp.identity.accesscontextmanager.v1.DeleteAccessLevelRequest + (*ReplaceAccessLevelsRequest)(nil), // 12: mockgcp.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest + (*ReplaceAccessLevelsResponse)(nil), // 13: mockgcp.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse + (*ListServicePerimetersRequest)(nil), // 14: mockgcp.identity.accesscontextmanager.v1.ListServicePerimetersRequest + (*ListServicePerimetersResponse)(nil), // 15: mockgcp.identity.accesscontextmanager.v1.ListServicePerimetersResponse + (*GetServicePerimeterRequest)(nil), // 16: mockgcp.identity.accesscontextmanager.v1.GetServicePerimeterRequest + (*CreateServicePerimeterRequest)(nil), // 17: mockgcp.identity.accesscontextmanager.v1.CreateServicePerimeterRequest + (*UpdateServicePerimeterRequest)(nil), // 18: mockgcp.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest + (*DeleteServicePerimeterRequest)(nil), // 19: mockgcp.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest + (*ReplaceServicePerimetersRequest)(nil), // 20: mockgcp.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest + (*ReplaceServicePerimetersResponse)(nil), // 21: mockgcp.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse + (*CommitServicePerimetersRequest)(nil), // 22: mockgcp.identity.accesscontextmanager.v1.CommitServicePerimetersRequest + (*CommitServicePerimetersResponse)(nil), // 23: mockgcp.identity.accesscontextmanager.v1.CommitServicePerimetersResponse + (*ListGcpUserAccessBindingsRequest)(nil), // 24: mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest + (*ListGcpUserAccessBindingsResponse)(nil), // 25: mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse + (*GetGcpUserAccessBindingRequest)(nil), // 26: mockgcp.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest + (*CreateGcpUserAccessBindingRequest)(nil), // 27: mockgcp.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest + (*UpdateGcpUserAccessBindingRequest)(nil), // 28: mockgcp.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest + (*DeleteGcpUserAccessBindingRequest)(nil), // 29: mockgcp.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest + (*GcpUserAccessBindingOperationMetadata)(nil), // 30: mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBindingOperationMetadata + (*AccessContextManagerOperationMetadata)(nil), // 31: mockgcp.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata + (*AccessPolicy)(nil), // 32: mockgcp.identity.accesscontextmanager.v1.AccessPolicy + (*field_mask.FieldMask)(nil), // 33: google.protobuf.FieldMask + (*AccessLevel)(nil), // 34: mockgcp.identity.accesscontextmanager.v1.AccessLevel + (*ServicePerimeter)(nil), // 35: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + (*GcpUserAccessBinding)(nil), // 36: mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding + (*iampb.SetIamPolicyRequest)(nil), // 37: mockgcp.iam.v1.SetIamPolicyRequest + (*iampb.GetIamPolicyRequest)(nil), // 38: mockgcp.iam.v1.GetIamPolicyRequest + (*iampb.TestIamPermissionsRequest)(nil), // 39: mockgcp.iam.v1.TestIamPermissionsRequest + (*longrunningpb.Operation)(nil), // 40: google.longrunning.Operation + (*iampb.Policy)(nil), // 41: mockgcp.iam.v1.Policy + (*iampb.TestIamPermissionsResponse)(nil), // 42: mockgcp.iam.v1.TestIamPermissionsResponse +} +var file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_depIdxs = []int32{ + 32, // 0: mockgcp.identity.accesscontextmanager.v1.ListAccessPoliciesResponse.access_policies:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessPolicy + 32, // 1: mockgcp.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest.policy:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessPolicy + 33, // 2: mockgcp.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsRequest.access_level_format:type_name -> mockgcp.identity.accesscontextmanager.v1.LevelFormat + 34, // 4: mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsResponse.access_levels:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 0, // 5: mockgcp.identity.accesscontextmanager.v1.GetAccessLevelRequest.access_level_format:type_name -> mockgcp.identity.accesscontextmanager.v1.LevelFormat + 34, // 6: mockgcp.identity.accesscontextmanager.v1.CreateAccessLevelRequest.access_level:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 34, // 7: mockgcp.identity.accesscontextmanager.v1.UpdateAccessLevelRequest.access_level:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 33, // 8: mockgcp.identity.accesscontextmanager.v1.UpdateAccessLevelRequest.update_mask:type_name -> google.protobuf.FieldMask + 34, // 9: mockgcp.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest.access_levels:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 34, // 10: mockgcp.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse.access_levels:type_name -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 35, // 11: mockgcp.identity.accesscontextmanager.v1.ListServicePerimetersResponse.service_perimeters:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 35, // 12: mockgcp.identity.accesscontextmanager.v1.CreateServicePerimeterRequest.service_perimeter:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 35, // 13: mockgcp.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest.service_perimeter:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 33, // 14: mockgcp.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest.update_mask:type_name -> google.protobuf.FieldMask + 35, // 15: mockgcp.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest.service_perimeters:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 35, // 16: mockgcp.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse.service_perimeters:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 35, // 17: mockgcp.identity.accesscontextmanager.v1.CommitServicePerimetersResponse.service_perimeters:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 36, // 18: mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse.gcp_user_access_bindings:type_name -> mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding + 36, // 19: mockgcp.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest.gcp_user_access_binding:type_name -> mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding + 36, // 20: mockgcp.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest.gcp_user_access_binding:type_name -> mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding + 33, // 21: mockgcp.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest.update_mask:type_name -> google.protobuf.FieldMask + 1, // 22: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListAccessPolicies:input_type -> mockgcp.identity.accesscontextmanager.v1.ListAccessPoliciesRequest + 3, // 23: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetAccessPolicy:input_type -> mockgcp.identity.accesscontextmanager.v1.GetAccessPolicyRequest + 32, // 24: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateAccessPolicy:input_type -> mockgcp.identity.accesscontextmanager.v1.AccessPolicy + 4, // 25: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateAccessPolicy:input_type -> mockgcp.identity.accesscontextmanager.v1.UpdateAccessPolicyRequest + 5, // 26: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteAccessPolicy:input_type -> mockgcp.identity.accesscontextmanager.v1.DeleteAccessPolicyRequest + 6, // 27: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListAccessLevels:input_type -> mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsRequest + 8, // 28: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetAccessLevel:input_type -> mockgcp.identity.accesscontextmanager.v1.GetAccessLevelRequest + 9, // 29: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateAccessLevel:input_type -> mockgcp.identity.accesscontextmanager.v1.CreateAccessLevelRequest + 10, // 30: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateAccessLevel:input_type -> mockgcp.identity.accesscontextmanager.v1.UpdateAccessLevelRequest + 11, // 31: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteAccessLevel:input_type -> mockgcp.identity.accesscontextmanager.v1.DeleteAccessLevelRequest + 12, // 32: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ReplaceAccessLevels:input_type -> mockgcp.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequest + 14, // 33: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListServicePerimeters:input_type -> mockgcp.identity.accesscontextmanager.v1.ListServicePerimetersRequest + 16, // 34: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetServicePerimeter:input_type -> mockgcp.identity.accesscontextmanager.v1.GetServicePerimeterRequest + 17, // 35: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateServicePerimeter:input_type -> mockgcp.identity.accesscontextmanager.v1.CreateServicePerimeterRequest + 18, // 36: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter:input_type -> mockgcp.identity.accesscontextmanager.v1.UpdateServicePerimeterRequest + 19, // 37: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteServicePerimeter:input_type -> mockgcp.identity.accesscontextmanager.v1.DeleteServicePerimeterRequest + 20, // 38: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ReplaceServicePerimeters:input_type -> mockgcp.identity.accesscontextmanager.v1.ReplaceServicePerimetersRequest + 22, // 39: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CommitServicePerimeters:input_type -> mockgcp.identity.accesscontextmanager.v1.CommitServicePerimetersRequest + 24, // 40: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListGcpUserAccessBindings:input_type -> mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsRequest + 26, // 41: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetGcpUserAccessBinding:input_type -> mockgcp.identity.accesscontextmanager.v1.GetGcpUserAccessBindingRequest + 27, // 42: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateGcpUserAccessBinding:input_type -> mockgcp.identity.accesscontextmanager.v1.CreateGcpUserAccessBindingRequest + 28, // 43: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateGcpUserAccessBinding:input_type -> mockgcp.identity.accesscontextmanager.v1.UpdateGcpUserAccessBindingRequest + 29, // 44: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteGcpUserAccessBinding:input_type -> mockgcp.identity.accesscontextmanager.v1.DeleteGcpUserAccessBindingRequest + 37, // 45: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.SetIamPolicy:input_type -> mockgcp.iam.v1.SetIamPolicyRequest + 38, // 46: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetIamPolicy:input_type -> mockgcp.iam.v1.GetIamPolicyRequest + 39, // 47: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.TestIamPermissions:input_type -> mockgcp.iam.v1.TestIamPermissionsRequest + 2, // 48: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListAccessPolicies:output_type -> mockgcp.identity.accesscontextmanager.v1.ListAccessPoliciesResponse + 32, // 49: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetAccessPolicy:output_type -> mockgcp.identity.accesscontextmanager.v1.AccessPolicy + 40, // 50: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateAccessPolicy:output_type -> google.longrunning.Operation + 40, // 51: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateAccessPolicy:output_type -> google.longrunning.Operation + 40, // 52: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteAccessPolicy:output_type -> google.longrunning.Operation + 7, // 53: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListAccessLevels:output_type -> mockgcp.identity.accesscontextmanager.v1.ListAccessLevelsResponse + 34, // 54: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetAccessLevel:output_type -> mockgcp.identity.accesscontextmanager.v1.AccessLevel + 40, // 55: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateAccessLevel:output_type -> google.longrunning.Operation + 40, // 56: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateAccessLevel:output_type -> google.longrunning.Operation + 40, // 57: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteAccessLevel:output_type -> google.longrunning.Operation + 40, // 58: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ReplaceAccessLevels:output_type -> google.longrunning.Operation + 15, // 59: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListServicePerimeters:output_type -> mockgcp.identity.accesscontextmanager.v1.ListServicePerimetersResponse + 35, // 60: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetServicePerimeter:output_type -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + 40, // 61: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateServicePerimeter:output_type -> google.longrunning.Operation + 40, // 62: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter:output_type -> google.longrunning.Operation + 40, // 63: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteServicePerimeter:output_type -> google.longrunning.Operation + 40, // 64: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ReplaceServicePerimeters:output_type -> google.longrunning.Operation + 40, // 65: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CommitServicePerimeters:output_type -> google.longrunning.Operation + 25, // 66: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.ListGcpUserAccessBindings:output_type -> mockgcp.identity.accesscontextmanager.v1.ListGcpUserAccessBindingsResponse + 36, // 67: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetGcpUserAccessBinding:output_type -> mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding + 40, // 68: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.CreateGcpUserAccessBinding:output_type -> google.longrunning.Operation + 40, // 69: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.UpdateGcpUserAccessBinding:output_type -> google.longrunning.Operation + 40, // 70: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.DeleteGcpUserAccessBinding:output_type -> google.longrunning.Operation + 41, // 71: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.SetIamPolicy:output_type -> mockgcp.iam.v1.Policy + 41, // 72: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.GetIamPolicy:output_type -> mockgcp.iam.v1.Policy + 42, // 73: mockgcp.identity.accesscontextmanager.v1.AccessContextManager.TestIamPermissions:output_type -> mockgcp.iam.v1.TestIamPermissionsResponse + 48, // [48:74] is the sub-list for method output_type + 22, // [22:48] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_init() } +func file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_init() { + if File_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto != nil { + return + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_init() + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_init() + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_init() + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAccessPoliciesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAccessPoliciesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAccessPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateAccessPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAccessPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAccessLevelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListAccessLevelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAccessLevelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateAccessLevelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateAccessLevelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAccessLevelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplaceAccessLevelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplaceAccessLevelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListServicePerimetersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListServicePerimetersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetServicePerimeterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateServicePerimeterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateServicePerimeterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteServicePerimeterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplaceServicePerimetersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplaceServicePerimetersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitServicePerimetersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitServicePerimetersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListGcpUserAccessBindingsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListGcpUserAccessBindingsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGcpUserAccessBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateGcpUserAccessBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateGcpUserAccessBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGcpUserAccessBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcpUserAccessBindingOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessContextManagerOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDesc, + NumEnums: 1, + NumMessages: 31, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_goTypes, + DependencyIndexes: file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_depIdxs, + EnumInfos: file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_enumTypes, + MessageInfos: file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_msgTypes, + }.Build() + File_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto = out.File + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_rawDesc = nil + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_goTypes = nil + file_mockgcp_identity_accesscontextmanager_v1_access_context_manager_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.gw.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.gw.go new file mode 100644 index 0000000000..51c7fbd2b4 --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager.pb.gw.go @@ -0,0 +1,3377 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/identity/accesscontextmanager/v1/access_context_manager.proto + +/* +Package accesscontextmanagerpb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package accesscontextmanagerpb + +import ( + "context" + "io" + "net/http" + + "cloud.google.com/go/iam/apiv1/iampb" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +var ( + filter_AccessContextManager_ListAccessPolicies_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_AccessContextManager_ListAccessPolicies_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAccessPoliciesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListAccessPolicies_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListAccessPolicies(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ListAccessPolicies_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAccessPoliciesRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListAccessPolicies_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListAccessPolicies(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_GetAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAccessPolicyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetAccessPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_GetAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAccessPolicyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetAccessPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_CreateAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AccessPolicy + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateAccessPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_CreateAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq AccessPolicy + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateAccessPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_UpdateAccessPolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{"policy": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_AccessContextManager_UpdateAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAccessPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Policy); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Policy); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["policy.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "policy.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateAccessPolicy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateAccessPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_UpdateAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAccessPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Policy); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Policy); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["policy.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "policy.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateAccessPolicy_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateAccessPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_DeleteAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAccessPolicyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteAccessPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_DeleteAccessPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAccessPolicyRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteAccessPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_ListAccessLevels_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_AccessContextManager_ListAccessLevels_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAccessLevelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListAccessLevels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListAccessLevels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ListAccessLevels_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListAccessLevelsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListAccessLevels_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListAccessLevels(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_GetAccessLevel_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_AccessContextManager_GetAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAccessLevelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_GetAccessLevel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetAccessLevel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_GetAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetAccessLevelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_GetAccessLevel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetAccessLevel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_CreateAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAccessLevelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.AccessLevel); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateAccessLevel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_CreateAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateAccessLevelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.AccessLevel); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateAccessLevel(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_UpdateAccessLevel_0 = &utilities.DoubleArray{Encoding: map[string]int{"access_level": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_AccessContextManager_UpdateAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAccessLevelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.AccessLevel); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.AccessLevel); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["access_level.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "access_level.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "access_level.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "access_level.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateAccessLevel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateAccessLevel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_UpdateAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateAccessLevelRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.AccessLevel); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.AccessLevel); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["access_level.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "access_level.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "access_level.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "access_level.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateAccessLevel_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateAccessLevel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_DeleteAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAccessLevelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteAccessLevel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_DeleteAccessLevel_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteAccessLevelRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteAccessLevel(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_ReplaceAccessLevels_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplaceAccessLevelsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.ReplaceAccessLevels(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ReplaceAccessLevels_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplaceAccessLevelsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.ReplaceAccessLevels(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_ListServicePerimeters_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_AccessContextManager_ListServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListServicePerimetersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListServicePerimeters_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListServicePerimeters(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ListServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListServicePerimetersRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListServicePerimeters_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListServicePerimeters(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_GetServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServicePerimeterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetServicePerimeter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_GetServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetServicePerimeterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetServicePerimeter(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_CreateServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServicePerimeterRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ServicePerimeter); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateServicePerimeter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_CreateServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateServicePerimeterRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ServicePerimeter); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateServicePerimeter(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_UpdateServicePerimeter_0 = &utilities.DoubleArray{Encoding: map[string]int{"service_perimeter": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_AccessContextManager_UpdateServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateServicePerimeterRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ServicePerimeter); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.ServicePerimeter); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["service_perimeter.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "service_perimeter.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "service_perimeter.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "service_perimeter.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateServicePerimeter_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateServicePerimeter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_UpdateServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateServicePerimeterRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ServicePerimeter); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.ServicePerimeter); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["service_perimeter.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "service_perimeter.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "service_perimeter.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "service_perimeter.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateServicePerimeter_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateServicePerimeter(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_DeleteServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServicePerimeterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteServicePerimeter(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_DeleteServicePerimeter_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteServicePerimeterRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteServicePerimeter(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_ReplaceServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplaceServicePerimetersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.ReplaceServicePerimeters(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ReplaceServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ReplaceServicePerimetersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.ReplaceServicePerimeters(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_CommitServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CommitServicePerimetersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CommitServicePerimeters(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_CommitServicePerimeters_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CommitServicePerimetersRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CommitServicePerimeters(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_ListGcpUserAccessBindings_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_AccessContextManager_ListGcpUserAccessBindings_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListGcpUserAccessBindingsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListGcpUserAccessBindings_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListGcpUserAccessBindings(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_ListGcpUserAccessBindings_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListGcpUserAccessBindingsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_ListGcpUserAccessBindings_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListGcpUserAccessBindings(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_GetGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetGcpUserAccessBinding(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_GetGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetGcpUserAccessBinding(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_CreateGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.GcpUserAccessBinding); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateGcpUserAccessBinding(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_CreateGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.GcpUserAccessBinding); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateGcpUserAccessBinding(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_AccessContextManager_UpdateGcpUserAccessBinding_0 = &utilities.DoubleArray{Encoding: map[string]int{"gcp_user_access_binding": 0, "name": 1}, Base: []int{1, 2, 1, 0, 0}, Check: []int{0, 1, 2, 3, 2}} +) + +func request_AccessContextManager_UpdateGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.GcpUserAccessBinding); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.GcpUserAccessBinding); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["gcp_user_access_binding.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "gcp_user_access_binding.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "gcp_user_access_binding.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "gcp_user_access_binding.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateGcpUserAccessBinding_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateGcpUserAccessBinding(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_UpdateGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.GcpUserAccessBinding); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.GcpUserAccessBinding); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["gcp_user_access_binding.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "gcp_user_access_binding.name") + } + + err = runtime.PopulateFieldFromPath(&protoReq, "gcp_user_access_binding.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "gcp_user_access_binding.name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_AccessContextManager_UpdateGcpUserAccessBinding_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateGcpUserAccessBinding(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_DeleteGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteGcpUserAccessBinding(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_DeleteGcpUserAccessBinding_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteGcpUserAccessBindingRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteGcpUserAccessBinding(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_SetIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.SetIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := client.SetIamPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_SetIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.SetIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := server.SetIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_GetIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.GetIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := client.GetIamPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_GetIamPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.GetIamPolicyRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := server.GetIamPolicy(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_TestIamPermissions_0(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := client.TestIamPermissions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_TestIamPermissions_0(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := server.TestIamPermissions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_TestIamPermissions_1(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := client.TestIamPermissions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_TestIamPermissions_1(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := server.TestIamPermissions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_AccessContextManager_TestIamPermissions_2(ctx context.Context, marshaler runtime.Marshaler, client AccessContextManagerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := client.TestIamPermissions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_AccessContextManager_TestIamPermissions_2(ctx context.Context, marshaler runtime.Marshaler, server AccessContextManagerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq iampb.TestIamPermissionsRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["resource"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource") + } + + protoReq.Resource, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource", err) + } + + msg, err := server.TestIamPermissions(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterAccessContextManagerHandlerServer registers the http handlers for service AccessContextManager to "mux". +// UnaryRPC :call AccessContextManagerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAccessContextManagerHandlerFromEndpoint instead. +func RegisterAccessContextManagerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AccessContextManagerServer) error { + + mux.Handle("GET", pattern_AccessContextManager_ListAccessPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessPolicies", runtime.WithHTTPPathPattern("/v1/accessPolicies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ListAccessPolicies_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListAccessPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessPolicy", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_GetAccessPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessPolicy", runtime.WithHTTPPathPattern("/v1/accessPolicies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_CreateAccessPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessPolicy", runtime.WithHTTPPathPattern("/v1/{policy.name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_UpdateAccessPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessPolicy", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_DeleteAccessPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListAccessLevels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessLevels", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ListAccessLevels_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListAccessLevels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessLevel", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_GetAccessLevel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessLevel", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_CreateAccessLevel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessLevel", runtime.WithHTTPPathPattern("/v1/{access_level.name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_UpdateAccessLevel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessLevel", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_DeleteAccessLevel_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_ReplaceAccessLevels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceAccessLevels", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels:replaceAll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ReplaceAccessLevels_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ReplaceAccessLevels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ListServicePerimeters_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetServicePerimeter", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_GetServicePerimeter_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateServicePerimeter", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_CreateServicePerimeter_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateServicePerimeter", runtime.WithHTTPPathPattern("/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_UpdateServicePerimeter_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteServicePerimeter", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_DeleteServicePerimeter_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_ReplaceServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ReplaceServicePerimeters_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ReplaceServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CommitServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CommitServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters:commit")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_CommitServicePerimeters_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CommitServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListGcpUserAccessBindings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListGcpUserAccessBindings", runtime.WithHTTPPathPattern("/v1/{parent=organizations/*}/gcpUserAccessBindings")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_ListGcpUserAccessBindings_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListGcpUserAccessBindings_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_GetGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{parent=organizations/*}/gcpUserAccessBindings")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_CreateGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_UpdateGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_DeleteGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_SetIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/SetIamPolicy", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:setIamPolicy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_SetIamPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_SetIamPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_GetIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetIamPolicy", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:getIamPolicy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_GetIamPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetIamPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_TestIamPermissions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*/accessLevels/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_TestIamPermissions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*/servicePerimeters/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_AccessContextManager_TestIamPermissions_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterAccessContextManagerHandlerFromEndpoint is same as RegisterAccessContextManagerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterAccessContextManagerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterAccessContextManagerHandler(ctx, mux, conn) +} + +// RegisterAccessContextManagerHandler registers the http handlers for service AccessContextManager to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterAccessContextManagerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterAccessContextManagerHandlerClient(ctx, mux, NewAccessContextManagerClient(conn)) +} + +// RegisterAccessContextManagerHandlerClient registers the http handlers for service AccessContextManager +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AccessContextManagerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AccessContextManagerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "AccessContextManagerClient" to call the correct interceptors. +func RegisterAccessContextManagerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AccessContextManagerClient) error { + + mux.Handle("GET", pattern_AccessContextManager_ListAccessPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessPolicies", runtime.WithHTTPPathPattern("/v1/accessPolicies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ListAccessPolicies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListAccessPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessPolicy", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_GetAccessPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessPolicy", runtime.WithHTTPPathPattern("/v1/accessPolicies")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_CreateAccessPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessPolicy", runtime.WithHTTPPathPattern("/v1/{policy.name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_UpdateAccessPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteAccessPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessPolicy", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_DeleteAccessPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteAccessPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListAccessLevels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessLevels", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ListAccessLevels_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListAccessLevels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessLevel", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_GetAccessLevel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessLevel", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_CreateAccessLevel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessLevel", runtime.WithHTTPPathPattern("/v1/{access_level.name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_UpdateAccessLevel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteAccessLevel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessLevel", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/accessLevels/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_DeleteAccessLevel_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteAccessLevel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_ReplaceAccessLevels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceAccessLevels", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/accessLevels:replaceAll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ReplaceAccessLevels_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ReplaceAccessLevels_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ListServicePerimeters_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetServicePerimeter", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_GetServicePerimeter_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateServicePerimeter", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_CreateServicePerimeter_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateServicePerimeter", runtime.WithHTTPPathPattern("/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_UpdateServicePerimeter_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteServicePerimeter_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteServicePerimeter", runtime.WithHTTPPathPattern("/v1/{name=accessPolicies/*/servicePerimeters/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_DeleteServicePerimeter_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteServicePerimeter_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_ReplaceServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ReplaceServicePerimeters_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ReplaceServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CommitServicePerimeters_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CommitServicePerimeters", runtime.WithHTTPPathPattern("/v1/{parent=accessPolicies/*}/servicePerimeters:commit")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_CommitServicePerimeters_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CommitServicePerimeters_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_ListGcpUserAccessBindings_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListGcpUserAccessBindings", runtime.WithHTTPPathPattern("/v1/{parent=organizations/*}/gcpUserAccessBindings")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_ListGcpUserAccessBindings_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_ListGcpUserAccessBindings_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_AccessContextManager_GetGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_GetGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_CreateGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{parent=organizations/*}/gcpUserAccessBindings")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_CreateGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_CreateGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_AccessContextManager_UpdateGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{gcp_user_access_binding.name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_UpdateGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_UpdateGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_AccessContextManager_DeleteGcpUserAccessBinding_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteGcpUserAccessBinding", runtime.WithHTTPPathPattern("/v1/{name=organizations/*/gcpUserAccessBindings/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_DeleteGcpUserAccessBinding_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_DeleteGcpUserAccessBinding_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_SetIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/SetIamPolicy", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:setIamPolicy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_SetIamPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_SetIamPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_GetIamPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetIamPolicy", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:getIamPolicy")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_GetIamPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_GetIamPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_TestIamPermissions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*/accessLevels/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_TestIamPermissions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_AccessContextManager_TestIamPermissions_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", runtime.WithHTTPPathPattern("/v1/{resource=accessPolicies/*/servicePerimeters/*}:testIamPermissions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_AccessContextManager_TestIamPermissions_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_AccessContextManager_TestIamPermissions_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_AccessContextManager_ListAccessPolicies_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "accessPolicies"}, "")) + + pattern_AccessContextManager_GetAccessPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "name"}, "")) + + pattern_AccessContextManager_CreateAccessPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "accessPolicies"}, "")) + + pattern_AccessContextManager_UpdateAccessPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "policy.name"}, "")) + + pattern_AccessContextManager_DeleteAccessPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "name"}, "")) + + pattern_AccessContextManager_ListAccessLevels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "accessLevels"}, "")) + + pattern_AccessContextManager_GetAccessLevel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "accessLevels", "name"}, "")) + + pattern_AccessContextManager_CreateAccessLevel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "accessLevels"}, "")) + + pattern_AccessContextManager_UpdateAccessLevel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "accessLevels", "access_level.name"}, "")) + + pattern_AccessContextManager_DeleteAccessLevel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "accessLevels", "name"}, "")) + + pattern_AccessContextManager_ReplaceAccessLevels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "accessLevels"}, "replaceAll")) + + pattern_AccessContextManager_ListServicePerimeters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "servicePerimeters"}, "")) + + pattern_AccessContextManager_GetServicePerimeter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "servicePerimeters", "name"}, "")) + + pattern_AccessContextManager_CreateServicePerimeter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "servicePerimeters"}, "")) + + pattern_AccessContextManager_UpdateServicePerimeter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "servicePerimeters", "service_perimeter.name"}, "")) + + pattern_AccessContextManager_DeleteServicePerimeter_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "servicePerimeters", "name"}, "")) + + pattern_AccessContextManager_ReplaceServicePerimeters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "servicePerimeters"}, "replaceAll")) + + pattern_AccessContextManager_CommitServicePerimeters_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "accessPolicies", "parent", "servicePerimeters"}, "commit")) + + pattern_AccessContextManager_ListGcpUserAccessBindings_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "organizations", "parent", "gcpUserAccessBindings"}, "")) + + pattern_AccessContextManager_GetGcpUserAccessBinding_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "organizations", "gcpUserAccessBindings", "name"}, "")) + + pattern_AccessContextManager_CreateGcpUserAccessBinding_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "organizations", "parent", "gcpUserAccessBindings"}, "")) + + pattern_AccessContextManager_UpdateGcpUserAccessBinding_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "organizations", "gcpUserAccessBindings", "gcp_user_access_binding.name"}, "")) + + pattern_AccessContextManager_DeleteGcpUserAccessBinding_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "organizations", "gcpUserAccessBindings", "name"}, "")) + + pattern_AccessContextManager_SetIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "resource"}, "setIamPolicy")) + + pattern_AccessContextManager_GetIamPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "resource"}, "getIamPolicy")) + + pattern_AccessContextManager_TestIamPermissions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2}, []string{"v1", "accessPolicies", "resource"}, "testIamPermissions")) + + pattern_AccessContextManager_TestIamPermissions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "accessLevels", "resource"}, "testIamPermissions")) + + pattern_AccessContextManager_TestIamPermissions_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "accessPolicies", "servicePerimeters", "resource"}, "testIamPermissions")) +) + +var ( + forward_AccessContextManager_ListAccessPolicies_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_GetAccessPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_CreateAccessPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_UpdateAccessPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_DeleteAccessPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_ListAccessLevels_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_GetAccessLevel_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_CreateAccessLevel_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_UpdateAccessLevel_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_DeleteAccessLevel_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_ReplaceAccessLevels_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_ListServicePerimeters_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_GetServicePerimeter_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_CreateServicePerimeter_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_UpdateServicePerimeter_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_DeleteServicePerimeter_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_ReplaceServicePerimeters_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_CommitServicePerimeters_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_ListGcpUserAccessBindings_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_GetGcpUserAccessBinding_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_CreateGcpUserAccessBinding_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_UpdateGcpUserAccessBinding_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_DeleteGcpUserAccessBinding_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_SetIamPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_GetIamPolicy_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_TestIamPermissions_0 = runtime.ForwardResponseMessage + + forward_AccessContextManager_TestIamPermissions_1 = runtime.ForwardResponseMessage + + forward_AccessContextManager_TestIamPermissions_2 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager_grpc.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager_grpc.pb.go new file mode 100644 index 0000000000..c56d6781a5 --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_context_manager_grpc.pb.go @@ -0,0 +1,1329 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/access_context_manager.proto + +package accesscontextmanagerpb + +import ( + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// AccessContextManagerClient is the client API for AccessContextManager service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AccessContextManagerClient interface { + // Lists all [access policies] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] in an + // organization. + ListAccessPolicies(ctx context.Context, in *ListAccessPoliciesRequest, opts ...grpc.CallOption) (*ListAccessPoliciesResponse, error) + // Returns an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] based on the name. + GetAccessPolicy(ctx context.Context, in *GetAccessPolicyRequest, opts ...grpc.CallOption) (*AccessPolicy, error) + // Creates an access policy. This method fails if the organization already has + // an access policy. The long-running operation has a successful status + // after the access policy propagates to long-lasting storage. + // Syntactic and basic semantic errors are returned in `metadata` as a + // BadRequest proto. + CreateAccessPolicy(ctx context.Context, in *AccessPolicy, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. The + // long-running operation from this RPC has a successful status after the + // changes to the [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] propagate + // to long-lasting storage. + UpdateAccessPolicy(ctx context.Context, in *UpdateAccessPolicyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] based on the + // resource name. The long-running operation has a successful status after the + // [access policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] + // is removed from long-lasting storage. + DeleteAccessPolicy(ctx context.Context, in *DeleteAccessPolicyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists all [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] for an access + // policy. + ListAccessLevels(ctx context.Context, in *ListAccessLevelsRequest, opts ...grpc.CallOption) (*ListAccessLevelsResponse, error) + // Gets an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] based on the resource + // name. + GetAccessLevel(ctx context.Context, in *GetAccessLevelRequest, opts ...grpc.CallOption) (*AccessLevel, error) + // Creates an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. The long-running + // operation from this RPC has a successful status after the [access + // level] [mockgcp.identity.accesscontextmanager.v1.AccessLevel] + // propagates to long-lasting storage. If [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contain + // errors, an error response is returned for the first error encountered. + CreateAccessLevel(ctx context.Context, in *CreateAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. The long-running + // operation from this RPC has a successful status after the changes to + // the [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] propagate + // to long-lasting storage. If [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contain + // errors, an error response is returned for the first error encountered. + UpdateAccessLevel(ctx context.Context, in *UpdateAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] based on the resource + // name. The long-running operation from this RPC has a successful status + // after the [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] has been removed + // from long-lasting storage. + DeleteAccessLevel(ctx context.Context, in *DeleteAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Replaces all existing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] in an [access + // policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] with + // the [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] provided. This + // is done atomically. The long-running operation from this RPC has a + // successful status after all replacements propagate to long-lasting + // storage. If the replacement contains errors, an error response is returned + // for the first error encountered. Upon error, the replacement is cancelled, + // and existing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] are not + // affected. The Operation.response field contains + // ReplaceAccessLevelsResponse. Removing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contained in existing + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] result in an + // error. + ReplaceAccessLevels(ctx context.Context, in *ReplaceAccessLevelsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists all [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] for an + // access policy. + ListServicePerimeters(ctx context.Context, in *ListServicePerimetersRequest, opts ...grpc.CallOption) (*ListServicePerimetersResponse, error) + // Gets a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] based on the + // resource name. + GetServicePerimeter(ctx context.Context, in *GetServicePerimeterRequest, opts ...grpc.CallOption) (*ServicePerimeter, error) + // Creates a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. The + // long-running operation from this RPC has a successful status after the + // [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] + // propagates to long-lasting storage. If a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] contains + // errors, an error response is returned for the first error encountered. + CreateServicePerimeter(ctx context.Context, in *CreateServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. The + // long-running operation from this RPC has a successful status after the + // [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] + // propagates to long-lasting storage. If a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] contains + // errors, an error response is returned for the first error encountered. + UpdateServicePerimeter(ctx context.Context, in *UpdateServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] based on the + // resource name. The long-running operation from this RPC has a successful + // status after the [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] is removed from + // long-lasting storage. + DeleteServicePerimeter(ctx context.Context, in *DeleteServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Replace all existing [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in an [access + // policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] with the + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] provided. This + // is done atomically. The long-running operation from this RPC has a + // successful status after all replacements propagate to long-lasting storage. + // Replacements containing errors result in an error response for the first + // error encountered. Upon an error, replacement are cancelled and existing + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] are not + // affected. The Operation.response field contains + // ReplaceServicePerimetersResponse. + ReplaceServicePerimeters(ctx context.Context, in *ReplaceServicePerimetersRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Commits the dry-run specification for all the [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in an + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + // A commit operation on a service perimeter involves copying its `spec` field + // to the `status` field of the service perimeter. Only [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] with + // `use_explicit_dry_run_spec` field set to true are affected by a commit + // operation. The long-running operation from this RPC has a successful + // status after the dry-run specifications for all the [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] have been + // committed. If a commit fails, it causes the long-running operation to + // return an error response and the entire commit operation is cancelled. + // When successful, the Operation.response field contains + // CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are + // cleared after a successful commit operation. + CommitServicePerimeters(ctx context.Context, in *CommitServicePerimetersRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists all [GcpUserAccessBindings] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] for a + // Google Cloud organization. + ListGcpUserAccessBindings(ctx context.Context, in *ListGcpUserAccessBindingsRequest, opts ...grpc.CallOption) (*ListGcpUserAccessBindingsResponse, error) + // Gets the [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] with + // the given name. + GetGcpUserAccessBinding(ctx context.Context, in *GetGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*GcpUserAccessBinding, error) + // Creates a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. If the + // client specifies a [name] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding.name], + // the server ignores it. Fails if a resource already exists with the same + // [group_key] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding.group_key]. + // Completion of this long-running operation does not necessarily signify that + // the new binding is deployed onto all affected users, which may take more + // time. + CreateGcpUserAccessBinding(ctx context.Context, in *CreateGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. + // Completion of this long-running operation does not necessarily signify that + // the changed binding is deployed onto all affected users, which may take + // more time. + UpdateGcpUserAccessBinding(ctx context.Context, in *UpdateGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. + // Completion of this long-running operation does not necessarily signify that + // the binding deletion is deployed onto all affected users, which may take + // more time. + DeleteGcpUserAccessBinding(ctx context.Context, in *DeleteGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Sets the IAM policy for the specified Access Context Manager + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + // This method replaces the existing IAM policy on the access policy. The IAM + // policy controls the set of users who can perform specific operations on the + // Access Context Manager [access + // policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + SetIamPolicy(ctx context.Context, in *iampb.SetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) + // Gets the IAM policy for the specified Access Context Manager + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) + // Returns the IAM permissions that the caller has on the specified Access + // Context Manager resource. The resource can be an + // [AccessPolicy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy], + // [AccessLevel][mockgcp.identity.accesscontextmanager.v1.AccessLevel], or + // [ServicePerimeter][mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + // ]. This method does not support other resources. + TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error) +} + +type accessContextManagerClient struct { + cc grpc.ClientConnInterface +} + +func NewAccessContextManagerClient(cc grpc.ClientConnInterface) AccessContextManagerClient { + return &accessContextManagerClient{cc} +} + +func (c *accessContextManagerClient) ListAccessPolicies(ctx context.Context, in *ListAccessPoliciesRequest, opts ...grpc.CallOption) (*ListAccessPoliciesResponse, error) { + out := new(ListAccessPoliciesResponse) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessPolicies", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) GetAccessPolicy(ctx context.Context, in *GetAccessPolicyRequest, opts ...grpc.CallOption) (*AccessPolicy, error) { + out := new(AccessPolicy) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) CreateAccessPolicy(ctx context.Context, in *AccessPolicy, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) UpdateAccessPolicy(ctx context.Context, in *UpdateAccessPolicyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) DeleteAccessPolicy(ctx context.Context, in *DeleteAccessPolicyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) ListAccessLevels(ctx context.Context, in *ListAccessLevelsRequest, opts ...grpc.CallOption) (*ListAccessLevelsResponse, error) { + out := new(ListAccessLevelsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessLevels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) GetAccessLevel(ctx context.Context, in *GetAccessLevelRequest, opts ...grpc.CallOption) (*AccessLevel, error) { + out := new(AccessLevel) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessLevel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) CreateAccessLevel(ctx context.Context, in *CreateAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessLevel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) UpdateAccessLevel(ctx context.Context, in *UpdateAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessLevel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) DeleteAccessLevel(ctx context.Context, in *DeleteAccessLevelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessLevel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) ReplaceAccessLevels(ctx context.Context, in *ReplaceAccessLevelsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceAccessLevels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) ListServicePerimeters(ctx context.Context, in *ListServicePerimetersRequest, opts ...grpc.CallOption) (*ListServicePerimetersResponse, error) { + out := new(ListServicePerimetersResponse) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListServicePerimeters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) GetServicePerimeter(ctx context.Context, in *GetServicePerimeterRequest, opts ...grpc.CallOption) (*ServicePerimeter, error) { + out := new(ServicePerimeter) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetServicePerimeter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) CreateServicePerimeter(ctx context.Context, in *CreateServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateServicePerimeter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) UpdateServicePerimeter(ctx context.Context, in *UpdateServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateServicePerimeter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) DeleteServicePerimeter(ctx context.Context, in *DeleteServicePerimeterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteServicePerimeter", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) ReplaceServicePerimeters(ctx context.Context, in *ReplaceServicePerimetersRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceServicePerimeters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) CommitServicePerimeters(ctx context.Context, in *CommitServicePerimetersRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CommitServicePerimeters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) ListGcpUserAccessBindings(ctx context.Context, in *ListGcpUserAccessBindingsRequest, opts ...grpc.CallOption) (*ListGcpUserAccessBindingsResponse, error) { + out := new(ListGcpUserAccessBindingsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListGcpUserAccessBindings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) GetGcpUserAccessBinding(ctx context.Context, in *GetGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*GcpUserAccessBinding, error) { + out := new(GcpUserAccessBinding) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetGcpUserAccessBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) CreateGcpUserAccessBinding(ctx context.Context, in *CreateGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateGcpUserAccessBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) UpdateGcpUserAccessBinding(ctx context.Context, in *UpdateGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateGcpUserAccessBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) DeleteGcpUserAccessBinding(ctx context.Context, in *DeleteGcpUserAccessBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteGcpUserAccessBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) SetIamPolicy(ctx context.Context, in *iampb.SetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) { + out := new(iampb.Policy) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/SetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) GetIamPolicy(ctx context.Context, in *iampb.GetIamPolicyRequest, opts ...grpc.CallOption) (*iampb.Policy, error) { + out := new(iampb.Policy) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessContextManagerClient) TestIamPermissions(ctx context.Context, in *iampb.TestIamPermissionsRequest, opts ...grpc.CallOption) (*iampb.TestIamPermissionsResponse, error) { + out := new(iampb.TestIamPermissionsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AccessContextManagerServer is the server API for AccessContextManager service. +// All implementations must embed UnimplementedAccessContextManagerServer +// for forward compatibility +type AccessContextManagerServer interface { + // Lists all [access policies] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] in an + // organization. + ListAccessPolicies(context.Context, *ListAccessPoliciesRequest) (*ListAccessPoliciesResponse, error) + // Returns an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] based on the name. + GetAccessPolicy(context.Context, *GetAccessPolicyRequest) (*AccessPolicy, error) + // Creates an access policy. This method fails if the organization already has + // an access policy. The long-running operation has a successful status + // after the access policy propagates to long-lasting storage. + // Syntactic and basic semantic errors are returned in `metadata` as a + // BadRequest proto. + CreateAccessPolicy(context.Context, *AccessPolicy) (*longrunningpb.Operation, error) + // Updates an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. The + // long-running operation from this RPC has a successful status after the + // changes to the [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] propagate + // to long-lasting storage. + UpdateAccessPolicy(context.Context, *UpdateAccessPolicyRequest) (*longrunningpb.Operation, error) + // Deletes an [access policy] + // [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] based on the + // resource name. The long-running operation has a successful status after the + // [access policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] + // is removed from long-lasting storage. + DeleteAccessPolicy(context.Context, *DeleteAccessPolicyRequest) (*longrunningpb.Operation, error) + // Lists all [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] for an access + // policy. + ListAccessLevels(context.Context, *ListAccessLevelsRequest) (*ListAccessLevelsResponse, error) + // Gets an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] based on the resource + // name. + GetAccessLevel(context.Context, *GetAccessLevelRequest) (*AccessLevel, error) + // Creates an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. The long-running + // operation from this RPC has a successful status after the [access + // level] [mockgcp.identity.accesscontextmanager.v1.AccessLevel] + // propagates to long-lasting storage. If [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contain + // errors, an error response is returned for the first error encountered. + CreateAccessLevel(context.Context, *CreateAccessLevelRequest) (*longrunningpb.Operation, error) + // Updates an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel]. The long-running + // operation from this RPC has a successful status after the changes to + // the [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] propagate + // to long-lasting storage. If [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contain + // errors, an error response is returned for the first error encountered. + UpdateAccessLevel(context.Context, *UpdateAccessLevelRequest) (*longrunningpb.Operation, error) + // Deletes an [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] based on the resource + // name. The long-running operation from this RPC has a successful status + // after the [access level] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] has been removed + // from long-lasting storage. + DeleteAccessLevel(context.Context, *DeleteAccessLevelRequest) (*longrunningpb.Operation, error) + // Replaces all existing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] in an [access + // policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] with + // the [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] provided. This + // is done atomically. The long-running operation from this RPC has a + // successful status after all replacements propagate to long-lasting + // storage. If the replacement contains errors, an error response is returned + // for the first error encountered. Upon error, the replacement is cancelled, + // and existing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] are not + // affected. The Operation.response field contains + // ReplaceAccessLevelsResponse. Removing [access levels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] contained in existing + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] result in an + // error. + ReplaceAccessLevels(context.Context, *ReplaceAccessLevelsRequest) (*longrunningpb.Operation, error) + // Lists all [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] for an + // access policy. + ListServicePerimeters(context.Context, *ListServicePerimetersRequest) (*ListServicePerimetersResponse, error) + // Gets a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] based on the + // resource name. + GetServicePerimeter(context.Context, *GetServicePerimeterRequest) (*ServicePerimeter, error) + // Creates a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. The + // long-running operation from this RPC has a successful status after the + // [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] + // propagates to long-lasting storage. If a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] contains + // errors, an error response is returned for the first error encountered. + CreateServicePerimeter(context.Context, *CreateServicePerimeterRequest) (*longrunningpb.Operation, error) + // Updates a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. The + // long-running operation from this RPC has a successful status after the + // [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] + // propagates to long-lasting storage. If a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] contains + // errors, an error response is returned for the first error encountered. + UpdateServicePerimeter(context.Context, *UpdateServicePerimeterRequest) (*longrunningpb.Operation, error) + // Deletes a [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] based on the + // resource name. The long-running operation from this RPC has a successful + // status after the [service perimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] is removed from + // long-lasting storage. + DeleteServicePerimeter(context.Context, *DeleteServicePerimeterRequest) (*longrunningpb.Operation, error) + // Replace all existing [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in an [access + // policy] [mockgcp.identity.accesscontextmanager.v1.AccessPolicy] with the + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] provided. This + // is done atomically. The long-running operation from this RPC has a + // successful status after all replacements propagate to long-lasting storage. + // Replacements containing errors result in an error response for the first + // error encountered. Upon an error, replacement are cancelled and existing + // [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] are not + // affected. The Operation.response field contains + // ReplaceServicePerimetersResponse. + ReplaceServicePerimeters(context.Context, *ReplaceServicePerimetersRequest) (*longrunningpb.Operation, error) + // Commits the dry-run specification for all the [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] in an + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + // A commit operation on a service perimeter involves copying its `spec` field + // to the `status` field of the service perimeter. Only [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] with + // `use_explicit_dry_run_spec` field set to true are affected by a commit + // operation. The long-running operation from this RPC has a successful + // status after the dry-run specifications for all the [service perimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] have been + // committed. If a commit fails, it causes the long-running operation to + // return an error response and the entire commit operation is cancelled. + // When successful, the Operation.response field contains + // CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are + // cleared after a successful commit operation. + CommitServicePerimeters(context.Context, *CommitServicePerimetersRequest) (*longrunningpb.Operation, error) + // Lists all [GcpUserAccessBindings] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] for a + // Google Cloud organization. + ListGcpUserAccessBindings(context.Context, *ListGcpUserAccessBindingsRequest) (*ListGcpUserAccessBindingsResponse, error) + // Gets the [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding] with + // the given name. + GetGcpUserAccessBinding(context.Context, *GetGcpUserAccessBindingRequest) (*GcpUserAccessBinding, error) + // Creates a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. If the + // client specifies a [name] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding.name], + // the server ignores it. Fails if a resource already exists with the same + // [group_key] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding.group_key]. + // Completion of this long-running operation does not necessarily signify that + // the new binding is deployed onto all affected users, which may take more + // time. + CreateGcpUserAccessBinding(context.Context, *CreateGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) + // Updates a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. + // Completion of this long-running operation does not necessarily signify that + // the changed binding is deployed onto all affected users, which may take + // more time. + UpdateGcpUserAccessBinding(context.Context, *UpdateGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) + // Deletes a [GcpUserAccessBinding] + // [mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding]. + // Completion of this long-running operation does not necessarily signify that + // the binding deletion is deployed onto all affected users, which may take + // more time. + DeleteGcpUserAccessBinding(context.Context, *DeleteGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) + // Sets the IAM policy for the specified Access Context Manager + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + // This method replaces the existing IAM policy on the access policy. The IAM + // policy controls the set of users who can perform specific operations on the + // Access Context Manager [access + // policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest) (*iampb.Policy, error) + // Gets the IAM policy for the specified Access Context Manager + // [access policy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy]. + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error) + // Returns the IAM permissions that the caller has on the specified Access + // Context Manager resource. The resource can be an + // [AccessPolicy][mockgcp.identity.accesscontextmanager.v1.AccessPolicy], + // [AccessLevel][mockgcp.identity.accesscontextmanager.v1.AccessLevel], or + // [ServicePerimeter][mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + // ]. This method does not support other resources. + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) + mustEmbedUnimplementedAccessContextManagerServer() +} + +// UnimplementedAccessContextManagerServer must be embedded to have forward compatible implementations. +type UnimplementedAccessContextManagerServer struct { +} + +func (UnimplementedAccessContextManagerServer) ListAccessPolicies(context.Context, *ListAccessPoliciesRequest) (*ListAccessPoliciesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAccessPolicies not implemented") +} +func (UnimplementedAccessContextManagerServer) GetAccessPolicy(context.Context, *GetAccessPolicyRequest) (*AccessPolicy, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccessPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) CreateAccessPolicy(context.Context, *AccessPolicy) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAccessPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) UpdateAccessPolicy(context.Context, *UpdateAccessPolicyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAccessPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) DeleteAccessPolicy(context.Context, *DeleteAccessPolicyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAccessPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) ListAccessLevels(context.Context, *ListAccessLevelsRequest) (*ListAccessLevelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAccessLevels not implemented") +} +func (UnimplementedAccessContextManagerServer) GetAccessLevel(context.Context, *GetAccessLevelRequest) (*AccessLevel, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccessLevel not implemented") +} +func (UnimplementedAccessContextManagerServer) CreateAccessLevel(context.Context, *CreateAccessLevelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAccessLevel not implemented") +} +func (UnimplementedAccessContextManagerServer) UpdateAccessLevel(context.Context, *UpdateAccessLevelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAccessLevel not implemented") +} +func (UnimplementedAccessContextManagerServer) DeleteAccessLevel(context.Context, *DeleteAccessLevelRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAccessLevel not implemented") +} +func (UnimplementedAccessContextManagerServer) ReplaceAccessLevels(context.Context, *ReplaceAccessLevelsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplaceAccessLevels not implemented") +} +func (UnimplementedAccessContextManagerServer) ListServicePerimeters(context.Context, *ListServicePerimetersRequest) (*ListServicePerimetersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListServicePerimeters not implemented") +} +func (UnimplementedAccessContextManagerServer) GetServicePerimeter(context.Context, *GetServicePerimeterRequest) (*ServicePerimeter, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetServicePerimeter not implemented") +} +func (UnimplementedAccessContextManagerServer) CreateServicePerimeter(context.Context, *CreateServicePerimeterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateServicePerimeter not implemented") +} +func (UnimplementedAccessContextManagerServer) UpdateServicePerimeter(context.Context, *UpdateServicePerimeterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateServicePerimeter not implemented") +} +func (UnimplementedAccessContextManagerServer) DeleteServicePerimeter(context.Context, *DeleteServicePerimeterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteServicePerimeter not implemented") +} +func (UnimplementedAccessContextManagerServer) ReplaceServicePerimeters(context.Context, *ReplaceServicePerimetersRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReplaceServicePerimeters not implemented") +} +func (UnimplementedAccessContextManagerServer) CommitServicePerimeters(context.Context, *CommitServicePerimetersRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CommitServicePerimeters not implemented") +} +func (UnimplementedAccessContextManagerServer) ListGcpUserAccessBindings(context.Context, *ListGcpUserAccessBindingsRequest) (*ListGcpUserAccessBindingsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListGcpUserAccessBindings not implemented") +} +func (UnimplementedAccessContextManagerServer) GetGcpUserAccessBinding(context.Context, *GetGcpUserAccessBindingRequest) (*GcpUserAccessBinding, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGcpUserAccessBinding not implemented") +} +func (UnimplementedAccessContextManagerServer) CreateGcpUserAccessBinding(context.Context, *CreateGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateGcpUserAccessBinding not implemented") +} +func (UnimplementedAccessContextManagerServer) UpdateGcpUserAccessBinding(context.Context, *UpdateGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateGcpUserAccessBinding not implemented") +} +func (UnimplementedAccessContextManagerServer) DeleteGcpUserAccessBinding(context.Context, *DeleteGcpUserAccessBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteGcpUserAccessBinding not implemented") +} +func (UnimplementedAccessContextManagerServer) SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest) (*iampb.Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest) (*iampb.Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") +} +func (UnimplementedAccessContextManagerServer) TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest) (*iampb.TestIamPermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") +} +func (UnimplementedAccessContextManagerServer) mustEmbedUnimplementedAccessContextManagerServer() {} + +// UnsafeAccessContextManagerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AccessContextManagerServer will +// result in compilation errors. +type UnsafeAccessContextManagerServer interface { + mustEmbedUnimplementedAccessContextManagerServer() +} + +func RegisterAccessContextManagerServer(s grpc.ServiceRegistrar, srv AccessContextManagerServer) { + s.RegisterService(&AccessContextManager_ServiceDesc, srv) +} + +func _AccessContextManager_ListAccessPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAccessPoliciesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ListAccessPolicies(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessPolicies", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ListAccessPolicies(ctx, req.(*ListAccessPoliciesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_GetAccessPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccessPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).GetAccessPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).GetAccessPolicy(ctx, req.(*GetAccessPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_CreateAccessPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AccessPolicy) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).CreateAccessPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).CreateAccessPolicy(ctx, req.(*AccessPolicy)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_UpdateAccessPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAccessPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).UpdateAccessPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).UpdateAccessPolicy(ctx, req.(*UpdateAccessPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_DeleteAccessPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAccessPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).DeleteAccessPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).DeleteAccessPolicy(ctx, req.(*DeleteAccessPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_ListAccessLevels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAccessLevelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ListAccessLevels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListAccessLevels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ListAccessLevels(ctx, req.(*ListAccessLevelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_GetAccessLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccessLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).GetAccessLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetAccessLevel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).GetAccessLevel(ctx, req.(*GetAccessLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_CreateAccessLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAccessLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).CreateAccessLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateAccessLevel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).CreateAccessLevel(ctx, req.(*CreateAccessLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_UpdateAccessLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAccessLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).UpdateAccessLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateAccessLevel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).UpdateAccessLevel(ctx, req.(*UpdateAccessLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_DeleteAccessLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAccessLevelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).DeleteAccessLevel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteAccessLevel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).DeleteAccessLevel(ctx, req.(*DeleteAccessLevelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_ReplaceAccessLevels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplaceAccessLevelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ReplaceAccessLevels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceAccessLevels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ReplaceAccessLevels(ctx, req.(*ReplaceAccessLevelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_ListServicePerimeters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListServicePerimetersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ListServicePerimeters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListServicePerimeters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ListServicePerimeters(ctx, req.(*ListServicePerimetersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_GetServicePerimeter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetServicePerimeterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).GetServicePerimeter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetServicePerimeter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).GetServicePerimeter(ctx, req.(*GetServicePerimeterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_CreateServicePerimeter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateServicePerimeterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).CreateServicePerimeter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateServicePerimeter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).CreateServicePerimeter(ctx, req.(*CreateServicePerimeterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_UpdateServicePerimeter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateServicePerimeterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).UpdateServicePerimeter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateServicePerimeter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).UpdateServicePerimeter(ctx, req.(*UpdateServicePerimeterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_DeleteServicePerimeter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteServicePerimeterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).DeleteServicePerimeter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteServicePerimeter", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).DeleteServicePerimeter(ctx, req.(*DeleteServicePerimeterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_ReplaceServicePerimeters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplaceServicePerimetersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ReplaceServicePerimeters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ReplaceServicePerimeters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ReplaceServicePerimeters(ctx, req.(*ReplaceServicePerimetersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_CommitServicePerimeters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CommitServicePerimetersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).CommitServicePerimeters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CommitServicePerimeters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).CommitServicePerimeters(ctx, req.(*CommitServicePerimetersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_ListGcpUserAccessBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListGcpUserAccessBindingsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).ListGcpUserAccessBindings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/ListGcpUserAccessBindings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).ListGcpUserAccessBindings(ctx, req.(*ListGcpUserAccessBindingsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_GetGcpUserAccessBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGcpUserAccessBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).GetGcpUserAccessBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetGcpUserAccessBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).GetGcpUserAccessBinding(ctx, req.(*GetGcpUserAccessBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_CreateGcpUserAccessBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateGcpUserAccessBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).CreateGcpUserAccessBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/CreateGcpUserAccessBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).CreateGcpUserAccessBinding(ctx, req.(*CreateGcpUserAccessBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_UpdateGcpUserAccessBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateGcpUserAccessBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).UpdateGcpUserAccessBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/UpdateGcpUserAccessBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).UpdateGcpUserAccessBinding(ctx, req.(*UpdateGcpUserAccessBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_DeleteGcpUserAccessBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteGcpUserAccessBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).DeleteGcpUserAccessBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/DeleteGcpUserAccessBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).DeleteGcpUserAccessBinding(ctx, req.(*DeleteGcpUserAccessBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(iampb.SetIamPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).SetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/SetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).SetIamPolicy(ctx, req.(*iampb.SetIamPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(iampb.GetIamPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).GetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/GetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).GetIamPolicy(ctx, req.(*iampb.GetIamPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessContextManager_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(iampb.TestIamPermissionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessContextManagerServer).TestIamPermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.identity.accesscontextmanager.v1.AccessContextManager/TestIamPermissions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessContextManagerServer).TestIamPermissions(ctx, req.(*iampb.TestIamPermissionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AccessContextManager_ServiceDesc is the grpc.ServiceDesc for AccessContextManager service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AccessContextManager_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.identity.accesscontextmanager.v1.AccessContextManager", + HandlerType: (*AccessContextManagerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListAccessPolicies", + Handler: _AccessContextManager_ListAccessPolicies_Handler, + }, + { + MethodName: "GetAccessPolicy", + Handler: _AccessContextManager_GetAccessPolicy_Handler, + }, + { + MethodName: "CreateAccessPolicy", + Handler: _AccessContextManager_CreateAccessPolicy_Handler, + }, + { + MethodName: "UpdateAccessPolicy", + Handler: _AccessContextManager_UpdateAccessPolicy_Handler, + }, + { + MethodName: "DeleteAccessPolicy", + Handler: _AccessContextManager_DeleteAccessPolicy_Handler, + }, + { + MethodName: "ListAccessLevels", + Handler: _AccessContextManager_ListAccessLevels_Handler, + }, + { + MethodName: "GetAccessLevel", + Handler: _AccessContextManager_GetAccessLevel_Handler, + }, + { + MethodName: "CreateAccessLevel", + Handler: _AccessContextManager_CreateAccessLevel_Handler, + }, + { + MethodName: "UpdateAccessLevel", + Handler: _AccessContextManager_UpdateAccessLevel_Handler, + }, + { + MethodName: "DeleteAccessLevel", + Handler: _AccessContextManager_DeleteAccessLevel_Handler, + }, + { + MethodName: "ReplaceAccessLevels", + Handler: _AccessContextManager_ReplaceAccessLevels_Handler, + }, + { + MethodName: "ListServicePerimeters", + Handler: _AccessContextManager_ListServicePerimeters_Handler, + }, + { + MethodName: "GetServicePerimeter", + Handler: _AccessContextManager_GetServicePerimeter_Handler, + }, + { + MethodName: "CreateServicePerimeter", + Handler: _AccessContextManager_CreateServicePerimeter_Handler, + }, + { + MethodName: "UpdateServicePerimeter", + Handler: _AccessContextManager_UpdateServicePerimeter_Handler, + }, + { + MethodName: "DeleteServicePerimeter", + Handler: _AccessContextManager_DeleteServicePerimeter_Handler, + }, + { + MethodName: "ReplaceServicePerimeters", + Handler: _AccessContextManager_ReplaceServicePerimeters_Handler, + }, + { + MethodName: "CommitServicePerimeters", + Handler: _AccessContextManager_CommitServicePerimeters_Handler, + }, + { + MethodName: "ListGcpUserAccessBindings", + Handler: _AccessContextManager_ListGcpUserAccessBindings_Handler, + }, + { + MethodName: "GetGcpUserAccessBinding", + Handler: _AccessContextManager_GetGcpUserAccessBinding_Handler, + }, + { + MethodName: "CreateGcpUserAccessBinding", + Handler: _AccessContextManager_CreateGcpUserAccessBinding_Handler, + }, + { + MethodName: "UpdateGcpUserAccessBinding", + Handler: _AccessContextManager_UpdateGcpUserAccessBinding_Handler, + }, + { + MethodName: "DeleteGcpUserAccessBinding", + Handler: _AccessContextManager_DeleteGcpUserAccessBinding_Handler, + }, + { + MethodName: "SetIamPolicy", + Handler: _AccessContextManager_SetIamPolicy_Handler, + }, + { + MethodName: "GetIamPolicy", + Handler: _AccessContextManager_GetIamPolicy_Handler, + }, + { + MethodName: "TestIamPermissions", + Handler: _AccessContextManager_TestIamPermissions_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/identity/accesscontextmanager/v1/access_context_manager.proto", +} diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_level.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_level.pb.go new file mode 100644 index 0000000000..aebc95143d --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_level.pb.go @@ -0,0 +1,939 @@ +// 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.28.1 +// protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/access_level.proto + +package accesscontextmanagerpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + _type "google.golang.org/genproto/googleapis/identity/accesscontextmanager/type" + expr "google.golang.org/genproto/googleapis/type/expr" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Options for how the `conditions` list should be combined to determine if +// this `AccessLevel` is applied. Default is AND. +type BasicLevel_ConditionCombiningFunction int32 + +const ( + // All `Conditions` must be true for the `BasicLevel` to be true. + BasicLevel_AND BasicLevel_ConditionCombiningFunction = 0 + // If at least one `Condition` is true, then the `BasicLevel` is true. + BasicLevel_OR BasicLevel_ConditionCombiningFunction = 1 +) + +// Enum value maps for BasicLevel_ConditionCombiningFunction. +var ( + BasicLevel_ConditionCombiningFunction_name = map[int32]string{ + 0: "AND", + 1: "OR", + } + BasicLevel_ConditionCombiningFunction_value = map[string]int32{ + "AND": 0, + "OR": 1, + } +) + +func (x BasicLevel_ConditionCombiningFunction) Enum() *BasicLevel_ConditionCombiningFunction { + p := new(BasicLevel_ConditionCombiningFunction) + *p = x + return p +} + +func (x BasicLevel_ConditionCombiningFunction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BasicLevel_ConditionCombiningFunction) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_enumTypes[0].Descriptor() +} + +func (BasicLevel_ConditionCombiningFunction) Type() protoreflect.EnumType { + return &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_enumTypes[0] +} + +func (x BasicLevel_ConditionCombiningFunction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BasicLevel_ConditionCombiningFunction.Descriptor instead. +func (BasicLevel_ConditionCombiningFunction) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{1, 0} +} + +// An `AccessLevel` is a label that can be applied to requests to Google Cloud +// services, along with a list of requirements necessary for the label to be +// applied. +type AccessLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the Access Level. The `short_name` component + // must begin with a letter and only include alphanumeric and '_'. Format: + // `accessPolicies/{access_policy}/accessLevels/{access_level}`. The maximum + // length of the `access_level` component is 50 characters. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human readable title. Must be unique within the Policy. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // Description of the `AccessLevel` and its use. Does not affect behavior. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Required. Describes the necessary conditions for the level to apply. + // + // Types that are assignable to Level: + // + // *AccessLevel_Basic + // *AccessLevel_Custom + Level isAccessLevel_Level `protobuf_oneof:"level"` + // Output only. Time the `AccessLevel` was created in UTC. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time the `AccessLevel` was updated in UTC. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *AccessLevel) Reset() { + *x = AccessLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessLevel) ProtoMessage() {} + +func (x *AccessLevel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 AccessLevel.ProtoReflect.Descriptor instead. +func (*AccessLevel) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{0} +} + +func (x *AccessLevel) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AccessLevel) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AccessLevel) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (m *AccessLevel) GetLevel() isAccessLevel_Level { + if m != nil { + return m.Level + } + return nil +} + +func (x *AccessLevel) GetBasic() *BasicLevel { + if x, ok := x.GetLevel().(*AccessLevel_Basic); ok { + return x.Basic + } + return nil +} + +func (x *AccessLevel) GetCustom() *CustomLevel { + if x, ok := x.GetLevel().(*AccessLevel_Custom); ok { + return x.Custom + } + return nil +} + +func (x *AccessLevel) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *AccessLevel) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +type isAccessLevel_Level interface { + isAccessLevel_Level() +} + +type AccessLevel_Basic struct { + // A `BasicLevel` composed of `Conditions`. + Basic *BasicLevel `protobuf:"bytes,4,opt,name=basic,proto3,oneof"` +} + +type AccessLevel_Custom struct { + // A `CustomLevel` written in the Common Expression Language. + Custom *CustomLevel `protobuf:"bytes,5,opt,name=custom,proto3,oneof"` +} + +func (*AccessLevel_Basic) isAccessLevel_Level() {} + +func (*AccessLevel_Custom) isAccessLevel_Level() {} + +// `BasicLevel` is an `AccessLevel` using a set of recommended features. +type BasicLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A list of requirements for the `AccessLevel` to be granted. + Conditions []*Condition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"` + // How the `conditions` list should be combined to determine if a request is + // granted this `AccessLevel`. If AND is used, each `Condition` in + // `conditions` must be satisfied for the `AccessLevel` to be applied. If OR + // is used, at least one `Condition` in `conditions` must be satisfied for the + // `AccessLevel` to be applied. Default behavior is AND. + CombiningFunction BasicLevel_ConditionCombiningFunction `protobuf:"varint,2,opt,name=combining_function,json=combiningFunction,proto3,enum=mockgcp.identity.accesscontextmanager.v1.BasicLevel_ConditionCombiningFunction" json:"combining_function,omitempty"` +} + +func (x *BasicLevel) Reset() { + *x = BasicLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasicLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicLevel) ProtoMessage() {} + +func (x *BasicLevel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 BasicLevel.ProtoReflect.Descriptor instead. +func (*BasicLevel) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{1} +} + +func (x *BasicLevel) GetConditions() []*Condition { + if x != nil { + return x.Conditions + } + return nil +} + +func (x *BasicLevel) GetCombiningFunction() BasicLevel_ConditionCombiningFunction { + if x != nil { + return x.CombiningFunction + } + return BasicLevel_AND +} + +// A condition necessary for an `AccessLevel` to be granted. The Condition is an +// AND over its fields. So a Condition is true if: 1) the request IP is from one +// of the listed subnetworks AND 2) the originating device complies with the +// listed device policy AND 3) all listed access levels are granted AND 4) the +// request was sent at a time allowed by the DateTimeRestriction. +type Condition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for + // a CIDR IP address block, the specified IP address portion must be properly + // truncated (i.e. all the host bits must be zero) or the input is considered + // malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is + // not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas + // "2001:db8::1/32" is not. The originating IP of a request must be in one of + // the listed subnets in order for this Condition to be true. If empty, all IP + // addresses are allowed. + IpSubnetworks []string `protobuf:"bytes,1,rep,name=ip_subnetworks,json=ipSubnetworks,proto3" json:"ip_subnetworks,omitempty"` + // Device specific restrictions, all restrictions must hold for the + // Condition to be true. If not specified, all devices are allowed. + DevicePolicy *DevicePolicy `protobuf:"bytes,2,opt,name=device_policy,json=devicePolicy,proto3" json:"device_policy,omitempty"` + // A list of other access levels defined in the same `Policy`, referenced by + // resource name. Referencing an `AccessLevel` which does not exist is an + // error. All access levels listed must be granted for the Condition + // to be true. Example: + // "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"` + RequiredAccessLevels []string `protobuf:"bytes,3,rep,name=required_access_levels,json=requiredAccessLevels,proto3" json:"required_access_levels,omitempty"` + // Whether to negate the Condition. If true, the Condition becomes a NAND over + // its non-empty fields, each field must be false for the Condition overall to + // be satisfied. Defaults to false. + Negate bool `protobuf:"varint,5,opt,name=negate,proto3" json:"negate,omitempty"` + // The request must be made by one of the provided user or service + // accounts. Groups are not supported. + // Syntax: + // `user:{emailid}` + // `serviceAccount:{emailid}` + // If not specified, a request may come from any user. + Members []string `protobuf:"bytes,6,rep,name=members,proto3" json:"members,omitempty"` + // The request must originate from one of the provided countries/regions. + // Must be valid ISO 3166-1 alpha-2 codes. + Regions []string `protobuf:"bytes,7,rep,name=regions,proto3" json:"regions,omitempty"` +} + +func (x *Condition) Reset() { + *x = Condition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Condition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Condition) ProtoMessage() {} + +func (x *Condition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 Condition.ProtoReflect.Descriptor instead. +func (*Condition) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{2} +} + +func (x *Condition) GetIpSubnetworks() []string { + if x != nil { + return x.IpSubnetworks + } + return nil +} + +func (x *Condition) GetDevicePolicy() *DevicePolicy { + if x != nil { + return x.DevicePolicy + } + return nil +} + +func (x *Condition) GetRequiredAccessLevels() []string { + if x != nil { + return x.RequiredAccessLevels + } + return nil +} + +func (x *Condition) GetNegate() bool { + if x != nil { + return x.Negate + } + return false +} + +func (x *Condition) GetMembers() []string { + if x != nil { + return x.Members + } + return nil +} + +func (x *Condition) GetRegions() []string { + if x != nil { + return x.Regions + } + return nil +} + +// `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language +// to represent the necessary conditions for the level to apply to a request. +// See CEL spec at: https://github.com/google/cel-spec +type CustomLevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A Cloud CEL expression evaluating to a boolean. + Expr *expr.Expr `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` +} + +func (x *CustomLevel) Reset() { + *x = CustomLevel{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomLevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomLevel) ProtoMessage() {} + +func (x *CustomLevel) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 CustomLevel.ProtoReflect.Descriptor instead. +func (*CustomLevel) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{3} +} + +func (x *CustomLevel) GetExpr() *expr.Expr { + if x != nil { + return x.Expr + } + return nil +} + +// `DevicePolicy` specifies device specific restrictions necessary to acquire a +// given access level. A `DevicePolicy` specifies requirements for requests from +// devices to be granted access levels, it does not do any enforcement on the +// device. `DevicePolicy` acts as an AND over all specified fields, and each +// repeated field is an OR over its elements. Any unset fields are ignored. For +// example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : +// DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be +// true for requests originating from encrypted Linux desktops and encrypted +// Windows desktops. +type DevicePolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether or not screenlock is required for the DevicePolicy to be true. + // Defaults to `false`. + RequireScreenlock bool `protobuf:"varint,1,opt,name=require_screenlock,json=requireScreenlock,proto3" json:"require_screenlock,omitempty"` + // Allowed encryptions statuses, an empty list allows all statuses. + AllowedEncryptionStatuses []_type.DeviceEncryptionStatus `protobuf:"varint,2,rep,packed,name=allowed_encryption_statuses,json=allowedEncryptionStatuses,proto3,enum=mockgcp.identity.accesscontextmanager.type.DeviceEncryptionStatus" json:"allowed_encryption_statuses,omitempty"` + // Allowed OS versions, an empty list allows all types and all versions. + OsConstraints []*OsConstraint `protobuf:"bytes,3,rep,name=os_constraints,json=osConstraints,proto3" json:"os_constraints,omitempty"` + // Allowed device management levels, an empty list allows all management + // levels. + AllowedDeviceManagementLevels []_type.DeviceManagementLevel `protobuf:"varint,6,rep,packed,name=allowed_device_management_levels,json=allowedDeviceManagementLevels,proto3,enum=mockgcp.identity.accesscontextmanager.type.DeviceManagementLevel" json:"allowed_device_management_levels,omitempty"` + // Whether the device needs to be approved by the customer admin. + RequireAdminApproval bool `protobuf:"varint,7,opt,name=require_admin_approval,json=requireAdminApproval,proto3" json:"require_admin_approval,omitempty"` + // Whether the device needs to be corp owned. + RequireCorpOwned bool `protobuf:"varint,8,opt,name=require_corp_owned,json=requireCorpOwned,proto3" json:"require_corp_owned,omitempty"` +} + +func (x *DevicePolicy) Reset() { + *x = DevicePolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DevicePolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DevicePolicy) ProtoMessage() {} + +func (x *DevicePolicy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 DevicePolicy.ProtoReflect.Descriptor instead. +func (*DevicePolicy) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{4} +} + +func (x *DevicePolicy) GetRequireScreenlock() bool { + if x != nil { + return x.RequireScreenlock + } + return false +} + +func (x *DevicePolicy) GetAllowedEncryptionStatuses() []_type.DeviceEncryptionStatus { + if x != nil { + return x.AllowedEncryptionStatuses + } + return nil +} + +func (x *DevicePolicy) GetOsConstraints() []*OsConstraint { + if x != nil { + return x.OsConstraints + } + return nil +} + +func (x *DevicePolicy) GetAllowedDeviceManagementLevels() []_type.DeviceManagementLevel { + if x != nil { + return x.AllowedDeviceManagementLevels + } + return nil +} + +func (x *DevicePolicy) GetRequireAdminApproval() bool { + if x != nil { + return x.RequireAdminApproval + } + return false +} + +func (x *DevicePolicy) GetRequireCorpOwned() bool { + if x != nil { + return x.RequireCorpOwned + } + return false +} + +// A restriction on the OS type and version of devices making requests. +type OsConstraint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The allowed OS type. + OsType _type.OsType `protobuf:"varint,1,opt,name=os_type,json=osType,proto3,enum=mockgcp.identity.accesscontextmanager.type.OsType" json:"os_type,omitempty"` + // The minimum allowed OS version. If not set, any version of this OS + // satisfies the constraint. Format: `"major.minor.patch"`. + // Examples: `"10.5.301"`, `"9.2.1"`. + MinimumVersion string `protobuf:"bytes,2,opt,name=minimum_version,json=minimumVersion,proto3" json:"minimum_version,omitempty"` + // Only allows requests from devices with a verified Chrome OS. + // Verifications includes requirements that the device is enterprise-managed, + // conformant to domain policies, and the caller has permission to call + // the API targeted by the request. + RequireVerifiedChromeOs bool `protobuf:"varint,3,opt,name=require_verified_chrome_os,json=requireVerifiedChromeOs,proto3" json:"require_verified_chrome_os,omitempty"` +} + +func (x *OsConstraint) Reset() { + *x = OsConstraint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OsConstraint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OsConstraint) ProtoMessage() {} + +func (x *OsConstraint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_level_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 OsConstraint.ProtoReflect.Descriptor instead. +func (*OsConstraint) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP(), []int{5} +} + +func (x *OsConstraint) GetOsType() _type.OsType { + if x != nil { + return x.OsType + } + return _type.OsType(0) +} + +func (x *OsConstraint) GetMinimumVersion() string { + if x != nil { + return x.MinimumVersion + } + return "" +} + +func (x *OsConstraint) GetRequireVerifiedChromeOs() bool { + if x != nil { + return x.RequireVerifiedChromeOs + } + return false +} + +var File_mockgcp_identity_accesscontextmanager_v1_access_level_proto protoreflect.FileDescriptor + +var file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDesc = []byte{ + 0x0a, 0x3b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 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, 0x41, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, 0xed, + 0x03, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 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, 0x4c, 0x0a, 0x05, 0x62, 0x61, + 0x73, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, + 0x00, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x4f, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, + 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3a, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x7d, 0x42, 0x07, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x90, + 0x02, 0x0a, 0x0a, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x53, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x7e, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x62, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x11, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x2d, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x52, 0x10, + 0x01, 0x22, 0x91, 0x02, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x70, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x34, 0x0a, 0x0b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x92, 0x04, 0x0a, 0x0c, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2d, 0x0a, 0x12, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x82, 0x01, 0x0a, 0x1b, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, + 0x12, 0x5d, 0x0a, 0x0e, 0x6f, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x52, 0x0d, 0x6f, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x8a, 0x01, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x1d, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x6f, + 0x72, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x6f, 0x72, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, + 0x22, 0xc1, 0x01, 0x0a, 0x0c, 0x4f, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x12, 0x4b, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, + 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x72, 0x6f, + 0x6d, 0x65, 0x5f, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43, 0x68, 0x72, 0x6f, + 0x6d, 0x65, 0x4f, 0x73, 0x42, 0xa8, 0x02, 0x0a, 0x2c, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, + 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x43, 0x4d, 0xaa, 0x02, + 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, + 0x56, 0x31, 0xea, 0x02, 0x2a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescOnce sync.Once + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescData = file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDesc +) + +func file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescGZIP() []byte { + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescOnce.Do(func() { + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescData) + }) + return file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDescData +} + +var file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_goTypes = []interface{}{ + (BasicLevel_ConditionCombiningFunction)(0), // 0: mockgcp.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction + (*AccessLevel)(nil), // 1: mockgcp.identity.accesscontextmanager.v1.AccessLevel + (*BasicLevel)(nil), // 2: mockgcp.identity.accesscontextmanager.v1.BasicLevel + (*Condition)(nil), // 3: mockgcp.identity.accesscontextmanager.v1.Condition + (*CustomLevel)(nil), // 4: mockgcp.identity.accesscontextmanager.v1.CustomLevel + (*DevicePolicy)(nil), // 5: mockgcp.identity.accesscontextmanager.v1.DevicePolicy + (*OsConstraint)(nil), // 6: mockgcp.identity.accesscontextmanager.v1.OsConstraint + (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp + (*expr.Expr)(nil), // 8: google.type.Expr + (_type.DeviceEncryptionStatus)(0), // 9: mockgcp.identity.accesscontextmanager.type.DeviceEncryptionStatus + (_type.DeviceManagementLevel)(0), // 10: mockgcp.identity.accesscontextmanager.type.DeviceManagementLevel + (_type.OsType)(0), // 11: mockgcp.identity.accesscontextmanager.type.OsType +} +var file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_depIdxs = []int32{ + 2, // 0: mockgcp.identity.accesscontextmanager.v1.AccessLevel.basic:type_name -> mockgcp.identity.accesscontextmanager.v1.BasicLevel + 4, // 1: mockgcp.identity.accesscontextmanager.v1.AccessLevel.custom:type_name -> mockgcp.identity.accesscontextmanager.v1.CustomLevel + 7, // 2: mockgcp.identity.accesscontextmanager.v1.AccessLevel.create_time:type_name -> google.protobuf.Timestamp + 7, // 3: mockgcp.identity.accesscontextmanager.v1.AccessLevel.update_time:type_name -> google.protobuf.Timestamp + 3, // 4: mockgcp.identity.accesscontextmanager.v1.BasicLevel.conditions:type_name -> mockgcp.identity.accesscontextmanager.v1.Condition + 0, // 5: mockgcp.identity.accesscontextmanager.v1.BasicLevel.combining_function:type_name -> mockgcp.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction + 5, // 6: mockgcp.identity.accesscontextmanager.v1.Condition.device_policy:type_name -> mockgcp.identity.accesscontextmanager.v1.DevicePolicy + 8, // 7: mockgcp.identity.accesscontextmanager.v1.CustomLevel.expr:type_name -> google.type.Expr + 9, // 8: mockgcp.identity.accesscontextmanager.v1.DevicePolicy.allowed_encryption_statuses:type_name -> mockgcp.identity.accesscontextmanager.type.DeviceEncryptionStatus + 6, // 9: mockgcp.identity.accesscontextmanager.v1.DevicePolicy.os_constraints:type_name -> mockgcp.identity.accesscontextmanager.v1.OsConstraint + 10, // 10: mockgcp.identity.accesscontextmanager.v1.DevicePolicy.allowed_device_management_levels:type_name -> mockgcp.identity.accesscontextmanager.type.DeviceManagementLevel + 11, // 11: mockgcp.identity.accesscontextmanager.v1.OsConstraint.os_type:type_name -> mockgcp.identity.accesscontextmanager.type.OsType + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_init() } +func file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_init() { + if File_mockgcp_identity_accesscontextmanager_v1_access_level_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasicLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Condition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomLevel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DevicePolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OsConstraint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*AccessLevel_Basic)(nil), + (*AccessLevel_Custom)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_goTypes, + DependencyIndexes: file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_depIdxs, + EnumInfos: file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_enumTypes, + MessageInfos: file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_msgTypes, + }.Build() + File_mockgcp_identity_accesscontextmanager_v1_access_level_proto = out.File + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_rawDesc = nil + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_goTypes = nil + file_mockgcp_identity_accesscontextmanager_v1_access_level_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_policy.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_policy.pb.go new file mode 100644 index 0000000000..63e3d96dac --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/access_policy.pb.go @@ -0,0 +1,285 @@ +// 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.28.1 +// protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/access_policy.proto + +package accesscontextmanagerpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// `AccessPolicy` is a container for `AccessLevels` (which define the necessary +// attributes to use Google Cloud services) and `ServicePerimeters` (which +// define regions of services able to freely pass data within a perimeter). An +// access policy is globally visible within an organization, and the +// restrictions it specifies apply to all projects within an organization. +type AccessPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Resource name of the `AccessPolicy`. Format: + // `accessPolicies/{access_policy}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The parent of this `AccessPolicy` in the Cloud Resource + // Hierarchy. Currently immutable once created. Format: + // `organizations/{organization_id}` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Human readable title. Does not affect behavior. + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + // The scopes of a policy define which resources an ACM policy can restrict, + // and where ACM resources can be referenced. + // For example, a policy with scopes=["folders/123"] has the following + // behavior: + // - vpcsc perimeters can only restrict projects within folders/123 + // - access levels can only be referenced by resources within folders/123. + // If empty, there are no limitations on which resources can be restricted by + // an ACM policy, and there are no limitations on where ACM resources can be + // referenced. + // Only one policy can include a given scope (attempting to create a second + // policy which includes "folders/123" will result in an error). + // Currently, scopes cannot be modified after a policy is created. + // Currently, policies can only have a single scope. + // Format: list of `folders/{folder_number}` or `projects/{project_number}` + Scopes []string `protobuf:"bytes,7,rep,name=scopes,proto3" json:"scopes,omitempty"` + // Output only. Time the `AccessPolicy` was created in UTC. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time the `AccessPolicy` was updated in UTC. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. An opaque identifier for the current version of the + // `AccessPolicy`. This will always be a strongly validated etag, meaning that + // two Access Polices will be identical if and only if their etags are + // identical. Clients should not expect this to be in any specific format. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *AccessPolicy) Reset() { + *x = AccessPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccessPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccessPolicy) ProtoMessage() {} + +func (x *AccessPolicy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_access_policy_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 AccessPolicy.ProtoReflect.Descriptor instead. +func (*AccessPolicy) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescGZIP(), []int{0} +} + +func (x *AccessPolicy) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AccessPolicy) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *AccessPolicy) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AccessPolicy) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *AccessPolicy) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *AccessPolicy) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *AccessPolicy) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_mockgcp_identity_accesscontextmanager_v1_access_policy_proto protoreflect.FileDescriptor + +var file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDesc = []byte{ + 0x0a, 0x3c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 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, 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, 0x22, 0xcd, 0x02, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, + 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x55, 0xea, + 0x41, 0x52, 0x0a, 0x30, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x42, 0xa3, 0x02, 0x0a, 0x2c, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x43, 0x4d, 0xaa, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x2a, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescOnce sync.Once + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescData = file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDesc +) + +func file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescGZIP() []byte { + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescOnce.Do(func() { + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescData) + }) + return file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDescData +} + +var file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_goTypes = []interface{}{ + (*AccessPolicy)(nil), // 0: mockgcp.identity.accesscontextmanager.v1.AccessPolicy + (*timestamp.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_depIdxs = []int32{ + 1, // 0: mockgcp.identity.accesscontextmanager.v1.AccessPolicy.create_time:type_name -> google.protobuf.Timestamp + 1, // 1: mockgcp.identity.accesscontextmanager.v1.AccessPolicy.update_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_init() } +func file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_init() { + if File_mockgcp_identity_accesscontextmanager_v1_access_policy_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_goTypes, + DependencyIndexes: file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_depIdxs, + MessageInfos: file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_msgTypes, + }.Build() + File_mockgcp_identity_accesscontextmanager_v1_access_policy_proto = out.File + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_rawDesc = nil + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_goTypes = nil + file_mockgcp_identity_accesscontextmanager_v1_access_policy_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/gcp_user_access_binding.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/gcp_user_access_binding.pb.go new file mode 100644 index 0000000000..7dfaaffb45 --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/gcp_user_access_binding.pb.go @@ -0,0 +1,236 @@ +// 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.28.1 +// protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/gcp_user_access_binding.proto + +package accesscontextmanagerpb + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Restricts access to Cloud Console and Google Cloud APIs for a set of users +// using Context-Aware Access. +type GcpUserAccessBinding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Assigned by the server during creation. The last segment has an arbitrary + // length and has only URI unreserved characters (as defined by + // [RFC 3986 Section 2.3](https://tools.ietf.org/html/rfc3986#section-2.3)). + // Should not be specified by the client during creation. + // Example: "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N" + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Immutable. Google Group id whose members are subject to this binding's restrictions. + // See "id" in the [G Suite Directory API's Groups resource] + // (https://developers.google.com/admin-sdk/directory/v1/reference/groups#resource). + // If a group's email address/alias is changed, this resource will continue + // to point at the changed group. This field does not accept group email + // addresses or aliases. + // Example: "01d520gv4vjcrht" + GroupKey string `protobuf:"bytes,2,opt,name=group_key,json=groupKey,proto3" json:"group_key,omitempty"` + // Required. Access level that a user must have to be granted access. Only one access + // level is supported, not multiple. This repeated field must have exactly + // one element. + // Example: "accessPolicies/9522/accessLevels/device_trusted" + AccessLevels []string `protobuf:"bytes,3,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"` +} + +func (x *GcpUserAccessBinding) Reset() { + *x = GcpUserAccessBinding{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcpUserAccessBinding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcpUserAccessBinding) ProtoMessage() {} + +func (x *GcpUserAccessBinding) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_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 GcpUserAccessBinding.ProtoReflect.Descriptor instead. +func (*GcpUserAccessBinding) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescGZIP(), []int{0} +} + +func (x *GcpUserAccessBinding) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GcpUserAccessBinding) GetGroupKey() string { + if x != nil { + return x.GroupKey + } + return "" +} + +func (x *GcpUserAccessBinding) GetAccessLevels() []string { + if x != nil { + return x.AccessLevels + } + return nil +} + +var File_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto protoreflect.FileDescriptor + +var file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDesc = []byte{ + 0x0a, 0x46, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x63, 0x70, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x76, 0x31, 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, 0x22, 0xc1, + 0x02, 0x0a, 0x14, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x5c, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x73, 0x3a, 0x8c, 0x01, 0xea, 0x41, 0x88, 0x01, 0x0a, 0x38, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x4c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x67, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x67, 0x63, 0x70, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x7d, 0x42, 0xb1, 0x02, 0x0a, 0x2c, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x42, 0x19, 0x47, 0x63, 0x70, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x5c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0xa2, 0x02, + 0x04, 0x47, 0x41, 0x43, 0x4d, 0xaa, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x2a, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x3a, 0x3a, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescOnce sync.Once + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescData = file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDesc +) + +func file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescGZIP() []byte { + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescOnce.Do(func() { + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescData) + }) + return file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDescData +} + +var file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_goTypes = []interface{}{ + (*GcpUserAccessBinding)(nil), // 0: mockgcp.identity.accesscontextmanager.v1.GcpUserAccessBinding +} +var file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_init() } +func file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_init() { + if File_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcpUserAccessBinding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_goTypes, + DependencyIndexes: file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_depIdxs, + MessageInfos: file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_msgTypes, + }.Build() + File_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto = out.File + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_rawDesc = nil + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_goTypes = nil + file_mockgcp_identity_accesscontextmanager_v1_gcp_user_access_binding_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/service_perimeter.pb.go b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/service_perimeter.pb.go new file mode 100644 index 0000000000..94262e3e72 --- /dev/null +++ b/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1/service_perimeter.pb.go @@ -0,0 +1,1745 @@ +// 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.28.1 +// protoc v3.12.4 +// source: mockgcp/identity/accesscontextmanager/v1/service_perimeter.proto + +package accesscontextmanagerpb + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Specifies the type of the Perimeter. There are two types: regular and +// bridge. Regular Service Perimeter contains resources, access levels, and +// restricted services. Every resource can be in at most ONE +// regular Service Perimeter. +// +// In addition to being in a regular service perimeter, a resource can also +// be in zero or more perimeter bridges. A perimeter bridge only contains +// resources. Cross project operations are permitted if all effected +// resources share some perimeter (whether bridge or regular). Perimeter +// Bridge does not contain access levels or services: those are governed +// entirely by the regular perimeter that resource is in. +// +// Perimeter Bridges are typically useful when building more complex toplogies +// with many independent perimeters that need to share some data with a common +// perimeter, but should not be able to share data among themselves. +type ServicePerimeter_PerimeterType int32 + +const ( + // Regular Perimeter. + ServicePerimeter_PERIMETER_TYPE_REGULAR ServicePerimeter_PerimeterType = 0 + // Perimeter Bridge. + ServicePerimeter_PERIMETER_TYPE_BRIDGE ServicePerimeter_PerimeterType = 1 +) + +// Enum value maps for ServicePerimeter_PerimeterType. +var ( + ServicePerimeter_PerimeterType_name = map[int32]string{ + 0: "PERIMETER_TYPE_REGULAR", + 1: "PERIMETER_TYPE_BRIDGE", + } + ServicePerimeter_PerimeterType_value = map[string]int32{ + "PERIMETER_TYPE_REGULAR": 0, + "PERIMETER_TYPE_BRIDGE": 1, + } +) + +func (x ServicePerimeter_PerimeterType) Enum() *ServicePerimeter_PerimeterType { + p := new(ServicePerimeter_PerimeterType) + *p = x + return p +} + +func (x ServicePerimeter_PerimeterType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ServicePerimeter_PerimeterType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes[0].Descriptor() +} + +func (ServicePerimeter_PerimeterType) Type() protoreflect.EnumType { + return &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes[0] +} + +func (x ServicePerimeter_PerimeterType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ServicePerimeter_PerimeterType.Descriptor instead. +func (ServicePerimeter_PerimeterType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{0, 0} +} + +// Specifies the types of identities that are allowed access in either +// [IngressFrom] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom] +// or [EgressFrom] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom] +// rules. +type ServicePerimeterConfig_IdentityType int32 + +const ( + // No blanket identity group specified. + ServicePerimeterConfig_IDENTITY_TYPE_UNSPECIFIED ServicePerimeterConfig_IdentityType = 0 + // Authorize access from all identities outside the perimeter. + ServicePerimeterConfig_ANY_IDENTITY ServicePerimeterConfig_IdentityType = 1 + // Authorize access from all human users outside the perimeter. + ServicePerimeterConfig_ANY_USER_ACCOUNT ServicePerimeterConfig_IdentityType = 2 + // Authorize access from all service accounts outside the perimeter. + ServicePerimeterConfig_ANY_SERVICE_ACCOUNT ServicePerimeterConfig_IdentityType = 3 +) + +// Enum value maps for ServicePerimeterConfig_IdentityType. +var ( + ServicePerimeterConfig_IdentityType_name = map[int32]string{ + 0: "IDENTITY_TYPE_UNSPECIFIED", + 1: "ANY_IDENTITY", + 2: "ANY_USER_ACCOUNT", + 3: "ANY_SERVICE_ACCOUNT", + } + ServicePerimeterConfig_IdentityType_value = map[string]int32{ + "IDENTITY_TYPE_UNSPECIFIED": 0, + "ANY_IDENTITY": 1, + "ANY_USER_ACCOUNT": 2, + "ANY_SERVICE_ACCOUNT": 3, + } +) + +func (x ServicePerimeterConfig_IdentityType) Enum() *ServicePerimeterConfig_IdentityType { + p := new(ServicePerimeterConfig_IdentityType) + *p = x + return p +} + +func (x ServicePerimeterConfig_IdentityType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ServicePerimeterConfig_IdentityType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes[1].Descriptor() +} + +func (ServicePerimeterConfig_IdentityType) Type() protoreflect.EnumType { + return &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes[1] +} + +func (x ServicePerimeterConfig_IdentityType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ServicePerimeterConfig_IdentityType.Descriptor instead. +func (ServicePerimeterConfig_IdentityType) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 0} +} + +// `ServicePerimeter` describes a set of Google Cloud resources which can freely +// import and export data amongst themselves, but not export outside of the +// `ServicePerimeter`. If a request with a source within this `ServicePerimeter` +// has a target outside of the `ServicePerimeter`, the request will be blocked. +// Otherwise the request is allowed. There are two types of Service Perimeter - +// Regular and Bridge. Regular Service Perimeters cannot overlap, a single +// Google Cloud project can only belong to a single regular Service Perimeter. +// Service Perimeter Bridges can contain only Google Cloud projects as members, +// a single Google Cloud project may belong to multiple Service Perimeter +// Bridges. +type ServicePerimeter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource name for the ServicePerimeter. The `short_name` + // component must begin with a letter and only include alphanumeric and '_'. + // Format: + // `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human readable title. Must be unique within the Policy. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // Description of the `ServicePerimeter` and its use. Does not affect + // behavior. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Time the `ServicePerimeter` was created in UTC. + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time the `ServicePerimeter` was updated in UTC. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Perimeter type indicator. A single project is + // allowed to be a member of single regular perimeter, but multiple service + // perimeter bridges. A project cannot be a included in a perimeter bridge + // without being included in regular perimeter. For perimeter bridges, + // the restricted service list as well as access level lists must be + // empty. + PerimeterType ServicePerimeter_PerimeterType `protobuf:"varint,6,opt,name=perimeter_type,json=perimeterType,proto3,enum=mockgcp.identity.accesscontextmanager.v1.ServicePerimeter_PerimeterType" json:"perimeter_type,omitempty"` + // Current ServicePerimeter configuration. Specifies sets of resources, + // restricted services and access levels that determine perimeter + // content and boundaries. + Status *ServicePerimeterConfig `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + // Proposed (or dry run) ServicePerimeter configuration. This configuration + // allows to specify and test ServicePerimeter configuration without enforcing + // actual access restrictions. Only allowed to be set when the + // "use_explicit_dry_run_spec" flag is set. + Spec *ServicePerimeterConfig `protobuf:"bytes,8,opt,name=spec,proto3" json:"spec,omitempty"` + // Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly + // exists for all Service Perimeters, and that spec is identical to the + // status for those Service Perimeters. When this flag is set, it inhibits the + // generation of the implicit spec, thereby allowing the user to explicitly + // provide a configuration ("spec") to use in a dry-run version of the Service + // Perimeter. This allows the user to test changes to the enforced config + // ("status") without actually enforcing them. This testing is done through + // analyzing the differences between currently enforced and suggested + // restrictions. use_explicit_dry_run_spec must bet set to True if any of the + // fields in the spec are set to non-default values. + UseExplicitDryRunSpec bool `protobuf:"varint,9,opt,name=use_explicit_dry_run_spec,json=useExplicitDryRunSpec,proto3" json:"use_explicit_dry_run_spec,omitempty"` +} + +func (x *ServicePerimeter) Reset() { + *x = ServicePerimeter{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeter) ProtoMessage() {} + +func (x *ServicePerimeter) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeter.ProtoReflect.Descriptor instead. +func (*ServicePerimeter) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{0} +} + +func (x *ServicePerimeter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ServicePerimeter) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ServicePerimeter) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ServicePerimeter) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ServicePerimeter) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ServicePerimeter) GetPerimeterType() ServicePerimeter_PerimeterType { + if x != nil { + return x.PerimeterType + } + return ServicePerimeter_PERIMETER_TYPE_REGULAR +} + +func (x *ServicePerimeter) GetStatus() *ServicePerimeterConfig { + if x != nil { + return x.Status + } + return nil +} + +func (x *ServicePerimeter) GetSpec() *ServicePerimeterConfig { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ServicePerimeter) GetUseExplicitDryRunSpec() bool { + if x != nil { + return x.UseExplicitDryRunSpec + } + return false +} + +// `ServicePerimeterConfig` specifies a set of Google Cloud resources that +// describe specific Service Perimeter configuration. +type ServicePerimeterConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of Google Cloud resources that are inside of the service perimeter. + // Currently only projects are allowed. Format: `projects/{project_number}` + Resources []string `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"` + // A list of `AccessLevel` resource names that allow resources within the + // `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed + // must be in the same policy as this `ServicePerimeter`. Referencing a + // nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are + // listed, resources within the perimeter can only be accessed via Google + // Cloud calls with request origins within the perimeter. Example: + // `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`. + // For Service Perimeter Bridge, must be empty. + AccessLevels []string `protobuf:"bytes,2,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"` + // Google Cloud services that are subject to the Service Perimeter + // restrictions. For example, if `storage.googleapis.com` is specified, access + // to the storage buckets inside the perimeter must meet the perimeter's + // access restrictions. + RestrictedServices []string `protobuf:"bytes,4,rep,name=restricted_services,json=restrictedServices,proto3" json:"restricted_services,omitempty"` + // Configuration for APIs allowed within Perimeter. + VpcAccessibleServices *ServicePerimeterConfig_VpcAccessibleServices `protobuf:"bytes,10,opt,name=vpc_accessible_services,json=vpcAccessibleServices,proto3" json:"vpc_accessible_services,omitempty"` + // List of [IngressPolicies] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // to apply to the perimeter. A perimeter may have multiple [IngressPolicies] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy], + // each of which is evaluated separately. Access is granted if any [Ingress + // Policy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // grants it. Must be empty for a perimeter bridge. + IngressPolicies []*ServicePerimeterConfig_IngressPolicy `protobuf:"bytes,8,rep,name=ingress_policies,json=ingressPolicies,proto3" json:"ingress_policies,omitempty"` + // List of [EgressPolicies] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] + // to apply to the perimeter. A perimeter may have multiple [EgressPolicies] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy], + // each of which is evaluated separately. Access is granted if any + // [EgressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] + // grants it. Must be empty for a perimeter bridge. + EgressPolicies []*ServicePerimeterConfig_EgressPolicy `protobuf:"bytes,9,rep,name=egress_policies,json=egressPolicies,proto3" json:"egress_policies,omitempty"` +} + +func (x *ServicePerimeterConfig) Reset() { + *x = ServicePerimeterConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig) ProtoMessage() {} + +func (x *ServicePerimeterConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1} +} + +func (x *ServicePerimeterConfig) GetResources() []string { + if x != nil { + return x.Resources + } + return nil +} + +func (x *ServicePerimeterConfig) GetAccessLevels() []string { + if x != nil { + return x.AccessLevels + } + return nil +} + +func (x *ServicePerimeterConfig) GetRestrictedServices() []string { + if x != nil { + return x.RestrictedServices + } + return nil +} + +func (x *ServicePerimeterConfig) GetVpcAccessibleServices() *ServicePerimeterConfig_VpcAccessibleServices { + if x != nil { + return x.VpcAccessibleServices + } + return nil +} + +func (x *ServicePerimeterConfig) GetIngressPolicies() []*ServicePerimeterConfig_IngressPolicy { + if x != nil { + return x.IngressPolicies + } + return nil +} + +func (x *ServicePerimeterConfig) GetEgressPolicies() []*ServicePerimeterConfig_EgressPolicy { + if x != nil { + return x.EgressPolicies + } + return nil +} + +// Specifies how APIs are allowed to communicate within the Service +// Perimeter. +type ServicePerimeterConfig_VpcAccessibleServices struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether to restrict API calls within the Service Perimeter to the list of + // APIs specified in 'allowed_services'. + EnableRestriction bool `protobuf:"varint,1,opt,name=enable_restriction,json=enableRestriction,proto3" json:"enable_restriction,omitempty"` + // The list of APIs usable within the Service Perimeter. Must be empty + // unless 'enable_restriction' is True. You can specify a list of individual + // services, as well as include the 'RESTRICTED-SERVICES' value, which + // automatically includes all of the services protected by the perimeter. + AllowedServices []string `protobuf:"bytes,2,rep,name=allowed_services,json=allowedServices,proto3" json:"allowed_services,omitempty"` +} + +func (x *ServicePerimeterConfig_VpcAccessibleServices) Reset() { + *x = ServicePerimeterConfig_VpcAccessibleServices{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_VpcAccessibleServices) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_VpcAccessibleServices) ProtoMessage() {} + +func (x *ServicePerimeterConfig_VpcAccessibleServices) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_VpcAccessibleServices.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_VpcAccessibleServices) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *ServicePerimeterConfig_VpcAccessibleServices) GetEnableRestriction() bool { + if x != nil { + return x.EnableRestriction + } + return false +} + +func (x *ServicePerimeterConfig_VpcAccessibleServices) GetAllowedServices() []string { + if x != nil { + return x.AllowedServices + } + return nil +} + +// An allowed method or permission of a service specified in [ApiOperation] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation]. +type ServicePerimeterConfig_MethodSelector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The API method name or Cloud IAM permission name to allow. + // + // Types that are assignable to Kind: + // + // *ServicePerimeterConfig_MethodSelector_Method + // *ServicePerimeterConfig_MethodSelector_Permission + Kind isServicePerimeterConfig_MethodSelector_Kind `protobuf_oneof:"kind"` +} + +func (x *ServicePerimeterConfig_MethodSelector) Reset() { + *x = ServicePerimeterConfig_MethodSelector{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_MethodSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_MethodSelector) ProtoMessage() {} + +func (x *ServicePerimeterConfig_MethodSelector) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_MethodSelector.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_MethodSelector) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 1} +} + +func (m *ServicePerimeterConfig_MethodSelector) GetKind() isServicePerimeterConfig_MethodSelector_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (x *ServicePerimeterConfig_MethodSelector) GetMethod() string { + if x, ok := x.GetKind().(*ServicePerimeterConfig_MethodSelector_Method); ok { + return x.Method + } + return "" +} + +func (x *ServicePerimeterConfig_MethodSelector) GetPermission() string { + if x, ok := x.GetKind().(*ServicePerimeterConfig_MethodSelector_Permission); ok { + return x.Permission + } + return "" +} + +type isServicePerimeterConfig_MethodSelector_Kind interface { + isServicePerimeterConfig_MethodSelector_Kind() +} + +type ServicePerimeterConfig_MethodSelector_Method struct { + // Value for `method` should be a valid method name for the corresponding + // `service_name` in [ApiOperation] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation]. + // If `*` used as value for `method`, then ALL methods and permissions are + // allowed. + Method string `protobuf:"bytes,1,opt,name=method,proto3,oneof"` +} + +type ServicePerimeterConfig_MethodSelector_Permission struct { + // Value for `permission` should be a valid Cloud IAM permission for the + // corresponding `service_name` in [ApiOperation] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation]. + Permission string `protobuf:"bytes,2,opt,name=permission,proto3,oneof"` +} + +func (*ServicePerimeterConfig_MethodSelector_Method) isServicePerimeterConfig_MethodSelector_Kind() {} + +func (*ServicePerimeterConfig_MethodSelector_Permission) isServicePerimeterConfig_MethodSelector_Kind() { +} + +// Identification for an API Operation. +type ServicePerimeterConfig_ApiOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the API whose methods or permissions the [IngressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // or [EgressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] + // want to allow. A single [ApiOperation] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] + // with `service_name` field set to `*` will allow all methods AND + // permissions for all services. + ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` + // API methods or permissions to allow. Method or permission must belong to + // the service specified by `service_name` field. A single [MethodSelector] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector] + // entry with `*` specified for the `method` field will allow all methods + // AND permissions for the service specified in `service_name`. + MethodSelectors []*ServicePerimeterConfig_MethodSelector `protobuf:"bytes,2,rep,name=method_selectors,json=methodSelectors,proto3" json:"method_selectors,omitempty"` +} + +func (x *ServicePerimeterConfig_ApiOperation) Reset() { + *x = ServicePerimeterConfig_ApiOperation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_ApiOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_ApiOperation) ProtoMessage() {} + +func (x *ServicePerimeterConfig_ApiOperation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_ApiOperation.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_ApiOperation) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *ServicePerimeterConfig_ApiOperation) GetServiceName() string { + if x != nil { + return x.ServiceName + } + return "" +} + +func (x *ServicePerimeterConfig_ApiOperation) GetMethodSelectors() []*ServicePerimeterConfig_MethodSelector { + if x != nil { + return x.MethodSelectors + } + return nil +} + +// The source that [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// authorizes access from. +type ServicePerimeterConfig_IngressSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Allowed ingress source. It can be one of [AccessLevel] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] or Google + // Cloud resource. + // + // Types that are assignable to Source: + // + // *ServicePerimeterConfig_IngressSource_AccessLevel + // *ServicePerimeterConfig_IngressSource_Resource + Source isServicePerimeterConfig_IngressSource_Source `protobuf_oneof:"source"` +} + +func (x *ServicePerimeterConfig_IngressSource) Reset() { + *x = ServicePerimeterConfig_IngressSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_IngressSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_IngressSource) ProtoMessage() {} + +func (x *ServicePerimeterConfig_IngressSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_IngressSource.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_IngressSource) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 3} +} + +func (m *ServicePerimeterConfig_IngressSource) GetSource() isServicePerimeterConfig_IngressSource_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ServicePerimeterConfig_IngressSource) GetAccessLevel() string { + if x, ok := x.GetSource().(*ServicePerimeterConfig_IngressSource_AccessLevel); ok { + return x.AccessLevel + } + return "" +} + +func (x *ServicePerimeterConfig_IngressSource) GetResource() string { + if x, ok := x.GetSource().(*ServicePerimeterConfig_IngressSource_Resource); ok { + return x.Resource + } + return "" +} + +type isServicePerimeterConfig_IngressSource_Source interface { + isServicePerimeterConfig_IngressSource_Source() +} + +type ServicePerimeterConfig_IngressSource_AccessLevel struct { + // An [AccessLevel] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] resource + // name that allow resources within the [ServicePerimeters] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] to be + // accessed from the internet. [AccessLevels] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] listed must + // be in the same policy as this [ServicePerimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + // Referencing a nonexistent [AccessLevel] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] will cause + // an error. If no [AccessLevel] + // [mockgcp.identity.accesscontextmanager.v1.AccessLevel] names are + // listed, resources within the perimeter can only be accessed via Google + // Cloud calls with request origins within the perimeter. Example: + // `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is + // specified for `access_level`, then all [IngressSources] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource] + // will be allowed. + AccessLevel string `protobuf:"bytes,1,opt,name=access_level,json=accessLevel,proto3,oneof"` +} + +type ServicePerimeterConfig_IngressSource_Resource struct { + // A Google Cloud resource that is allowed to ingress the perimeter. + // Requests from these resources will be allowed to access perimeter data. + // Currently only projects are allowed. + // Format: `projects/{project_number}` + // The project may be in any Google Cloud organization, not just the + // organization that the perimeter is defined in. `*` is not allowed, the + // case of allowing all Google Cloud resources only is not supported. + Resource string `protobuf:"bytes,2,opt,name=resource,proto3,oneof"` +} + +func (*ServicePerimeterConfig_IngressSource_AccessLevel) isServicePerimeterConfig_IngressSource_Source() { +} + +func (*ServicePerimeterConfig_IngressSource_Resource) isServicePerimeterConfig_IngressSource_Source() { +} + +// Defines the conditions under which an [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// matches a request. Conditions are based on information about the source of +// the request. The request must satisfy what is defined in `sources` AND +// identity related fields in order to match. +type ServicePerimeterConfig_IngressFrom struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Sources that this [IngressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // authorizes access from. + Sources []*ServicePerimeterConfig_IngressSource `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"` + // A list of identities that are allowed access through this ingress + // policy. Should be in the format of email address. The email address + // should represent individual user or service account only. + Identities []string `protobuf:"bytes,2,rep,name=identities,proto3" json:"identities,omitempty"` + // Specifies the type of identities that are allowed access from outside the + // perimeter. If left unspecified, then members of `identities` field will + // be allowed access. + IdentityType ServicePerimeterConfig_IdentityType `protobuf:"varint,3,opt,name=identity_type,json=identityType,proto3,enum=mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig_IdentityType" json:"identity_type,omitempty"` +} + +func (x *ServicePerimeterConfig_IngressFrom) Reset() { + *x = ServicePerimeterConfig_IngressFrom{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_IngressFrom) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_IngressFrom) ProtoMessage() {} + +func (x *ServicePerimeterConfig_IngressFrom) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_IngressFrom.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_IngressFrom) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 4} +} + +func (x *ServicePerimeterConfig_IngressFrom) GetSources() []*ServicePerimeterConfig_IngressSource { + if x != nil { + return x.Sources + } + return nil +} + +func (x *ServicePerimeterConfig_IngressFrom) GetIdentities() []string { + if x != nil { + return x.Identities + } + return nil +} + +func (x *ServicePerimeterConfig_IngressFrom) GetIdentityType() ServicePerimeterConfig_IdentityType { + if x != nil { + return x.IdentityType + } + return ServicePerimeterConfig_IDENTITY_TYPE_UNSPECIFIED +} + +// Defines the conditions under which an [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// matches a request. Conditions are based on information about the +// [ApiOperation] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] +// intended to be performed on the target resource of the request. The request +// must satisfy what is defined in `operations` AND `resources` in order to +// match. +type ServicePerimeterConfig_IngressTo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of [ApiOperations] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] + // allowed to be performed by the sources specified in corresponding + // [IngressFrom] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom] + // in this [ServicePerimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. + Operations []*ServicePerimeterConfig_ApiOperation `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"` + // A list of resources, currently only projects in the form + // `projects/`, protected by this [ServicePerimeter] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] that are + // allowed to be accessed by sources defined in the corresponding + // [IngressFrom] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom]. + // If a single `*` is specified, then access to all resources inside the + // perimeter are allowed. + Resources []string `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"` +} + +func (x *ServicePerimeterConfig_IngressTo) Reset() { + *x = ServicePerimeterConfig_IngressTo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_IngressTo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_IngressTo) ProtoMessage() {} + +func (x *ServicePerimeterConfig_IngressTo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_IngressTo.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_IngressTo) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 5} +} + +func (x *ServicePerimeterConfig_IngressTo) GetOperations() []*ServicePerimeterConfig_ApiOperation { + if x != nil { + return x.Operations + } + return nil +} + +func (x *ServicePerimeterConfig_IngressTo) GetResources() []string { + if x != nil { + return x.Resources + } + return nil +} + +// Policy for ingress into [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter]. +// +// [IngressPolicies] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// match requests based on `ingress_from` and `ingress_to` stanzas. For an +// ingress policy to match, both the `ingress_from` and `ingress_to` stanzas +// must be matched. If an [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// matches a request, the request is allowed through the perimeter boundary +// from outside the perimeter. +// +// For example, access from the internet can be allowed either +// based on an [AccessLevel] +// [mockgcp.identity.accesscontextmanager.v1.AccessLevel] or, for traffic +// hosted on Google Cloud, the project of the source network. For access from +// private networks, using the project of the hosting network is required. +// +// Individual ingress policies can be limited by restricting which +// services and/or actions they match using the `ingress_to` field. +type ServicePerimeterConfig_IngressPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines the conditions on the source of a request causing this + // [IngressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // to apply. + IngressFrom *ServicePerimeterConfig_IngressFrom `protobuf:"bytes,1,opt,name=ingress_from,json=ingressFrom,proto3" json:"ingress_from,omitempty"` + // Defines the conditions on the [ApiOperation] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] + // and request destination that cause this [IngressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] + // to apply. + IngressTo *ServicePerimeterConfig_IngressTo `protobuf:"bytes,2,opt,name=ingress_to,json=ingressTo,proto3" json:"ingress_to,omitempty"` +} + +func (x *ServicePerimeterConfig_IngressPolicy) Reset() { + *x = ServicePerimeterConfig_IngressPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_IngressPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_IngressPolicy) ProtoMessage() {} + +func (x *ServicePerimeterConfig_IngressPolicy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_IngressPolicy.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_IngressPolicy) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 6} +} + +func (x *ServicePerimeterConfig_IngressPolicy) GetIngressFrom() *ServicePerimeterConfig_IngressFrom { + if x != nil { + return x.IngressFrom + } + return nil +} + +func (x *ServicePerimeterConfig_IngressPolicy) GetIngressTo() *ServicePerimeterConfig_IngressTo { + if x != nil { + return x.IngressTo + } + return nil +} + +// Defines the conditions under which an [EgressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// matches a request. Conditions based on information about the source of the +// request. Note that if the destination of the request is also protected by a +// [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter], then that +// [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] must have +// an [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// which allows access in order for this request to succeed. +type ServicePerimeterConfig_EgressFrom struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of identities that are allowed access through this [EgressPolicy]. + // Should be in the format of email address. The email address should + // represent individual user or service account only. + Identities []string `protobuf:"bytes,1,rep,name=identities,proto3" json:"identities,omitempty"` + // Specifies the type of identities that are allowed access to outside the + // perimeter. If left unspecified, then members of `identities` field will + // be allowed access. + IdentityType ServicePerimeterConfig_IdentityType `protobuf:"varint,2,opt,name=identity_type,json=identityType,proto3,enum=mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig_IdentityType" json:"identity_type,omitempty"` +} + +func (x *ServicePerimeterConfig_EgressFrom) Reset() { + *x = ServicePerimeterConfig_EgressFrom{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_EgressFrom) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_EgressFrom) ProtoMessage() {} + +func (x *ServicePerimeterConfig_EgressFrom) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_EgressFrom.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_EgressFrom) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 7} +} + +func (x *ServicePerimeterConfig_EgressFrom) GetIdentities() []string { + if x != nil { + return x.Identities + } + return nil +} + +func (x *ServicePerimeterConfig_EgressFrom) GetIdentityType() ServicePerimeterConfig_IdentityType { + if x != nil { + return x.IdentityType + } + return ServicePerimeterConfig_IDENTITY_TYPE_UNSPECIFIED +} + +// Defines the conditions under which an [EgressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// matches a request. Conditions are based on information about the +// [ApiOperation] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] +// intended to be performed on the `resources` specified. Note that if the +// destination of the request is also protected by a [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter], then that +// [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] must have +// an [IngressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] +// which allows access in order for this request to succeed. The request must +// match `operations` AND `resources` fields in order to be allowed egress out +// of the perimeter. +type ServicePerimeterConfig_EgressTo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of resources, currently only projects in the form + // `projects/`, that are allowed to be accessed by sources + // defined in the corresponding [EgressFrom] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom]. + // A request matches if it contains a resource in this list. If `*` is + // specified for `resources`, then this [EgressTo] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo] + // rule will authorize access to all resources outside the perimeter. + Resources []string `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"` + // A list of [ApiOperations] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] + // allowed to be performed by the sources specified in the corresponding + // [EgressFrom] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom]. + // A request matches if it uses an operation/service in this list. + Operations []*ServicePerimeterConfig_ApiOperation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"` + // A list of external resources that are allowed to be accessed. Only AWS + // and Azure resources are supported. For Amazon S3, the supported format is + // s3://BUCKET_NAME. For Azure Storage, the supported format is + // azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A request matches + // if it contains an external resource in this list (Example: + // s3://bucket/path). Currently '*' is not allowed. + ExternalResources []string `protobuf:"bytes,3,rep,name=external_resources,json=externalResources,proto3" json:"external_resources,omitempty"` +} + +func (x *ServicePerimeterConfig_EgressTo) Reset() { + *x = ServicePerimeterConfig_EgressTo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_EgressTo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_EgressTo) ProtoMessage() {} + +func (x *ServicePerimeterConfig_EgressTo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_EgressTo.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_EgressTo) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 8} +} + +func (x *ServicePerimeterConfig_EgressTo) GetResources() []string { + if x != nil { + return x.Resources + } + return nil +} + +func (x *ServicePerimeterConfig_EgressTo) GetOperations() []*ServicePerimeterConfig_ApiOperation { + if x != nil { + return x.Operations + } + return nil +} + +func (x *ServicePerimeterConfig_EgressTo) GetExternalResources() []string { + if x != nil { + return x.ExternalResources + } + return nil +} + +// Policy for egress from perimeter. +// +// [EgressPolicies] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// match requests based on `egress_from` and `egress_to` stanzas. For an +// [EgressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// to match, both `egress_from` and `egress_to` stanzas must be matched. If an +// [EgressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// matches a request, the request is allowed to span the [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] boundary. +// For example, an [EgressPolicy] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// can be used to allow VMs on networks within the [ServicePerimeter] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeter] to access a +// defined set of projects outside the perimeter in certain contexts (e.g. to +// read data from a Cloud Storage bucket or query against a BigQuery dataset). +// +// [EgressPolicies] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] +// are concerned with the *resources* that a request relates as well as the +// API services and API actions being used. They do not related to the +// direction of data movement. More detailed documentation for this concept +// can be found in the descriptions of [EgressFrom] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom] +// and [EgressTo] +// [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo]. +type ServicePerimeterConfig_EgressPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines conditions on the source of a request causing this [EgressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] + // to apply. + EgressFrom *ServicePerimeterConfig_EgressFrom `protobuf:"bytes,1,opt,name=egress_from,json=egressFrom,proto3" json:"egress_from,omitempty"` + // Defines the conditions on the [ApiOperation] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation] + // and destination resources that cause this [EgressPolicy] + // [mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] + // to apply. + EgressTo *ServicePerimeterConfig_EgressTo `protobuf:"bytes,2,opt,name=egress_to,json=egressTo,proto3" json:"egress_to,omitempty"` +} + +func (x *ServicePerimeterConfig_EgressPolicy) Reset() { + *x = ServicePerimeterConfig_EgressPolicy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServicePerimeterConfig_EgressPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServicePerimeterConfig_EgressPolicy) ProtoMessage() {} + +func (x *ServicePerimeterConfig_EgressPolicy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_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 ServicePerimeterConfig_EgressPolicy.ProtoReflect.Descriptor instead. +func (*ServicePerimeterConfig_EgressPolicy) Descriptor() ([]byte, []int) { + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP(), []int{1, 9} +} + +func (x *ServicePerimeterConfig_EgressPolicy) GetEgressFrom() *ServicePerimeterConfig_EgressFrom { + if x != nil { + return x.EgressFrom + } + return nil +} + +func (x *ServicePerimeterConfig_EgressPolicy) GetEgressTo() *ServicePerimeterConfig_EgressTo { + if x != nil { + return x.EgressTo + } + return nil +} + +var File_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto protoreflect.FileDescriptor + +var file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDesc = []byte{ + 0x0a, 0x40, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x28, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 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, 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, 0x22, 0xfc, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 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, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, + 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, + 0x69, 0x63, 0x69, 0x74, 0x5f, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x45, 0x78, 0x70, 0x6c, + 0x69, 0x63, 0x69, 0x74, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0x46, + 0x0a, 0x0d, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x16, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, + 0x45, 0x52, 0x49, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x52, + 0x49, 0x44, 0x47, 0x45, 0x10, 0x01, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x34, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x12, 0x44, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x7d, 0x22, 0xc1, 0x12, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x17, 0x76, 0x70, 0x63, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x70, 0x63, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x52, 0x15, 0x76, 0x70, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x79, 0x0a, 0x10, 0x69, 0x6e, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x0f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x76, 0x0a, 0x0f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x65, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x71, 0x0a, 0x15, 0x56, 0x70, + 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x54, 0x0a, + 0x0e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x18, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x1a, 0xad, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x7a, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x0d, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x1a, 0x8b, 0x02, 0x0a, 0x0b, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x12, 0x68, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x0d, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0c, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, + 0x98, 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x12, 0x6d, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0xeb, 0x01, 0x0a, 0x0d, 0x49, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6f, 0x0a, 0x0c, + 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, + 0x52, 0x0b, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x69, 0x0a, + 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x52, 0x09, 0x69, + 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x1a, 0xa0, 0x01, 0x0a, 0x0a, 0x45, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x72, 0x0a, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x1a, 0xc6, 0x01, 0x0a, 0x08, + 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x69, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x0c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6c, 0x0a, 0x0b, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, + 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x0a, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x12, 0x66, 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, + 0x6f, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x22, 0x6e, 0x0a, 0x0c, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x49, + 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4e, + 0x59, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x41, 0x4e, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, + 0x45, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, 0x42, 0xad, 0x02, 0x0a, 0x2c, + 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x15, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x43, 0x4d, 0xaa, 0x02, 0x27, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x27, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, + 0x2a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescOnce sync.Once + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescData = file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDesc +) + +func file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescGZIP() []byte { + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescOnce.Do(func() { + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescData) + }) + return file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDescData +} + +var file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_goTypes = []interface{}{ + (ServicePerimeter_PerimeterType)(0), // 0: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType + (ServicePerimeterConfig_IdentityType)(0), // 1: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IdentityType + (*ServicePerimeter)(nil), // 2: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter + (*ServicePerimeterConfig)(nil), // 3: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig + (*ServicePerimeterConfig_VpcAccessibleServices)(nil), // 4: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices + (*ServicePerimeterConfig_MethodSelector)(nil), // 5: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector + (*ServicePerimeterConfig_ApiOperation)(nil), // 6: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation + (*ServicePerimeterConfig_IngressSource)(nil), // 7: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource + (*ServicePerimeterConfig_IngressFrom)(nil), // 8: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom + (*ServicePerimeterConfig_IngressTo)(nil), // 9: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressTo + (*ServicePerimeterConfig_IngressPolicy)(nil), // 10: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy + (*ServicePerimeterConfig_EgressFrom)(nil), // 11: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom + (*ServicePerimeterConfig_EgressTo)(nil), // 12: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo + (*ServicePerimeterConfig_EgressPolicy)(nil), // 13: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy + (*timestamp.Timestamp)(nil), // 14: google.protobuf.Timestamp +} +var file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_depIdxs = []int32{ + 14, // 0: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.create_time:type_name -> google.protobuf.Timestamp + 14, // 1: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.update_time:type_name -> google.protobuf.Timestamp + 0, // 2: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.perimeter_type:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType + 3, // 3: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.status:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig + 3, // 4: mockgcp.identity.accesscontextmanager.v1.ServicePerimeter.spec:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig + 4, // 5: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.vpc_accessible_services:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices + 10, // 6: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ingress_policies:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy + 13, // 7: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.egress_policies:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy + 5, // 8: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation.method_selectors:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.MethodSelector + 7, // 9: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom.sources:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressSource + 1, // 10: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom.identity_type:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IdentityType + 6, // 11: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressTo.operations:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation + 8, // 12: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy.ingress_from:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressFrom + 9, // 13: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy.ingress_to:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressTo + 1, // 14: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom.identity_type:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.IdentityType + 6, // 15: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo.operations:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.ApiOperation + 11, // 16: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy.egress_from:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressFrom + 12, // 17: mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy.egress_to:type_name -> mockgcp.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressTo + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_init() } +func file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_init() { + if File_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_VpcAccessibleServices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_MethodSelector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_ApiOperation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_IngressSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_IngressFrom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_IngressTo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_IngressPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_EgressFrom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_EgressTo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServicePerimeterConfig_EgressPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*ServicePerimeterConfig_MethodSelector_Method)(nil), + (*ServicePerimeterConfig_MethodSelector_Permission)(nil), + } + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*ServicePerimeterConfig_IngressSource_AccessLevel)(nil), + (*ServicePerimeterConfig_IngressSource_Resource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDesc, + NumEnums: 2, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_goTypes, + DependencyIndexes: file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_depIdxs, + EnumInfos: file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_enumTypes, + MessageInfos: file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_msgTypes, + }.Build() + File_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto = out.File + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_rawDesc = nil + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_goTypes = nil + file_mockgcp_identity_accesscontextmanager_v1_service_perimeter_proto_depIdxs = nil +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index 047c5e577c..8f05c4d009 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -32,6 +32,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockaccesscontextmanager" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockaiplatform" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockapikeys" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockbilling" @@ -92,6 +93,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, resourcemanagerService) services = append(services, mockaiplatform.New(env, storage)) + services = append(services, mockaccesscontextmanager.New(env, storage)) services = append(services, mockapikeys.New(env, storage)) services = append(services, mockbilling.New(env, storage)) services = append(services, mockcertificatemanager.New(env, storage)) diff --git a/mockgcp/mockaccesscontextmanager/accesslevel.go b/mockgcp/mockaccesscontextmanager/accesslevel.go new file mode 100644 index 0000000000..67eda10580 --- /dev/null +++ b/mockgcp/mockaccesscontextmanager/accesslevel.go @@ -0,0 +1,115 @@ +// Copyright 2024 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. +package mockaccesscontextmanager + +import ( + "context" + + "google.golang.org/protobuf/proto" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1" + "google.golang.org/genproto/googleapis/longrunning" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type AccessContextManagerV1 struct { + *MockService + pb.UnimplementedAccessContextManagerServer +} + +func (s *AccessContextManagerV1) GetAccessLevel(ctx context.Context, req *pb.GetAccessLevelRequest) (*pb.AccessLevel, error) { + name, err := s.parseAccessLevelName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.AccessLevel{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *AccessContextManagerV1) CreateAccessLevel(ctx context.Context, req *pb.CreateAccessLevelRequest) (*longrunning.Operation, error) { + reqName := req.GetAccessLevel().Name + name, err := s.parseAccessLevelName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := proto.Clone(req.AccessLevel).(*pb.AccessLevel) + obj.Name = fqn + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} + +func (s *AccessContextManagerV1) UpdateAccessLevel(ctx context.Context, req *pb.UpdateAccessLevelRequest) (*longrunning.Operation, error) { + reqName := req.GetAccessLevel().GetName() + + name, err := s.parseAccessLevelName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + obj := &pb.AccessLevel{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + // Required. A list of fields to be updated in this request. + paths := req.GetUpdateMask().GetPaths() + + // TODO: Some sort of helper for fieldmask? + for _, path := range paths { + switch path { + case "title": + obj.Title = req.GetAccessLevel().GetTitle() + default: + return nil, status.Errorf(codes.InvalidArgument, "update_mask path %q not valid", path) + } + } + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} + +func (s *AccessContextManagerV1) DeleteAccessLevel(ctx context.Context, req *pb.DeleteAccessLevelRequest) (*longrunning.Operation, error) { + name, err := s.parseAccessLevelName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + oldObj := &pb.AccessLevel{} + if err := s.storage.Delete(ctx, fqn, oldObj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} diff --git a/mockgcp/mockaccesscontextmanager/names.go b/mockgcp/mockaccesscontextmanager/names.go new file mode 100644 index 0000000000..105a16295e --- /dev/null +++ b/mockgcp/mockaccesscontextmanager/names.go @@ -0,0 +1,75 @@ +// Copyright 2024 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. + +package mockaccesscontextmanager + +import ( + "strings" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type accessLevelName struct { + AccessPolicyName string + AccessLevelName string +} + +type servicePerimeterName struct { + Project *projects.ProjectData + AccessPolicyName string + ServicePerimeterName string +} + +func (n *accessLevelName) String() string { + return "accessPolicies/" + n.AccessPolicyName + "/accessLevels/" + n.AccessLevelName +} + +func (n *servicePerimeterName) String() string { + return "accessPolicies/" + n.AccessPolicyName + "/servicePerimeters/" + n.ServicePerimeterName +} + +// parseAccessLevelName parses a string into a accessLevelName. +// The expected form is accessPolicies//accessLevels/ +func (s *MockService) parseAccessLevelName(name string) (*accessLevelName, error) { + tokens := strings.Split(name, "/") + + if len(tokens) == 4 && tokens[0] == "accessPolicies" && tokens[2] == "accessLevels" { + name := &accessLevelName{ + AccessPolicyName: tokens[1], + AccessLevelName: tokens[3], + } + return name, nil + } else { + return nil, status.Errorf(codes.InvalidArgument, "name %q is not valid", name) + } +} + +// parseAccessLevelName parses a string into a accessLevelName. +// The expected form is accessPolicies//accessLevels/ +func (s *MockService) parseServicePerimeterName(name string) (*servicePerimeterName, error) { + tokens := strings.Split(name, "/") + + if len(tokens) == 4 && tokens[0] == "accessPolicies" && tokens[2] == "servicePerimeters" { + name := &servicePerimeterName{ + AccessPolicyName: tokens[1], + ServicePerimeterName: tokens[3], + } + return name, nil + } else { + return nil, status.Errorf(codes.InvalidArgument, "name %q is not valid", name) + } +} diff --git a/mockgcp/mockaccesscontextmanager/service.go b/mockgcp/mockaccesscontextmanager/service.go new file mode 100644 index 0000000000..c0a8b98ed2 --- /dev/null +++ b/mockgcp/mockaccesscontextmanager/service.go @@ -0,0 +1,67 @@ +// Copyright 2024 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. +package mockaccesscontextmanager + +import ( + "context" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "google.golang.org/grpc" + "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/operations" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +// MockService represents a mocked privateca service. +type MockService struct { + kube client.Client + storage storage.Storage + + operations *operations.Operations + + v1 *AccessContextManagerV1 +} + +// New creates a MockService. +func New(env *common.MockEnvironment, storage storage.Storage) *MockService { + s := &MockService{ + kube: env.GetKubeClient(), + storage: storage, + operations: operations.NewOperationsService(storage), + } + s.v1 = &AccessContextManagerV1{MockService: s} + return s +} + +func (s *MockService) ExpectedHost() string { + return "accesscontextmanager.googleapis.com" +} + +func (s *MockService) Register(grpcServer *grpc.Server) { + pb.RegisterAccessContextManagerServer(grpcServer, s.v1) +} + +func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { + mux := runtime.NewServeMux() + + if err := pb.RegisterAccessContextManagerHandler(ctx, mux, conn); err != nil { + return nil, err + } + + return mux, nil +} diff --git a/mockgcp/mockaccesscontextmanager/serviceperimeter.go b/mockgcp/mockaccesscontextmanager/serviceperimeter.go new file mode 100644 index 0000000000..c6830404f3 --- /dev/null +++ b/mockgcp/mockaccesscontextmanager/serviceperimeter.go @@ -0,0 +1,95 @@ +// Copyright 2024 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. +package mockaccesscontextmanager + +import ( + "context" + + "google.golang.org/protobuf/proto" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/identity/accesscontextmanager/v1" + "google.golang.org/genproto/googleapis/longrunning" +) + +func (s *AccessContextManagerV1) GetServicePerimeter(ctx context.Context, req *pb.GetServicePerimeterRequest) (*pb.ServicePerimeter, error) { + name, err := s.parseServicePerimeterName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.ServicePerimeter{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *AccessContextManagerV1) CreateServicePerimeter(ctx context.Context, req *pb.CreateServicePerimeterRequest) (*longrunning.Operation, error) { + reqName := req.GetServicePerimeter().Name + name, err := s.parseServicePerimeterName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := proto.Clone(req.ServicePerimeter).(*pb.ServicePerimeter) + obj.Name = fqn + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} + +func (s *AccessContextManagerV1) UpdateServicePerimeter(ctx context.Context, req *pb.UpdateServicePerimeterRequest) (*longrunning.Operation, error) { + reqName := req.GetServicePerimeter().GetName() + + name, err := s.parseServicePerimeterName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + obj := &pb.ServicePerimeter{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} + +func (s *AccessContextManagerV1) DeleteServicePerimeter(ctx context.Context, req *pb.DeleteServicePerimeterRequest) (*longrunning.Operation, error) { + name, err := s.parseServicePerimeterName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + oldObj := &pb.ServicePerimeter{} + if err := s.storage.Delete(ctx, fqn, oldObj); err != nil { + return nil, err + } + + return s.operations.NewLRO(ctx) +} diff --git a/mockgcp/pkg/storage/memory.go b/mockgcp/pkg/storage/memory.go index 2d909837a4..939996c7e0 100644 --- a/mockgcp/pkg/storage/memory.go +++ b/mockgcp/pkg/storage/memory.go @@ -19,6 +19,9 @@ import ( "strings" "sync" + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/runtime/schema" + "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" diff --git a/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeter/dependencies.yaml b/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeter/dependencies.yaml index 46a892a106..f6e9703643 100644 --- a/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeter/dependencies.yaml +++ b/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeter/dependencies.yaml @@ -15,16 +15,11 @@ apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1 kind: Project metadata: - annotations: - cnrm.cloud.google.com/deletion-policy: "abandon" name: project-${uniqueId} spec: - resourceID: ${TEST_DEPENDENT_FOLDER_PROJECT_ID} - name: "Dependent Project" - folderRef: - external: ${TEST_FOLDER_ID} - billingAccountRef: - external: ${TEST_BILLING_ACCOUNT_ID} + organizationRef: + external: "${TEST_ORG_ID}" + name: "project-${uniqueId}" --- apiVersion: accesscontextmanager.cnrm.cloud.google.com/v1beta1 kind: AccessContextManagerAccessLevel diff --git a/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeterresource/dependencies.yaml b/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeterresource/dependencies.yaml index 7ff185726b..447477bfaa 100644 --- a/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeterresource/dependencies.yaml +++ b/pkg/test/resourcefixture/testdata/basic/accesscontextmanager/v1beta1/accesscontextmanagerserviceperimeterresource/dependencies.yaml @@ -15,13 +15,8 @@ apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1 kind: Project metadata: - annotations: - cnrm.cloud.google.com/deletion-policy: "abandon" name: project-${uniqueId} spec: - resourceID: ${TEST_DEPENDENT_FOLDER_PROJECT_ID} - name: "Dependent Project" - folderRef: - external: ${TEST_FOLDER_ID} - billingAccountRef: - external: ${TEST_BILLING_ACCOUNT_ID} + organizationRef: + external: "${TEST_ORG_ID}" + name: "project-${uniqueId}" diff --git a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesslevel.md b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesslevel.md index 8de81ba2ff..d4b2e8e0d9 100644 --- a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesslevel.md +++ b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesslevel.md @@ -743,7 +743,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: accesslevelsample spec: accessPolicyRef: diff --git a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesspolicy.md b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesspolicy.md index 1e89b70235..6882c2d545 100644 --- a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesspolicy.md +++ b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanageraccesspolicy.md @@ -257,7 +257,7 @@ kind: AccessContextManagerAccessPolicy metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: accesspolicysample spec: title: Config Connector Sample diff --git a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanagerserviceperimeter.md b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanagerserviceperimeter.md index 8c951c7e12..435d5582f1 100644 --- a/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanagerserviceperimeter.md +++ b/scripts/generate-google3-docs/resource-reference/generated/resource-docs/accesscontextmanager/accesscontextmanagerserviceperimeter.md @@ -2227,7 +2227,8 @@ spec: egressPolicies: - egressFrom: identities: - - name: serviceperimeterengressdep + - serviceAccountRef: + name: serviceperimeterengressdep - egressTo: resources: - projectRef: @@ -2235,7 +2236,8 @@ spec: ingressPolicies: - ingressFrom: identities: - - name: serviceperimeteringressdep + - serviceAccountRef: + name: serviceperimeteringressdep sources: - accessLevelRef: name: serviceperimeterdep2 @@ -2280,7 +2282,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterdep1 spec: accessPolicyRef: @@ -2297,7 +2299,7 @@ kind: AccessContextManagerAccessLevel metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterdep2 spec: accessPolicyRef: @@ -2314,7 +2316,7 @@ kind: IAMServiceAccount metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeterengressdep --- apiVersion: iam.cnrm.cloud.google.com/v1beta1 @@ -2322,7 +2324,7 @@ kind: IAMServiceAccount metadata: annotations: # Replace "${ORG_ID?}" with the numeric ID for your organization - cnrm.cloud.google.com/organization-id: "${ORG_ID}" + cnrm.cloud.google.com/organization-id: "${ORG_ID?}" name: serviceperimeteringressdep ```