From 98771616c0f3f78c4946637a025bf0d57775ec4b Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Tue, 28 May 2024 18:15:04 +0000 Subject: [PATCH 1/7] feat: add ids mockgcp Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- mockgcp/Makefile | 3 +- .../generated/mockgcp/cloud/ids/v1/ids.pb.go | 1147 +++++++++++++++++ .../mockgcp/cloud/ids/v1/ids.pb.gw.go | 568 ++++++++ .../mockgcp/cloud/ids/v1/ids_grpc.pb.go | 222 ++++ mockgcp/mock_http_roundtrip.go | 2 + mockgcp/mockids/endpoint.go | 117 ++ mockgcp/mockids/names.go | 58 + mockgcp/mockids/service.go | 66 + 8 files changed, 2182 insertions(+), 1 deletion(-) create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go create mode 100644 mockgcp/mockids/endpoint.go create mode 100644 mockgcp/mockids/names.go create mode 100644 mockgcp/mockids/service.go diff --git a/mockgcp/Makefile b/mockgcp/Makefile index ad5970ffbc..c72b239a9d 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -69,7 +69,8 @@ gen-proto: ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/configmanagement/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/metering/*.proto \ - ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto + ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto \ + ./third_party/googleapis/mockgcp/cloud/ids/v1/*.proto .PHONY: generate-protos-from-openapi generate-protos-from-openapi: diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go new file mode 100644 index 0000000000..536d87e910 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go @@ -0,0 +1,1147 @@ +// 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/ids/v1/ids.proto + +package idspb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + 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) +) + +// Threat severity levels. +type Endpoint_Severity int32 + +const ( + // Not set. + Endpoint_SEVERITY_UNSPECIFIED Endpoint_Severity = 0 + // Informational alerts. + Endpoint_INFORMATIONAL Endpoint_Severity = 1 + // Low severity alerts. + Endpoint_LOW Endpoint_Severity = 2 + // Medium severity alerts. + Endpoint_MEDIUM Endpoint_Severity = 3 + // High severity alerts. + Endpoint_HIGH Endpoint_Severity = 4 + // Critical severity alerts. + Endpoint_CRITICAL Endpoint_Severity = 5 +) + +// Enum value maps for Endpoint_Severity. +var ( + Endpoint_Severity_name = map[int32]string{ + 0: "SEVERITY_UNSPECIFIED", + 1: "INFORMATIONAL", + 2: "LOW", + 3: "MEDIUM", + 4: "HIGH", + 5: "CRITICAL", + } + Endpoint_Severity_value = map[string]int32{ + "SEVERITY_UNSPECIFIED": 0, + "INFORMATIONAL": 1, + "LOW": 2, + "MEDIUM": 3, + "HIGH": 4, + "CRITICAL": 5, + } +) + +func (x Endpoint_Severity) Enum() *Endpoint_Severity { + p := new(Endpoint_Severity) + *p = x + return p +} + +func (x Endpoint_Severity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Endpoint_Severity) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[0].Descriptor() +} + +func (Endpoint_Severity) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[0] +} + +func (x Endpoint_Severity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Endpoint_Severity.Descriptor instead. +func (Endpoint_Severity) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0, 0} +} + +// Endpoint state +type Endpoint_State int32 + +const ( + // Not set. + Endpoint_STATE_UNSPECIFIED Endpoint_State = 0 + // Being created. + Endpoint_CREATING Endpoint_State = 1 + // Active and ready for traffic. + Endpoint_READY Endpoint_State = 2 + // Being deleted. + Endpoint_DELETING Endpoint_State = 3 +) + +// Enum value maps for Endpoint_State. +var ( + Endpoint_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CREATING", + 2: "READY", + 3: "DELETING", + } + Endpoint_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "READY": 2, + "DELETING": 3, + } +) + +func (x Endpoint_State) Enum() *Endpoint_State { + p := new(Endpoint_State) + *p = x + return p +} + +func (x Endpoint_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Endpoint_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[1].Descriptor() +} + +func (Endpoint_State) Type() protoreflect.EnumType { + return &file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[1] +} + +func (x Endpoint_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Endpoint_State.Descriptor instead. +func (Endpoint_State) EnumDescriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0, 1} +} + +// Endpoint describes a single IDS endpoint. It defines a forwarding rule to +// which packets can be sent for IDS inspection. +type Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the endpoint. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The create time timestamp. + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The update time timestamp. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels of the endpoint. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. The fully qualified URL of the network to which the IDS Endpoint is + // attached. + Network string `protobuf:"bytes,5,opt,name=network,proto3" json:"network,omitempty"` + // Output only. The fully qualified URL of the endpoint's ILB Forwarding Rule. + EndpointForwardingRule string `protobuf:"bytes,6,opt,name=endpoint_forwarding_rule,json=endpointForwardingRule,proto3" json:"endpoint_forwarding_rule,omitempty"` + // Output only. The IP address of the IDS Endpoint's ILB. + EndpointIp string `protobuf:"bytes,7,opt,name=endpoint_ip,json=endpointIp,proto3" json:"endpoint_ip,omitempty"` + // User-provided description of the endpoint + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + // Required. Lowest threat severity that this endpoint will alert on. + Severity Endpoint_Severity `protobuf:"varint,9,opt,name=severity,proto3,enum=mockgcp.cloud.ids.v1.Endpoint_Severity" json:"severity,omitempty"` + // Output only. Current state of the endpoint. + State Endpoint_State `protobuf:"varint,12,opt,name=state,proto3,enum=mockgcp.cloud.ids.v1.Endpoint_State" json:"state,omitempty"` + // Whether the endpoint should report traffic logs in addition to threat logs. + TrafficLogs bool `protobuf:"varint,13,opt,name=traffic_logs,json=trafficLogs,proto3" json:"traffic_logs,omitempty"` +} + +func (x *Endpoint) Reset() { + *x = Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint) ProtoMessage() {} + +func (x *Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 Endpoint.ProtoReflect.Descriptor instead. +func (*Endpoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0} +} + +func (x *Endpoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Endpoint) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Endpoint) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Endpoint) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Endpoint) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *Endpoint) GetEndpointForwardingRule() string { + if x != nil { + return x.EndpointForwardingRule + } + return "" +} + +func (x *Endpoint) GetEndpointIp() string { + if x != nil { + return x.EndpointIp + } + return "" +} + +func (x *Endpoint) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Endpoint) GetSeverity() Endpoint_Severity { + if x != nil { + return x.Severity + } + return Endpoint_SEVERITY_UNSPECIFIED +} + +func (x *Endpoint) GetState() Endpoint_State { + if x != nil { + return x.State + } + return Endpoint_STATE_UNSPECIFIED +} + +func (x *Endpoint) GetTrafficLogs() bool { + if x != nil { + return x.TrafficLogs + } + return false +} + +type ListEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent, which owns this collection of endpoints. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of endpoints to return. The service may return fewer + // than this value. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous `ListEndpoints` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListEndpoints` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. The filter expression, following the syntax outlined in + // https://google.aip.dev/160. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. One or more fields to compare and use to sort the output. + // See https://google.aip.dev/132#ordering. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEndpointsRequest) Reset() { + *x = ListEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEndpointsRequest) ProtoMessage() {} + +func (x *ListEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 ListEndpointsRequest.ProtoReflect.Descriptor instead. +func (*ListEndpointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{1} +} + +func (x *ListEndpointsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEndpointsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEndpointsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEndpointsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEndpointsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +type ListEndpointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of endpoints response. + Endpoints []*Endpoint `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListEndpointsResponse) Reset() { + *x = ListEndpointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEndpointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEndpointsResponse) ProtoMessage() {} + +func (x *ListEndpointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 ListEndpointsResponse.ProtoReflect.Descriptor instead. +func (*ListEndpointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{2} +} + +func (x *ListEndpointsResponse) GetEndpoints() []*Endpoint { + if x != nil { + return x.Endpoints + } + return nil +} + +func (x *ListEndpointsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListEndpointsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +type GetEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the endpoint to retrieve. + // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEndpointRequest) Reset() { + *x = GetEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEndpointRequest) ProtoMessage() {} + +func (x *GetEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 GetEndpointRequest.ProtoReflect.Descriptor instead. +func (*GetEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{3} +} + +func (x *GetEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type CreateEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The endpoint's parent. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The endpoint identifier. This will be part of the endpoint's + // resource name. + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + // Values that do not match this pattern will trigger an INVALID_ARGUMENT + // error. + EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` + // Required. The endpoint to create. + Endpoint *Endpoint `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateEndpointRequest) Reset() { + *x = CreateEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEndpointRequest) ProtoMessage() {} + +func (x *CreateEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 CreateEndpointRequest.ProtoReflect.Descriptor instead. +func (*CreateEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateEndpointRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEndpointRequest) GetEndpointId() string { + if x != nil { + return x.EndpointId + } + return "" +} + +func (x *CreateEndpointRequest) GetEndpoint() *Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +func (x *CreateEndpointRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type DeleteEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the endpoint to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteEndpointRequest) Reset() { + *x = DeleteEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEndpointRequest) ProtoMessage() {} + +func (x *DeleteEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 DeleteEndpointRequest.ProtoReflect.Descriptor instead. +func (*DeleteEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteEndpointRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEndpointRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Represents the metadata of the long-running operation. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Server-defined resource path for the target of the operation. + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // Output only. Name of the verb executed by the operation. + Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have successfully been cancelled + // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`. + RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` + // Output only. API version used to start the operation. + ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_ids_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 OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{6} +} + +func (x *OperationMetadata) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +var File_mockgcp_cloud_ids_v1_ids_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_ids_v1_ids_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x69, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x14, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x69, 0x64, 0x73, 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, 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, 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, + 0x87, 0x07, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3d, 0x0a, 0x18, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, + 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x6f, 0x67, + 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x08, + 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, + 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, + 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, + 0x47, 0x48, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, + 0x10, 0x05, 0x22, 0x45, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1b, + 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x12, 0x1b, 0x69, 0x64, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, + 0x0a, 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x12, 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x3f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x22, 0x6f, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, + 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, + 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb8, 0x06, 0x0a, 0x03, 0x49, 0x44, + 0x53, 0x12, 0xa8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x95, 0x01, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, + 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x2d, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x08, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, + 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x46, 0xca, 0x41, + 0x12, 0x69, 0x64, 0x73, 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, 0x6a, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x42, 0x08, 0x49, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x69, 0x64, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, 0x70, + 0x62, 0x3b, 0x69, 0x64, 0x73, 0x70, 0x62, 0xea, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x49, 0x44, 0x53, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_cloud_ids_v1_ids_proto_rawDescOnce sync.Once + file_mockgcp_cloud_ids_v1_ids_proto_rawDescData = file_mockgcp_cloud_ids_v1_ids_proto_rawDesc +) + +func file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_ids_v1_ids_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_ids_v1_ids_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_ids_v1_ids_proto_rawDescData) + }) + return file_mockgcp_cloud_ids_v1_ids_proto_rawDescData +} + +var file_mockgcp_cloud_ids_v1_ids_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgcp_cloud_ids_v1_ids_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_mockgcp_cloud_ids_v1_ids_proto_goTypes = []interface{}{ + (Endpoint_Severity)(0), // 0: mockgcp.cloud.ids.v1.Endpoint.Severity + (Endpoint_State)(0), // 1: mockgcp.cloud.ids.v1.Endpoint.State + (*Endpoint)(nil), // 2: mockgcp.cloud.ids.v1.Endpoint + (*ListEndpointsRequest)(nil), // 3: mockgcp.cloud.ids.v1.ListEndpointsRequest + (*ListEndpointsResponse)(nil), // 4: mockgcp.cloud.ids.v1.ListEndpointsResponse + (*GetEndpointRequest)(nil), // 5: mockgcp.cloud.ids.v1.GetEndpointRequest + (*CreateEndpointRequest)(nil), // 6: mockgcp.cloud.ids.v1.CreateEndpointRequest + (*DeleteEndpointRequest)(nil), // 7: mockgcp.cloud.ids.v1.DeleteEndpointRequest + (*OperationMetadata)(nil), // 8: mockgcp.cloud.ids.v1.OperationMetadata + nil, // 9: mockgcp.cloud.ids.v1.Endpoint.LabelsEntry + (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp + (*longrunningpb.Operation)(nil), // 11: google.longrunning.Operation +} +var file_mockgcp_cloud_ids_v1_ids_proto_depIdxs = []int32{ + 10, // 0: mockgcp.cloud.ids.v1.Endpoint.create_time:type_name -> google.protobuf.Timestamp + 10, // 1: mockgcp.cloud.ids.v1.Endpoint.update_time:type_name -> google.protobuf.Timestamp + 9, // 2: mockgcp.cloud.ids.v1.Endpoint.labels:type_name -> mockgcp.cloud.ids.v1.Endpoint.LabelsEntry + 0, // 3: mockgcp.cloud.ids.v1.Endpoint.severity:type_name -> mockgcp.cloud.ids.v1.Endpoint.Severity + 1, // 4: mockgcp.cloud.ids.v1.Endpoint.state:type_name -> mockgcp.cloud.ids.v1.Endpoint.State + 2, // 5: mockgcp.cloud.ids.v1.ListEndpointsResponse.endpoints:type_name -> mockgcp.cloud.ids.v1.Endpoint + 2, // 6: mockgcp.cloud.ids.v1.CreateEndpointRequest.endpoint:type_name -> mockgcp.cloud.ids.v1.Endpoint + 10, // 7: mockgcp.cloud.ids.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 10, // 8: mockgcp.cloud.ids.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 3, // 9: mockgcp.cloud.ids.v1.IDS.ListEndpoints:input_type -> mockgcp.cloud.ids.v1.ListEndpointsRequest + 5, // 10: mockgcp.cloud.ids.v1.IDS.GetEndpoint:input_type -> mockgcp.cloud.ids.v1.GetEndpointRequest + 6, // 11: mockgcp.cloud.ids.v1.IDS.CreateEndpoint:input_type -> mockgcp.cloud.ids.v1.CreateEndpointRequest + 7, // 12: mockgcp.cloud.ids.v1.IDS.DeleteEndpoint:input_type -> mockgcp.cloud.ids.v1.DeleteEndpointRequest + 4, // 13: mockgcp.cloud.ids.v1.IDS.ListEndpoints:output_type -> mockgcp.cloud.ids.v1.ListEndpointsResponse + 2, // 14: mockgcp.cloud.ids.v1.IDS.GetEndpoint:output_type -> mockgcp.cloud.ids.v1.Endpoint + 11, // 15: mockgcp.cloud.ids.v1.IDS.CreateEndpoint:output_type -> google.longrunning.Operation + 11, // 16: mockgcp.cloud.ids.v1.IDS.DeleteEndpoint:output_type -> google.longrunning.Operation + 13, // [13:17] is the sub-list for method output_type + 9, // [9:13] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_ids_v1_ids_proto_init() } +func file_mockgcp_cloud_ids_v1_ids_proto_init() { + if File_mockgcp_cloud_ids_v1_ids_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEndpointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationMetadata); 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_cloud_ids_v1_ids_proto_rawDesc, + NumEnums: 2, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgcp_cloud_ids_v1_ids_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_ids_v1_ids_proto_depIdxs, + EnumInfos: file_mockgcp_cloud_ids_v1_ids_proto_enumTypes, + MessageInfos: file_mockgcp_cloud_ids_v1_ids_proto_msgTypes, + }.Build() + File_mockgcp_cloud_ids_v1_ids_proto = out.File + file_mockgcp_cloud_ids_v1_ids_proto_rawDesc = nil + file_mockgcp_cloud_ids_v1_ids_proto_goTypes = nil + file_mockgcp_cloud_ids_v1_ids_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go new file mode 100644 index 0000000000..691c9eda6e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go @@ -0,0 +1,568 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/ids/v1/ids.proto + +/* +Package idspb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package idspb + +import ( + "context" + "io" + "net/http" + + "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_IDS_ListEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_IDS_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEndpointsRequest + 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_IDS_ListEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IDS_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListEndpointsRequest + 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_IDS_ListEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListEndpoints(ctx, &protoReq) + return msg, metadata, err + +} + +func request_IDS_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + 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.GetEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IDS_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetEndpointRequest + 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.GetEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IDS_CreateEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"endpoint": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_IDS_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + 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.Endpoint); 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) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IDS_CreateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IDS_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateEndpointRequest + 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.Endpoint); 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) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IDS_CreateEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_IDS_DeleteEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_IDS_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + 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_IDS_DeleteEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_IDS_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteEndpointRequest + 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_IDS_DeleteEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterIDSHandlerServer registers the http handlers for service IDS to "mux". +// UnaryRPC :call IDSServer 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 RegisterIDSHandlerFromEndpoint instead. +func RegisterIDSHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IDSServer) error { + + mux.Handle("GET", pattern_IDS_ListEndpoints_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.cloud.ids.v1.IDS/ListEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IDS_ListEndpoints_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_IDS_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IDS_GetEndpoint_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.cloud.ids.v1.IDS/GetEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IDS_GetEndpoint_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_IDS_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IDS_CreateEndpoint_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.cloud.ids.v1.IDS/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IDS_CreateEndpoint_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_IDS_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IDS_DeleteEndpoint_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.cloud.ids.v1.IDS/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_IDS_DeleteEndpoint_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_IDS_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterIDSHandlerFromEndpoint is same as RegisterIDSHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterIDSHandlerFromEndpoint(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 RegisterIDSHandler(ctx, mux, conn) +} + +// RegisterIDSHandler registers the http handlers for service IDS to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterIDSHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterIDSHandlerClient(ctx, mux, NewIDSClient(conn)) +} + +// RegisterIDSHandlerClient registers the http handlers for service IDS +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IDSClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IDSClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "IDSClient" to call the correct interceptors. +func RegisterIDSHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IDSClient) error { + + mux.Handle("GET", pattern_IDS_ListEndpoints_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.cloud.ids.v1.IDS/ListEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IDS_ListEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IDS_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_IDS_GetEndpoint_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.cloud.ids.v1.IDS/GetEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IDS_GetEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IDS_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_IDS_CreateEndpoint_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.cloud.ids.v1.IDS/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IDS_CreateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IDS_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_IDS_DeleteEndpoint_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.cloud.ids.v1.IDS/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_IDS_DeleteEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_IDS_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_IDS_ListEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) + + pattern_IDS_GetEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) + + pattern_IDS_CreateEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) + + pattern_IDS_DeleteEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) +) + +var ( + forward_IDS_ListEndpoints_0 = runtime.ForwardResponseMessage + + forward_IDS_GetEndpoint_0 = runtime.ForwardResponseMessage + + forward_IDS_CreateEndpoint_0 = runtime.ForwardResponseMessage + + forward_IDS_DeleteEndpoint_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go new file mode 100644 index 0000000000..fa1b6309a6 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go @@ -0,0 +1,222 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/ids/v1/ids.proto + +package idspb + +import ( + 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 + +// IDSClient is the client API for IDS 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 IDSClient interface { + // Lists Endpoints in a given project and location. + ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) + // Gets details of a single Endpoint. + GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) + // Creates a new Endpoint in a given project and location. + CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single Endpoint. + DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type iDSClient struct { + cc grpc.ClientConnInterface +} + +func NewIDSClient(cc grpc.ClientConnInterface) IDSClient { + return &iDSClient{cc} +} + +func (c *iDSClient) ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) { + out := new(ListEndpointsResponse) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/ListEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iDSClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) { + out := new(Endpoint) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/GetEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iDSClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/CreateEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *iDSClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/DeleteEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// IDSServer is the server API for IDS service. +// All implementations must embed UnimplementedIDSServer +// for forward compatibility +type IDSServer interface { + // Lists Endpoints in a given project and location. + ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) + // Gets details of a single Endpoint. + GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) + // Creates a new Endpoint in a given project and location. + CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) + // Deletes a single Endpoint. + DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedIDSServer() +} + +// UnimplementedIDSServer must be embedded to have forward compatible implementations. +type UnimplementedIDSServer struct { +} + +func (UnimplementedIDSServer) ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEndpoints not implemented") +} +func (UnimplementedIDSServer) GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEndpoint not implemented") +} +func (UnimplementedIDSServer) CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEndpoint not implemented") +} +func (UnimplementedIDSServer) DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEndpoint not implemented") +} +func (UnimplementedIDSServer) mustEmbedUnimplementedIDSServer() {} + +// UnsafeIDSServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to IDSServer will +// result in compilation errors. +type UnsafeIDSServer interface { + mustEmbedUnimplementedIDSServer() +} + +func RegisterIDSServer(s grpc.ServiceRegistrar, srv IDSServer) { + s.RegisterService(&IDS_ServiceDesc, srv) +} + +func _IDS_ListEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEndpointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IDSServer).ListEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.ids.v1.IDS/ListEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IDSServer).ListEndpoints(ctx, req.(*ListEndpointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IDS_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IDSServer).GetEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.ids.v1.IDS/GetEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IDSServer).GetEndpoint(ctx, req.(*GetEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IDS_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IDSServer).CreateEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.ids.v1.IDS/CreateEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IDSServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _IDS_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(IDSServer).DeleteEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgcp.cloud.ids.v1.IDS/DeleteEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(IDSServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// IDS_ServiceDesc is the grpc.ServiceDesc for IDS service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var IDS_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgcp.cloud.ids.v1.IDS", + HandlerType: (*IDSServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListEndpoints", + Handler: _IDS_ListEndpoints_Handler, + }, + { + MethodName: "GetEndpoint", + Handler: _IDS_GetEndpoint_Handler, + }, + { + MethodName: "CreateEndpoint", + Handler: _IDS_CreateEndpoint_Handler, + }, + { + MethodName: "DeleteEndpoint", + Handler: _IDS_DeleteEndpoint_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/ids/v1/ids.proto", +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index b0956d03a5..ad0078cba0 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -49,6 +49,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockgkemulticloud" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockiam" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockkms" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockids" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mocklogging" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockmonitoring" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mocknetworkservices" @@ -144,6 +145,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, mockartifactregistry.New(env, storage)) services = append(services, mockgkehub.New(env, storage)) services = append(services, mockalloydb.New(env, storage)) + services = append(services, mockids.New(env, storage)) for _, service := range services { service.Register(server) diff --git a/mockgcp/mockids/endpoint.go b/mockgcp/mockids/endpoint.go new file mode 100644 index 0000000000..5a79f62281 --- /dev/null +++ b/mockgcp/mockids/endpoint.go @@ -0,0 +1,117 @@ +// 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 mockids + +import ( + "context" + "fmt" + "regexp" + "strings" + + "google.golang.org/genproto/googleapis/longrunning" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/cloud/ids/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +type CloudIDSEndpointV1 struct { + *MockService + pb.UnimplementedIDSServer +} + +func (c *CloudIDSEndpointV1) ListEndpoints(ctx context.Context, request *pb.ListEndpointsRequest) (*pb.ListEndpointsResponse, error) { + project, err := c.Projects.GetProjectByID(request.Parent) + if err != nil { + return nil, err + } + findPrefix := fmt.Sprintf("projects/%v/", project.ID) + endpointKind := (&pb.Endpoint{}).ProtoReflect().Descriptor() + + var endpoints []*pb.Endpoint + if err := c.storage.List(ctx, endpointKind, storage.ListOptions{}, func(obj proto.Message) error { + endpoint := obj.(*pb.Endpoint) + if strings.HasPrefix(endpoint.Name, findPrefix) { + endpoints = append(endpoints, endpoint) + } + + return nil + }); err != nil { + return nil, err + } + + return &pb.ListEndpointsResponse{ + Endpoints: endpoints, + }, nil +} + +func (c *CloudIDSEndpointV1) GetEndpoint(ctx context.Context, request *pb.GetEndpointRequest) (*pb.Endpoint, error) { + endpoint, err := c.parseEndpointName(request.Name) + if err != nil { + return nil, err + } + + fqn := endpoint.String() + obj := &pb.Endpoint{} + if err := c.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (c *CloudIDSEndpointV1) CreateEndpoint(ctx context.Context, request *pb.CreateEndpointRequest) (*longrunning.Operation, error) { + // validate endpoint id: + // This value must start with a lowercase letter followed by up to 62 + // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + // Values that do not match this pattern will trigger an INVALID_ARGUMENT + // error. + re := regexp.MustCompile(`^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`) + if !re.MatchString(request.EndpointId) { + return nil, status.Errorf(codes.InvalidArgument, "endpointID %q is malformed", request.EndpointId) + } + + reqName := request.Parent + "/endpoints/" + request.EndpointId + endpoint, err := c.parseEndpointName(reqName) + if err != nil { + return nil, err + } + + fqn := endpoint.String() + obj := proto.Clone(request.Endpoint).(*pb.Endpoint) + if err := c.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return c.operations.NewLRO(ctx) +} + +func (c *CloudIDSEndpointV1) DeleteEndpoint(ctx context.Context, request *pb.DeleteEndpointRequest) (*longrunning.Operation, error) { + endpoint, err := c.parseEndpointName(request.Name) + if err != nil { + return nil, err + } + + fqn := endpoint.String() + oldObj := &pb.Endpoint{} + if err := c.storage.Delete(ctx, fqn, oldObj); err != nil { + return nil, err + } + + return c.operations.NewLRO(ctx) + +} diff --git a/mockgcp/mockids/names.go b/mockgcp/mockids/names.go new file mode 100644 index 0000000000..96927cc9fd --- /dev/null +++ b/mockgcp/mockids/names.go @@ -0,0 +1,58 @@ +// 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 mockids + +import ( + "strings" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" +) + +// endpoint is a parsed endpoint name +type endpoint struct { + Project *projects.ProjectData + Location string + Endpoint string +} + +func (e *endpoint) String() string { + return "projects/" + e.Project.ID + "/locations/" + e.Location + "/endpoints/" + e.Endpoint +} + +// parseEndpointName parses a string into a endpoint. +// The expected form is projects//locations//endpoints/ +func (s *MockService) parseEndpointName(name string) (*endpoint, error) { + tokens := strings.Split(name, "/") + + if len(tokens) == 6 && tokens[0] == "projects" && tokens[2] == "locations" && tokens[4] == "features" { + project, err := s.Projects.GetProjectByID(tokens[1]) + if err != nil { + return nil, err + } + + name := &endpoint{ + Project: project, + Location: tokens[3], + Endpoint: tokens[5], + } + + return name, nil + } else { + return nil, status.Errorf(codes.InvalidArgument, "name %q is malformed", name) + } +} diff --git a/mockgcp/mockids/service.go b/mockgcp/mockids/service.go new file mode 100644 index 0000000000..a7e1e220cd --- /dev/null +++ b/mockgcp/mockids/service.go @@ -0,0 +1,66 @@ +// 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 mockids + +import ( + "context" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "google.golang.org/grpc" + + "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/cloud/ids/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +// MockService represents a mocked ids service. +type MockService struct { + *common.MockEnvironment + storage storage.Storage + + operations *operations.Operations + v1 *CloudIDSEndpointV1 +} + +// New creates a MockService. +func New(env *common.MockEnvironment, storage storage.Storage) *MockService { + s := &MockService{ + MockEnvironment: env, + storage: storage, + operations: operations.NewOperationsService(storage), + } + s.v1 = &CloudIDSEndpointV1{MockService: s} + return s +} + +func (s *MockService) ExpectedHost() string { + return "ids.googleapis.com" +} + +func (s *MockService) Register(grpcServer *grpc.Server) { + pb.RegisterIDSServer(grpcServer, s.v1) +} + +func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { + mux := runtime.NewServeMux() + + if err := pb.RegisterIDSHandler(ctx, mux, conn); err != nil { + return nil, err + } + + return mux, nil +} From f871623ac682e40eac4056e2af66348b7e183ca1 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Tue, 28 May 2024 23:30:08 +0000 Subject: [PATCH 2/7] chore: generate cloudids proto from gapi Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- mockgcp/Makefile | 6 +- .../apis/mockgcp/cloud/ids/v1/service.proto | 188 ++++++++++++++++++ 2 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 mockgcp/apis/mockgcp/cloud/ids/v1/service.proto diff --git a/mockgcp/Makefile b/mockgcp/Makefile index c72b239a9d..f2888333e3 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -88,4 +88,8 @@ generate-protos-from-openapi: mkdir -p apis/mockgcp/storage/v1/ cd tools/gapic; go run . --proto-version=2 ../../temp/storage-v1.json > ../../apis/mockgcp/storage/v1/service.proto - rm -r temp \ No newline at end of file + wget -O temp/ids-api-v1.json https://raw.githubusercontent.com/googleapis/google-api-go-client/b49e3b908a8ed562e068736f1c42e992538ba6e0/ids/v1/ids-api.json + mkdir -p apis/mockgcp/cloud/ids/v1/ + cd tools/gapic; go run . --proto-version=2 ../../temp/ids-api-v1.json > ../../apis/mockgcp/cloud/ids/v1/service.proto + + rm -r temp diff --git a/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto new file mode 100644 index 0000000000..a7012af5c2 --- /dev/null +++ b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto @@ -0,0 +1,188 @@ +syntax = "proto2"; +package google.cloud.ids.v1; +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; +option go_package = "cloud.google.com/go/ids/apiv1/idspb;idspb"; +service ProjectsServer { +} +service ProjectsLocationsServer { + rpc GetProjectsLocation(GetProjectsLocationRequest) returns (Location){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc ListProjectsLocations(ListProjectsLocationsRequest) returns (ListLocationsResponse){ + option (google.api.http) = { + get: "/v1/{name=*}/locations" + }; +} +; +} +service ProjectsLocationsEndpointsServer { + rpc CreateProjectsLocationsEndpoint(CreateProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ + option (google.api.http) = { + post: "/v1/{parent=*}/endpoints" + body: "projects_locations_endpoint" + }; +} +; + rpc DeleteProjectsLocationsEndpoint(DeleteProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ + option (google.api.http) = { + delete: "/v1/{name=*}" + }; +} +; + rpc GetProjectsLocationsEndpoint(GetProjectsLocationsEndpointRequest) returns (Endpoint){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc ListProjectsLocationsEndpoints(ListProjectsLocationsEndpointsRequest) returns (ListEndpointsResponse){ + option (google.api.http) = { + get: "/v1/{parent=*}/endpoints" + }; +} +; + rpc PatchProjectsLocationsEndpoint(PatchProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ + option (google.api.http) = { + patch: "/v1/{name=*}" + body: "projects_locations_endpoint" + }; +} +; +} +message AuditConfig { + repeated AuditLogConfig audit_log_configs = 1 [json_name="auditLogConfigs"]; + optional string service = 2 [json_name="service"]; +} +message AuditLogConfig { + repeated string exempted_members = 1 [json_name="exemptedMembers"]; + optional string log_type = 2 [json_name="logType"]; +} +message Binding { + optional Expr condition = 1 [json_name="condition"]; + repeated string members = 2 [json_name="members"]; + optional string role = 3 [json_name="role"]; +} +message CancelOperationRequest { +} +message Empty { +} +message Endpoint { + optional .google.protobuf.Timestamp create_time = 1 [json_name="createTime"]; + optional string description = 2 [json_name="description"]; + optional string endpoint_forwarding_rule = 3 [json_name="endpointForwardingRule"]; + optional string endpoint_ip = 4 [json_name="endpointIp"]; + map labels = 5 [json_name="labels"]; + optional string name = 6 [json_name="name"]; + optional string network = 7 [json_name="network"]; + optional bool satisfies_pzi = 8 [json_name="satisfiesPzi"]; + optional bool satisfies_pzs = 9 [json_name="satisfiesPzs"]; + optional string severity = 10 [json_name="severity"]; + optional string state = 11 [json_name="state"]; + repeated string threat_exceptions = 12 [json_name="threatExceptions"]; + optional bool traffic_logs = 13 [json_name="trafficLogs"]; + optional .google.protobuf.Timestamp update_time = 14 [json_name="updateTime"]; +} +message Expr { + optional string description = 1 [json_name="description"]; + optional string expression = 2 [json_name="expression"]; + optional string location = 3 [json_name="location"]; + optional string title = 4 [json_name="title"]; +} +message ListEndpointsResponse { + repeated Endpoint endpoints = 1 [json_name="endpoints"]; + optional string next_page_token = 2 [json_name="nextPageToken"]; + repeated string unreachable = 3 [json_name="unreachable"]; +} +message ListLocationsResponse { + repeated Location locations = 1 [json_name="locations"]; + optional string next_page_token = 2 [json_name="nextPageToken"]; +} +message ListOperationsResponse { + optional string next_page_token = 1 [json_name="nextPageToken"]; + repeated .google.longrunning.Operation operations = 2 [json_name="operations"]; +} +message Location { + optional string display_name = 1 [json_name="displayName"]; + map labels = 2 [json_name="labels"]; + optional string location_id = 3 [json_name="locationId"]; + map metadata = 4 [json_name="metadata"]; + optional string name = 5 [json_name="name"]; +} +message Operation { + optional bool done = 1 [json_name="done"]; + optional Status error = 2 [json_name="error"]; + map metadata = 3 [json_name="metadata"]; + optional string name = 4 [json_name="name"]; + map response = 5 [json_name="response"]; +} +message OperationMetadata { + optional string api_version = 1 [json_name="apiVersion"]; + optional .google.protobuf.Timestamp create_time = 2 [json_name="createTime"]; + optional .google.protobuf.Timestamp end_time = 3 [json_name="endTime"]; + optional bool requested_cancellation = 4 [json_name="requestedCancellation"]; + optional string status_message = 5 [json_name="statusMessage"]; + optional string target = 6 [json_name="target"]; + optional string verb = 7 [json_name="verb"]; +} +message Policy { + repeated AuditConfig audit_configs = 1 [json_name="auditConfigs"]; + repeated Binding bindings = 2 [json_name="bindings"]; + optional bytes etag = 3 [json_name="etag"]; + optional int32 version = 4 [json_name="version"]; +} +message SetIamPolicyRequest { + optional Policy policy = 1 [json_name="policy"]; + optional string update_mask = 2 [json_name="updateMask"]; +} +message Status { + optional int32 code = 1 [json_name="code"]; + repeated .google.protobuf.Any details = 2 [json_name="details"]; + optional string message = 3 [json_name="message"]; +} +message TestIamPermissionsRequest { + repeated string permissions = 1 [json_name="permissions"]; +} +message TestIamPermissionsResponse { + repeated string permissions = 1 [json_name="permissions"]; +} +message GetProjectsLocationRequest { + optional string name = 1; +} +message ListProjectsLocationsRequest { + optional string filter = 1; + optional string name = 2; + optional int32 page_size = 3; + optional string page_token = 4; +} +message CreateProjectsLocationsEndpointRequest { + optional string endpoint_id = 1; + optional string parent = 2; + optional string request_id = 3; + optional Endpoint projects_locations_endpoint = 4; +} +message DeleteProjectsLocationsEndpointRequest { + optional string name = 1; + optional string request_id = 2; +} +message GetProjectsLocationsEndpointRequest { + optional string name = 1; +} +message ListProjectsLocationsEndpointsRequest { + optional string filter = 1; + optional string order_by = 2; + optional int32 page_size = 3; + optional string page_token = 4; + optional string parent = 5; +} +message PatchProjectsLocationsEndpointRequest { + optional string name = 1; + optional string request_id = 2; + optional string update_mask = 3; + optional Endpoint projects_locations_endpoint = 4; +} From 7b7445423559fdaa6f7c9ead3f4face16a9454a0 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Wed, 29 May 2024 00:05:32 +0000 Subject: [PATCH 3/7] mockgcp:chore: use gapi generated proto for ids Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- mockgcp/Makefile | 4 +- .../apis/mockgcp/cloud/ids/v1/service.proto | 14 + .../generated/mockgcp/cloud/ids/v1/ids.pb.go | 1147 -------- .../mockgcp/cloud/ids/v1/ids.pb.gw.go | 568 ---- .../mockgcp/cloud/ids/v1/ids_grpc.pb.go | 222 -- .../mockgcp/cloud/ids/v1/service.pb.go | 2420 +++++++++++++++++ .../mockgcp/cloud/ids/v1/service.pb.gw.go | 983 +++++++ .../mockgcp/cloud/ids/v1/service_grpc.pb.go | 423 +++ mockgcp/mock_http_roundtrip.go | 4 +- mockgcp/{mockids => mockcloudids}/endpoint.go | 61 +- mockgcp/{mockids => mockcloudids}/names.go | 4 +- mockgcp/{mockids => mockcloudids}/service.go | 6 +- 12 files changed, 3896 insertions(+), 1960 deletions(-) delete mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go delete mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go delete mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/cloud/ids/v1/service_grpc.pb.go rename mockgcp/{mockids => mockcloudids}/endpoint.go (55%) rename mockgcp/{mockids => mockcloudids}/names.go (96%) rename mockgcp/{mockids => mockcloudids}/service.go (90%) diff --git a/mockgcp/Makefile b/mockgcp/Makefile index f2888333e3..8a128e7f2d 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -26,6 +26,7 @@ gen-proto: --grpc-gateway_opt paths=source_relative \ --experimental_allow_proto3_optional \ ./apis/mockgcp/cloud/bigquery/v2/*.proto \ + ./apis/mockgcp/cloud/ids/v1/*.proto \ ./apis/mockgcp/cloud/servicenetworking/v1/*.proto \ ./apis/mockgcp/cloud/resourcemanager/v1/*.proto \ ./apis/mockgcp/storage/v1/*.proto \ @@ -69,8 +70,7 @@ gen-proto: ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/configmanagement/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/metering/*.proto \ - ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto \ - ./third_party/googleapis/mockgcp/cloud/ids/v1/*.proto + ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto .PHONY: generate-protos-from-openapi generate-protos-from-openapi: diff --git a/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto index a7012af5c2..e399047ce1 100644 --- a/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto +++ b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto @@ -1,3 +1,17 @@ +// 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. + syntax = "proto2"; package google.cloud.ids.v1; import "google/api/annotations.proto"; diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go deleted file mode 100644 index 536d87e910..0000000000 --- a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.go +++ /dev/null @@ -1,1147 +0,0 @@ -// 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. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.12.4 -// source: mockgcp/cloud/ids/v1/ids.proto - -package idspb - -import ( - longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" - 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) -) - -// Threat severity levels. -type Endpoint_Severity int32 - -const ( - // Not set. - Endpoint_SEVERITY_UNSPECIFIED Endpoint_Severity = 0 - // Informational alerts. - Endpoint_INFORMATIONAL Endpoint_Severity = 1 - // Low severity alerts. - Endpoint_LOW Endpoint_Severity = 2 - // Medium severity alerts. - Endpoint_MEDIUM Endpoint_Severity = 3 - // High severity alerts. - Endpoint_HIGH Endpoint_Severity = 4 - // Critical severity alerts. - Endpoint_CRITICAL Endpoint_Severity = 5 -) - -// Enum value maps for Endpoint_Severity. -var ( - Endpoint_Severity_name = map[int32]string{ - 0: "SEVERITY_UNSPECIFIED", - 1: "INFORMATIONAL", - 2: "LOW", - 3: "MEDIUM", - 4: "HIGH", - 5: "CRITICAL", - } - Endpoint_Severity_value = map[string]int32{ - "SEVERITY_UNSPECIFIED": 0, - "INFORMATIONAL": 1, - "LOW": 2, - "MEDIUM": 3, - "HIGH": 4, - "CRITICAL": 5, - } -) - -func (x Endpoint_Severity) Enum() *Endpoint_Severity { - p := new(Endpoint_Severity) - *p = x - return p -} - -func (x Endpoint_Severity) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Endpoint_Severity) Descriptor() protoreflect.EnumDescriptor { - return file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[0].Descriptor() -} - -func (Endpoint_Severity) Type() protoreflect.EnumType { - return &file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[0] -} - -func (x Endpoint_Severity) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Endpoint_Severity.Descriptor instead. -func (Endpoint_Severity) EnumDescriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0, 0} -} - -// Endpoint state -type Endpoint_State int32 - -const ( - // Not set. - Endpoint_STATE_UNSPECIFIED Endpoint_State = 0 - // Being created. - Endpoint_CREATING Endpoint_State = 1 - // Active and ready for traffic. - Endpoint_READY Endpoint_State = 2 - // Being deleted. - Endpoint_DELETING Endpoint_State = 3 -) - -// Enum value maps for Endpoint_State. -var ( - Endpoint_State_name = map[int32]string{ - 0: "STATE_UNSPECIFIED", - 1: "CREATING", - 2: "READY", - 3: "DELETING", - } - Endpoint_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "CREATING": 1, - "READY": 2, - "DELETING": 3, - } -) - -func (x Endpoint_State) Enum() *Endpoint_State { - p := new(Endpoint_State) - *p = x - return p -} - -func (x Endpoint_State) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Endpoint_State) Descriptor() protoreflect.EnumDescriptor { - return file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[1].Descriptor() -} - -func (Endpoint_State) Type() protoreflect.EnumType { - return &file_mockgcp_cloud_ids_v1_ids_proto_enumTypes[1] -} - -func (x Endpoint_State) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Endpoint_State.Descriptor instead. -func (Endpoint_State) EnumDescriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0, 1} -} - -// Endpoint describes a single IDS endpoint. It defines a forwarding rule to -// which packets can be sent for IDS inspection. -type Endpoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Output only. The name of the endpoint. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Output only. The create time timestamp. - CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - // Output only. The update time timestamp. - UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` - // The labels of the endpoint. - Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Required. The fully qualified URL of the network to which the IDS Endpoint is - // attached. - Network string `protobuf:"bytes,5,opt,name=network,proto3" json:"network,omitempty"` - // Output only. The fully qualified URL of the endpoint's ILB Forwarding Rule. - EndpointForwardingRule string `protobuf:"bytes,6,opt,name=endpoint_forwarding_rule,json=endpointForwardingRule,proto3" json:"endpoint_forwarding_rule,omitempty"` - // Output only. The IP address of the IDS Endpoint's ILB. - EndpointIp string `protobuf:"bytes,7,opt,name=endpoint_ip,json=endpointIp,proto3" json:"endpoint_ip,omitempty"` - // User-provided description of the endpoint - Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` - // Required. Lowest threat severity that this endpoint will alert on. - Severity Endpoint_Severity `protobuf:"varint,9,opt,name=severity,proto3,enum=mockgcp.cloud.ids.v1.Endpoint_Severity" json:"severity,omitempty"` - // Output only. Current state of the endpoint. - State Endpoint_State `protobuf:"varint,12,opt,name=state,proto3,enum=mockgcp.cloud.ids.v1.Endpoint_State" json:"state,omitempty"` - // Whether the endpoint should report traffic logs in addition to threat logs. - TrafficLogs bool `protobuf:"varint,13,opt,name=traffic_logs,json=trafficLogs,proto3" json:"traffic_logs,omitempty"` -} - -func (x *Endpoint) Reset() { - *x = Endpoint{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Endpoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Endpoint) ProtoMessage() {} - -func (x *Endpoint) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 Endpoint.ProtoReflect.Descriptor instead. -func (*Endpoint) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{0} -} - -func (x *Endpoint) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Endpoint) GetCreateTime() *timestamp.Timestamp { - if x != nil { - return x.CreateTime - } - return nil -} - -func (x *Endpoint) GetUpdateTime() *timestamp.Timestamp { - if x != nil { - return x.UpdateTime - } - return nil -} - -func (x *Endpoint) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil -} - -func (x *Endpoint) GetNetwork() string { - if x != nil { - return x.Network - } - return "" -} - -func (x *Endpoint) GetEndpointForwardingRule() string { - if x != nil { - return x.EndpointForwardingRule - } - return "" -} - -func (x *Endpoint) GetEndpointIp() string { - if x != nil { - return x.EndpointIp - } - return "" -} - -func (x *Endpoint) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *Endpoint) GetSeverity() Endpoint_Severity { - if x != nil { - return x.Severity - } - return Endpoint_SEVERITY_UNSPECIFIED -} - -func (x *Endpoint) GetState() Endpoint_State { - if x != nil { - return x.State - } - return Endpoint_STATE_UNSPECIFIED -} - -func (x *Endpoint) GetTrafficLogs() bool { - if x != nil { - return x.TrafficLogs - } - return false -} - -type ListEndpointsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The parent, which owns this collection of endpoints. - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Optional. The maximum number of endpoints to return. The service may return fewer - // than this value. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // Optional. A page token, received from a previous `ListEndpoints` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to `ListEndpoints` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // Optional. The filter expression, following the syntax outlined in - // https://google.aip.dev/160. - Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - // Optional. One or more fields to compare and use to sort the output. - // See https://google.aip.dev/132#ordering. - OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` -} - -func (x *ListEndpointsRequest) Reset() { - *x = ListEndpointsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListEndpointsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListEndpointsRequest) ProtoMessage() {} - -func (x *ListEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 ListEndpointsRequest.ProtoReflect.Descriptor instead. -func (*ListEndpointsRequest) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{1} -} - -func (x *ListEndpointsRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListEndpointsRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListEndpointsRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListEndpointsRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListEndpointsRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -type ListEndpointsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of endpoints response. - Endpoints []*Endpoint `protobuf:"bytes,1,rep,name=endpoints,proto3" json:"endpoints,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - // Locations that could not be reached. - Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` -} - -func (x *ListEndpointsResponse) Reset() { - *x = ListEndpointsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListEndpointsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListEndpointsResponse) ProtoMessage() {} - -func (x *ListEndpointsResponse) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 ListEndpointsResponse.ProtoReflect.Descriptor instead. -func (*ListEndpointsResponse) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{2} -} - -func (x *ListEndpointsResponse) GetEndpoints() []*Endpoint { - if x != nil { - return x.Endpoints - } - return nil -} - -func (x *ListEndpointsResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -func (x *ListEndpointsResponse) GetUnreachable() []string { - if x != nil { - return x.Unreachable - } - return nil -} - -type GetEndpointRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The name of the endpoint to retrieve. - // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *GetEndpointRequest) Reset() { - *x = GetEndpointRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetEndpointRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetEndpointRequest) ProtoMessage() {} - -func (x *GetEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 GetEndpointRequest.ProtoReflect.Descriptor instead. -func (*GetEndpointRequest) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{3} -} - -func (x *GetEndpointRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -type CreateEndpointRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The endpoint's parent. - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The endpoint identifier. This will be part of the endpoint's - // resource name. - // This value must start with a lowercase letter followed by up to 62 - // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. - // Values that do not match this pattern will trigger an INVALID_ARGUMENT - // error. - EndpointId string `protobuf:"bytes,2,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` - // Required. The endpoint to create. - Endpoint *Endpoint `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // An optional request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server will guarantee - // that for at least 60 minutes since the first request. - // - // For example, consider a situation where you make an initial request and t - // he request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` -} - -func (x *CreateEndpointRequest) Reset() { - *x = CreateEndpointRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateEndpointRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateEndpointRequest) ProtoMessage() {} - -func (x *CreateEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 CreateEndpointRequest.ProtoReflect.Descriptor instead. -func (*CreateEndpointRequest) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{4} -} - -func (x *CreateEndpointRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *CreateEndpointRequest) GetEndpointId() string { - if x != nil { - return x.EndpointId - } - return "" -} - -func (x *CreateEndpointRequest) GetEndpoint() *Endpoint { - if x != nil { - return x.Endpoint - } - return nil -} - -func (x *CreateEndpointRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -type DeleteEndpointRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The name of the endpoint to delete. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // An optional request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server will guarantee - // that for at least 60 minutes after the first request. - // - // For example, consider a situation where you make an initial request and t - // he request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` -} - -func (x *DeleteEndpointRequest) Reset() { - *x = DeleteEndpointRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteEndpointRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteEndpointRequest) ProtoMessage() {} - -func (x *DeleteEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 DeleteEndpointRequest.ProtoReflect.Descriptor instead. -func (*DeleteEndpointRequest) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{5} -} - -func (x *DeleteEndpointRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *DeleteEndpointRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// Represents the metadata of the long-running operation. -type OperationMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Output only. The time the operation was created. - CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - // Output only. The time the operation finished running. - EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - // Output only. Server-defined resource path for the target of the operation. - Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` - // Output only. Name of the verb executed by the operation. - Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` - // Output only. Human-readable status of the operation, if any. - StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` - // Output only. Identifies whether the user has requested cancellation - // of the operation. Operations that have successfully been cancelled - // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - // corresponding to `Code.CANCELLED`. - RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` - // Output only. API version used to start the operation. - ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` -} - -func (x *OperationMetadata) Reset() { - *x = OperationMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OperationMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OperationMetadata) ProtoMessage() {} - -func (x *OperationMetadata) ProtoReflect() protoreflect.Message { - mi := &file_mockgcp_cloud_ids_v1_ids_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 OperationMetadata.ProtoReflect.Descriptor instead. -func (*OperationMetadata) Descriptor() ([]byte, []int) { - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP(), []int{6} -} - -func (x *OperationMetadata) GetCreateTime() *timestamp.Timestamp { - if x != nil { - return x.CreateTime - } - return nil -} - -func (x *OperationMetadata) GetEndTime() *timestamp.Timestamp { - if x != nil { - return x.EndTime - } - return nil -} - -func (x *OperationMetadata) GetTarget() string { - if x != nil { - return x.Target - } - return "" -} - -func (x *OperationMetadata) GetVerb() string { - if x != nil { - return x.Verb - } - return "" -} - -func (x *OperationMetadata) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -func (x *OperationMetadata) GetRequestedCancellation() bool { - if x != nil { - return x.RequestedCancellation - } - return false -} - -func (x *OperationMetadata) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -var File_mockgcp_cloud_ids_v1_ids_proto protoreflect.FileDescriptor - -var file_mockgcp_cloud_ids_v1_ids_proto_rawDesc = []byte{ - 0x0a, 0x1e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, - 0x69, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x14, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x69, 0x64, 0x73, 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, 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, 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, - 0x87, 0x07, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, - 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3d, 0x0a, 0x18, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, - 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, - 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, 0x6f, 0x67, - 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x08, - 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56, 0x45, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, - 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, - 0x47, 0x48, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, - 0x10, 0x05, 0x22, 0x45, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1b, - 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x22, 0xd6, 0x01, 0x0a, 0x14, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x12, 0x1b, 0x69, 0x64, 0x73, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, - 0x0a, 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x12, 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x3f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x22, 0x6f, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, - 0x1b, 0x69, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, - 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xb8, 0x06, 0x0a, 0x03, 0x49, 0x44, - 0x53, 0x12, 0xa8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x95, 0x01, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x6d, - 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, - 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x2d, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x08, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x69, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, - 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x46, 0xca, 0x41, - 0x12, 0x69, 0x64, 0x73, 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, 0x6a, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, - 0x67, 0x63, 0x70, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x42, 0x08, 0x49, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x2f, 0x69, 0x64, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, 0x70, - 0x62, 0x3b, 0x69, 0x64, 0x73, 0x70, 0x62, 0xea, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x49, 0x44, 0x53, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_mockgcp_cloud_ids_v1_ids_proto_rawDescOnce sync.Once - file_mockgcp_cloud_ids_v1_ids_proto_rawDescData = file_mockgcp_cloud_ids_v1_ids_proto_rawDesc -) - -func file_mockgcp_cloud_ids_v1_ids_proto_rawDescGZIP() []byte { - file_mockgcp_cloud_ids_v1_ids_proto_rawDescOnce.Do(func() { - file_mockgcp_cloud_ids_v1_ids_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_ids_v1_ids_proto_rawDescData) - }) - return file_mockgcp_cloud_ids_v1_ids_proto_rawDescData -} - -var file_mockgcp_cloud_ids_v1_ids_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_mockgcp_cloud_ids_v1_ids_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_mockgcp_cloud_ids_v1_ids_proto_goTypes = []interface{}{ - (Endpoint_Severity)(0), // 0: mockgcp.cloud.ids.v1.Endpoint.Severity - (Endpoint_State)(0), // 1: mockgcp.cloud.ids.v1.Endpoint.State - (*Endpoint)(nil), // 2: mockgcp.cloud.ids.v1.Endpoint - (*ListEndpointsRequest)(nil), // 3: mockgcp.cloud.ids.v1.ListEndpointsRequest - (*ListEndpointsResponse)(nil), // 4: mockgcp.cloud.ids.v1.ListEndpointsResponse - (*GetEndpointRequest)(nil), // 5: mockgcp.cloud.ids.v1.GetEndpointRequest - (*CreateEndpointRequest)(nil), // 6: mockgcp.cloud.ids.v1.CreateEndpointRequest - (*DeleteEndpointRequest)(nil), // 7: mockgcp.cloud.ids.v1.DeleteEndpointRequest - (*OperationMetadata)(nil), // 8: mockgcp.cloud.ids.v1.OperationMetadata - nil, // 9: mockgcp.cloud.ids.v1.Endpoint.LabelsEntry - (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp - (*longrunningpb.Operation)(nil), // 11: google.longrunning.Operation -} -var file_mockgcp_cloud_ids_v1_ids_proto_depIdxs = []int32{ - 10, // 0: mockgcp.cloud.ids.v1.Endpoint.create_time:type_name -> google.protobuf.Timestamp - 10, // 1: mockgcp.cloud.ids.v1.Endpoint.update_time:type_name -> google.protobuf.Timestamp - 9, // 2: mockgcp.cloud.ids.v1.Endpoint.labels:type_name -> mockgcp.cloud.ids.v1.Endpoint.LabelsEntry - 0, // 3: mockgcp.cloud.ids.v1.Endpoint.severity:type_name -> mockgcp.cloud.ids.v1.Endpoint.Severity - 1, // 4: mockgcp.cloud.ids.v1.Endpoint.state:type_name -> mockgcp.cloud.ids.v1.Endpoint.State - 2, // 5: mockgcp.cloud.ids.v1.ListEndpointsResponse.endpoints:type_name -> mockgcp.cloud.ids.v1.Endpoint - 2, // 6: mockgcp.cloud.ids.v1.CreateEndpointRequest.endpoint:type_name -> mockgcp.cloud.ids.v1.Endpoint - 10, // 7: mockgcp.cloud.ids.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp - 10, // 8: mockgcp.cloud.ids.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp - 3, // 9: mockgcp.cloud.ids.v1.IDS.ListEndpoints:input_type -> mockgcp.cloud.ids.v1.ListEndpointsRequest - 5, // 10: mockgcp.cloud.ids.v1.IDS.GetEndpoint:input_type -> mockgcp.cloud.ids.v1.GetEndpointRequest - 6, // 11: mockgcp.cloud.ids.v1.IDS.CreateEndpoint:input_type -> mockgcp.cloud.ids.v1.CreateEndpointRequest - 7, // 12: mockgcp.cloud.ids.v1.IDS.DeleteEndpoint:input_type -> mockgcp.cloud.ids.v1.DeleteEndpointRequest - 4, // 13: mockgcp.cloud.ids.v1.IDS.ListEndpoints:output_type -> mockgcp.cloud.ids.v1.ListEndpointsResponse - 2, // 14: mockgcp.cloud.ids.v1.IDS.GetEndpoint:output_type -> mockgcp.cloud.ids.v1.Endpoint - 11, // 15: mockgcp.cloud.ids.v1.IDS.CreateEndpoint:output_type -> google.longrunning.Operation - 11, // 16: mockgcp.cloud.ids.v1.IDS.DeleteEndpoint:output_type -> google.longrunning.Operation - 13, // [13:17] is the sub-list for method output_type - 9, // [9:13] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_mockgcp_cloud_ids_v1_ids_proto_init() } -func file_mockgcp_cloud_ids_v1_ids_proto_init() { - if File_mockgcp_cloud_ids_v1_ids_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Endpoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEndpointsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEndpointsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetEndpointRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateEndpointRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteEndpointRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_mockgcp_cloud_ids_v1_ids_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OperationMetadata); 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_cloud_ids_v1_ids_proto_rawDesc, - NumEnums: 2, - NumMessages: 8, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_mockgcp_cloud_ids_v1_ids_proto_goTypes, - DependencyIndexes: file_mockgcp_cloud_ids_v1_ids_proto_depIdxs, - EnumInfos: file_mockgcp_cloud_ids_v1_ids_proto_enumTypes, - MessageInfos: file_mockgcp_cloud_ids_v1_ids_proto_msgTypes, - }.Build() - File_mockgcp_cloud_ids_v1_ids_proto = out.File - file_mockgcp_cloud_ids_v1_ids_proto_rawDesc = nil - file_mockgcp_cloud_ids_v1_ids_proto_goTypes = nil - file_mockgcp_cloud_ids_v1_ids_proto_depIdxs = nil -} diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go deleted file mode 100644 index 691c9eda6e..0000000000 --- a/mockgcp/generated/mockgcp/cloud/ids/v1/ids.pb.gw.go +++ /dev/null @@ -1,568 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: mockgcp/cloud/ids/v1/ids.proto - -/* -Package idspb is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package idspb - -import ( - "context" - "io" - "net/http" - - "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_IDS_ListEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_IDS_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListEndpointsRequest - 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_IDS_ListEndpoints_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_IDS_ListEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListEndpointsRequest - 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_IDS_ListEndpoints_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListEndpoints(ctx, &protoReq) - return msg, metadata, err - -} - -func request_IDS_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEndpointRequest - 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.GetEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_IDS_GetEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetEndpointRequest - 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.GetEndpoint(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_IDS_CreateEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"endpoint": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_IDS_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateEndpointRequest - 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.Endpoint); 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) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IDS_CreateEndpoint_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_IDS_CreateEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateEndpointRequest - 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.Endpoint); 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) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IDS_CreateEndpoint_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateEndpoint(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_IDS_DeleteEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_IDS_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client IDSClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteEndpointRequest - 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_IDS_DeleteEndpoint_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DeleteEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_IDS_DeleteEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server IDSServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DeleteEndpointRequest - 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_IDS_DeleteEndpoint_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteEndpoint(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterIDSHandlerServer registers the http handlers for service IDS to "mux". -// UnaryRPC :call IDSServer 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 RegisterIDSHandlerFromEndpoint instead. -func RegisterIDSHandlerServer(ctx context.Context, mux *runtime.ServeMux, server IDSServer) error { - - mux.Handle("GET", pattern_IDS_ListEndpoints_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.cloud.ids.v1.IDS/ListEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_IDS_ListEndpoints_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_IDS_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_IDS_GetEndpoint_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.cloud.ids.v1.IDS/GetEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_IDS_GetEndpoint_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_IDS_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_IDS_CreateEndpoint_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.cloud.ids.v1.IDS/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_IDS_CreateEndpoint_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_IDS_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_IDS_DeleteEndpoint_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.cloud.ids.v1.IDS/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_IDS_DeleteEndpoint_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_IDS_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterIDSHandlerFromEndpoint is same as RegisterIDSHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterIDSHandlerFromEndpoint(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 RegisterIDSHandler(ctx, mux, conn) -} - -// RegisterIDSHandler registers the http handlers for service IDS to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterIDSHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterIDSHandlerClient(ctx, mux, NewIDSClient(conn)) -} - -// RegisterIDSHandlerClient registers the http handlers for service IDS -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "IDSClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "IDSClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "IDSClient" to call the correct interceptors. -func RegisterIDSHandlerClient(ctx context.Context, mux *runtime.ServeMux, client IDSClient) error { - - mux.Handle("GET", pattern_IDS_ListEndpoints_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.cloud.ids.v1.IDS/ListEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_IDS_ListEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_IDS_ListEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_IDS_GetEndpoint_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.cloud.ids.v1.IDS/GetEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_IDS_GetEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_IDS_GetEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_IDS_CreateEndpoint_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.cloud.ids.v1.IDS/CreateEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_IDS_CreateEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_IDS_CreateEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_IDS_DeleteEndpoint_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.cloud.ids.v1.IDS/DeleteEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_IDS_DeleteEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_IDS_DeleteEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_IDS_ListEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) - - pattern_IDS_GetEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) - - pattern_IDS_CreateEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) - - pattern_IDS_DeleteEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) -) - -var ( - forward_IDS_ListEndpoints_0 = runtime.ForwardResponseMessage - - forward_IDS_GetEndpoint_0 = runtime.ForwardResponseMessage - - forward_IDS_CreateEndpoint_0 = runtime.ForwardResponseMessage - - forward_IDS_DeleteEndpoint_0 = runtime.ForwardResponseMessage -) diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go deleted file mode 100644 index fa1b6309a6..0000000000 --- a/mockgcp/generated/mockgcp/cloud/ids/v1/ids_grpc.pb.go +++ /dev/null @@ -1,222 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.12.4 -// source: mockgcp/cloud/ids/v1/ids.proto - -package idspb - -import ( - 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 - -// IDSClient is the client API for IDS 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 IDSClient interface { - // Lists Endpoints in a given project and location. - ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) - // Gets details of a single Endpoint. - GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) - // Creates a new Endpoint in a given project and location. - CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) - // Deletes a single Endpoint. - DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) -} - -type iDSClient struct { - cc grpc.ClientConnInterface -} - -func NewIDSClient(cc grpc.ClientConnInterface) IDSClient { - return &iDSClient{cc} -} - -func (c *iDSClient) ListEndpoints(ctx context.Context, in *ListEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) { - out := new(ListEndpointsResponse) - err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/ListEndpoints", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *iDSClient) GetEndpoint(ctx context.Context, in *GetEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) { - out := new(Endpoint) - err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/GetEndpoint", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *iDSClient) CreateEndpoint(ctx context.Context, in *CreateEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/CreateEndpoint", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *iDSClient) DeleteEndpoint(ctx context.Context, in *DeleteEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/mockgcp.cloud.ids.v1.IDS/DeleteEndpoint", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// IDSServer is the server API for IDS service. -// All implementations must embed UnimplementedIDSServer -// for forward compatibility -type IDSServer interface { - // Lists Endpoints in a given project and location. - ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) - // Gets details of a single Endpoint. - GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) - // Creates a new Endpoint in a given project and location. - CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) - // Deletes a single Endpoint. - DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) - mustEmbedUnimplementedIDSServer() -} - -// UnimplementedIDSServer must be embedded to have forward compatible implementations. -type UnimplementedIDSServer struct { -} - -func (UnimplementedIDSServer) ListEndpoints(context.Context, *ListEndpointsRequest) (*ListEndpointsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListEndpoints not implemented") -} -func (UnimplementedIDSServer) GetEndpoint(context.Context, *GetEndpointRequest) (*Endpoint, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetEndpoint not implemented") -} -func (UnimplementedIDSServer) CreateEndpoint(context.Context, *CreateEndpointRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateEndpoint not implemented") -} -func (UnimplementedIDSServer) DeleteEndpoint(context.Context, *DeleteEndpointRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteEndpoint not implemented") -} -func (UnimplementedIDSServer) mustEmbedUnimplementedIDSServer() {} - -// UnsafeIDSServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to IDSServer will -// result in compilation errors. -type UnsafeIDSServer interface { - mustEmbedUnimplementedIDSServer() -} - -func RegisterIDSServer(s grpc.ServiceRegistrar, srv IDSServer) { - s.RegisterService(&IDS_ServiceDesc, srv) -} - -func _IDS_ListEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListEndpointsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(IDSServer).ListEndpoints(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/mockgcp.cloud.ids.v1.IDS/ListEndpoints", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(IDSServer).ListEndpoints(ctx, req.(*ListEndpointsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _IDS_GetEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetEndpointRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(IDSServer).GetEndpoint(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/mockgcp.cloud.ids.v1.IDS/GetEndpoint", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(IDSServer).GetEndpoint(ctx, req.(*GetEndpointRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _IDS_CreateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateEndpointRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(IDSServer).CreateEndpoint(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/mockgcp.cloud.ids.v1.IDS/CreateEndpoint", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(IDSServer).CreateEndpoint(ctx, req.(*CreateEndpointRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _IDS_DeleteEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteEndpointRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(IDSServer).DeleteEndpoint(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/mockgcp.cloud.ids.v1.IDS/DeleteEndpoint", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(IDSServer).DeleteEndpoint(ctx, req.(*DeleteEndpointRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// IDS_ServiceDesc is the grpc.ServiceDesc for IDS service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var IDS_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "mockgcp.cloud.ids.v1.IDS", - HandlerType: (*IDSServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "ListEndpoints", - Handler: _IDS_ListEndpoints_Handler, - }, - { - MethodName: "GetEndpoint", - Handler: _IDS_GetEndpoint_Handler, - }, - { - MethodName: "CreateEndpoint", - Handler: _IDS_CreateEndpoint_Handler, - }, - { - MethodName: "DeleteEndpoint", - Handler: _IDS_DeleteEndpoint_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "mockgcp/cloud/ids/v1/ids.proto", -} diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go new file mode 100644 index 0000000000..3a1a635a0d --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go @@ -0,0 +1,2420 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/cloud/ids/v1/service.proto + +package idspb + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + any1 "github.com/golang/protobuf/ptypes/any" + 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) +) + +type AuditConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuditLogConfigs []*AuditLogConfig `protobuf:"bytes,1,rep,name=audit_log_configs,json=auditLogConfigs" json:"audit_log_configs,omitempty"` + Service *string `protobuf:"bytes,2,opt,name=service" json:"service,omitempty"` +} + +func (x *AuditConfig) Reset() { + *x = AuditConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuditConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditConfig) ProtoMessage() {} + +func (x *AuditConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 AuditConfig.ProtoReflect.Descriptor instead. +func (*AuditConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{0} +} + +func (x *AuditConfig) GetAuditLogConfigs() []*AuditLogConfig { + if x != nil { + return x.AuditLogConfigs + } + return nil +} + +func (x *AuditConfig) GetService() string { + if x != nil && x.Service != nil { + return *x.Service + } + return "" +} + +type AuditLogConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExemptedMembers []string `protobuf:"bytes,1,rep,name=exempted_members,json=exemptedMembers" json:"exempted_members,omitempty"` + LogType *string `protobuf:"bytes,2,opt,name=log_type,json=logType" json:"log_type,omitempty"` +} + +func (x *AuditLogConfig) Reset() { + *x = AuditLogConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuditLogConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditLogConfig) ProtoMessage() {} + +func (x *AuditLogConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 AuditLogConfig.ProtoReflect.Descriptor instead. +func (*AuditLogConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{1} +} + +func (x *AuditLogConfig) GetExemptedMembers() []string { + if x != nil { + return x.ExemptedMembers + } + return nil +} + +func (x *AuditLogConfig) GetLogType() string { + if x != nil && x.LogType != nil { + return *x.LogType + } + return "" +} + +type Binding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Condition *Expr `protobuf:"bytes,1,opt,name=condition" json:"condition,omitempty"` + Members []string `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"` + Role *string `protobuf:"bytes,3,opt,name=role" json:"role,omitempty"` +} + +func (x *Binding) Reset() { + *x = Binding{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Binding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Binding) ProtoMessage() {} + +func (x *Binding) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Binding.ProtoReflect.Descriptor instead. +func (*Binding) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{2} +} + +func (x *Binding) GetCondition() *Expr { + if x != nil { + return x.Condition + } + return nil +} + +func (x *Binding) GetMembers() []string { + if x != nil { + return x.Members + } + return nil +} + +func (x *Binding) GetRole() string { + if x != nil && x.Role != nil { + return *x.Role + } + return "" +} + +type CancelOperationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CancelOperationRequest) Reset() { + *x = CancelOperationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelOperationRequest) ProtoMessage() {} + +func (x *CancelOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 CancelOperationRequest.ProtoReflect.Descriptor instead. +func (*CancelOperationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{3} +} + +type Empty struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Empty) Reset() { + *x = Empty{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{4} +} + +type Endpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime" json:"create_time,omitempty"` + Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` + EndpointForwardingRule *string `protobuf:"bytes,3,opt,name=endpoint_forwarding_rule,json=endpointForwardingRule" json:"endpoint_forwarding_rule,omitempty"` + EndpointIp *string `protobuf:"bytes,4,opt,name=endpoint_ip,json=endpointIp" json:"endpoint_ip,omitempty"` + Labels map[string]string `protobuf:"bytes,5,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Name *string `protobuf:"bytes,6,opt,name=name" json:"name,omitempty"` + Network *string `protobuf:"bytes,7,opt,name=network" json:"network,omitempty"` + SatisfiesPzi *bool `protobuf:"varint,8,opt,name=satisfies_pzi,json=satisfiesPzi" json:"satisfies_pzi,omitempty"` + SatisfiesPzs *bool `protobuf:"varint,9,opt,name=satisfies_pzs,json=satisfiesPzs" json:"satisfies_pzs,omitempty"` + Severity *string `protobuf:"bytes,10,opt,name=severity" json:"severity,omitempty"` + State *string `protobuf:"bytes,11,opt,name=state" json:"state,omitempty"` + ThreatExceptions []string `protobuf:"bytes,12,rep,name=threat_exceptions,json=threatExceptions" json:"threat_exceptions,omitempty"` + TrafficLogs *bool `protobuf:"varint,13,opt,name=traffic_logs,json=trafficLogs" json:"traffic_logs,omitempty"` + UpdateTime *timestamp.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime" json:"update_time,omitempty"` +} + +func (x *Endpoint) Reset() { + *x = Endpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint) ProtoMessage() {} + +func (x *Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Endpoint.ProtoReflect.Descriptor instead. +func (*Endpoint) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{5} +} + +func (x *Endpoint) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Endpoint) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Endpoint) GetEndpointForwardingRule() string { + if x != nil && x.EndpointForwardingRule != nil { + return *x.EndpointForwardingRule + } + return "" +} + +func (x *Endpoint) GetEndpointIp() string { + if x != nil && x.EndpointIp != nil { + return *x.EndpointIp + } + return "" +} + +func (x *Endpoint) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Endpoint) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *Endpoint) GetNetwork() string { + if x != nil && x.Network != nil { + return *x.Network + } + return "" +} + +func (x *Endpoint) GetSatisfiesPzi() bool { + if x != nil && x.SatisfiesPzi != nil { + return *x.SatisfiesPzi + } + return false +} + +func (x *Endpoint) GetSatisfiesPzs() bool { + if x != nil && x.SatisfiesPzs != nil { + return *x.SatisfiesPzs + } + return false +} + +func (x *Endpoint) GetSeverity() string { + if x != nil && x.Severity != nil { + return *x.Severity + } + return "" +} + +func (x *Endpoint) GetState() string { + if x != nil && x.State != nil { + return *x.State + } + return "" +} + +func (x *Endpoint) GetThreatExceptions() []string { + if x != nil { + return x.ThreatExceptions + } + return nil +} + +func (x *Endpoint) GetTrafficLogs() bool { + if x != nil && x.TrafficLogs != nil { + return *x.TrafficLogs + } + return false +} + +func (x *Endpoint) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +type Expr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description *string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"` + Expression *string `protobuf:"bytes,2,opt,name=expression" json:"expression,omitempty"` + Location *string `protobuf:"bytes,3,opt,name=location" json:"location,omitempty"` + Title *string `protobuf:"bytes,4,opt,name=title" json:"title,omitempty"` +} + +func (x *Expr) Reset() { + *x = Expr{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr) ProtoMessage() {} + +func (x *Expr) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Expr.ProtoReflect.Descriptor instead. +func (*Expr) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{6} +} + +func (x *Expr) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Expr) GetExpression() string { + if x != nil && x.Expression != nil { + return *x.Expression + } + return "" +} + +func (x *Expr) GetLocation() string { + if x != nil && x.Location != nil { + return *x.Location + } + return "" +} + +func (x *Expr) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +type ListEndpointsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Endpoints []*Endpoint `protobuf:"bytes,1,rep,name=endpoints" json:"endpoints,omitempty"` + NextPageToken *string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"` + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable" json:"unreachable,omitempty"` +} + +func (x *ListEndpointsResponse) Reset() { + *x = ListEndpointsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEndpointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEndpointsResponse) ProtoMessage() {} + +func (x *ListEndpointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 ListEndpointsResponse.ProtoReflect.Descriptor instead. +func (*ListEndpointsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ListEndpointsResponse) GetEndpoints() []*Endpoint { + if x != nil { + return x.Endpoints + } + return nil +} + +func (x *ListEndpointsResponse) GetNextPageToken() string { + if x != nil && x.NextPageToken != nil { + return *x.NextPageToken + } + return "" +} + +func (x *ListEndpointsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +type ListLocationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Locations []*Location `protobuf:"bytes,1,rep,name=locations" json:"locations,omitempty"` + NextPageToken *string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"` +} + +func (x *ListLocationsResponse) Reset() { + *x = ListLocationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListLocationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListLocationsResponse) ProtoMessage() {} + +func (x *ListLocationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 ListLocationsResponse.ProtoReflect.Descriptor instead. +func (*ListLocationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ListLocationsResponse) GetLocations() []*Location { + if x != nil { + return x.Locations + } + return nil +} + +func (x *ListLocationsResponse) GetNextPageToken() string { + if x != nil && x.NextPageToken != nil { + return *x.NextPageToken + } + return "" +} + +type ListOperationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NextPageToken *string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"` + Operations []*longrunningpb.Operation `protobuf:"bytes,2,rep,name=operations" json:"operations,omitempty"` +} + +func (x *ListOperationsResponse) Reset() { + *x = ListOperationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOperationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOperationsResponse) ProtoMessage() {} + +func (x *ListOperationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 ListOperationsResponse.ProtoReflect.Descriptor instead. +func (*ListOperationsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListOperationsResponse) GetNextPageToken() string { + if x != nil && x.NextPageToken != nil { + return *x.NextPageToken + } + return "" +} + +func (x *ListOperationsResponse) GetOperations() []*longrunningpb.Operation { + if x != nil { + return x.Operations + } + return nil +} + +type Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DisplayName *string `protobuf:"bytes,1,opt,name=display_name,json=displayName" json:"display_name,omitempty"` + Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + LocationId *string `protobuf:"bytes,3,opt,name=location_id,json=locationId" json:"location_id,omitempty"` + Metadata map[string]*any1.Any `protobuf:"bytes,4,rep,name=metadata" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Name *string `protobuf:"bytes,5,opt,name=name" json:"name,omitempty"` +} + +func (x *Location) Reset() { + *x = Location{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Location) ProtoMessage() {} + +func (x *Location) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Location.ProtoReflect.Descriptor instead. +func (*Location) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{10} +} + +func (x *Location) GetDisplayName() string { + if x != nil && x.DisplayName != nil { + return *x.DisplayName + } + return "" +} + +func (x *Location) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Location) GetLocationId() string { + if x != nil && x.LocationId != nil { + return *x.LocationId + } + return "" +} + +func (x *Location) GetMetadata() map[string]*any1.Any { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Location) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type Operation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Done *bool `protobuf:"varint,1,opt,name=done" json:"done,omitempty"` + Error *Status `protobuf:"bytes,2,opt,name=error" json:"error,omitempty"` + Metadata map[string]*any1.Any `protobuf:"bytes,3,rep,name=metadata" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + Response map[string]*any1.Any `protobuf:"bytes,5,rep,name=response" json:"response,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` +} + +func (x *Operation) Reset() { + *x = Operation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Operation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Operation) ProtoMessage() {} + +func (x *Operation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Operation.ProtoReflect.Descriptor instead. +func (*Operation) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{11} +} + +func (x *Operation) GetDone() bool { + if x != nil && x.Done != nil { + return *x.Done + } + return false +} + +func (x *Operation) GetError() *Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *Operation) GetMetadata() map[string]*any1.Any { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Operation) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *Operation) GetResponse() map[string]*any1.Any { + if x != nil { + return x.Response + } + return nil +} + +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiVersion *string `protobuf:"bytes,1,opt,name=api_version,json=apiVersion" json:"api_version,omitempty"` + CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime" json:"create_time,omitempty"` + EndTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"` + RequestedCancellation *bool `protobuf:"varint,4,opt,name=requested_cancellation,json=requestedCancellation" json:"requested_cancellation,omitempty"` + StatusMessage *string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage" json:"status_message,omitempty"` + Target *string `protobuf:"bytes,6,opt,name=target" json:"target,omitempty"` + Verb *string `protobuf:"bytes,7,opt,name=verb" json:"verb,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{12} +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil && x.ApiVersion != nil { + return *x.ApiVersion + } + return "" +} + +func (x *OperationMetadata) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil && x.RequestedCancellation != nil { + return *x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil && x.StatusMessage != nil { + return *x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil && x.Target != nil { + return *x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil && x.Verb != nil { + return *x.Verb + } + return "" +} + +type Policy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuditConfigs []*AuditConfig `protobuf:"bytes,1,rep,name=audit_configs,json=auditConfigs" json:"audit_configs,omitempty"` + Bindings []*Binding `protobuf:"bytes,2,rep,name=bindings" json:"bindings,omitempty"` + Etag []byte `protobuf:"bytes,3,opt,name=etag" json:"etag,omitempty"` + Version *int32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` +} + +func (x *Policy) Reset() { + *x = Policy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Policy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Policy) ProtoMessage() {} + +func (x *Policy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Policy.ProtoReflect.Descriptor instead. +func (*Policy) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{13} +} + +func (x *Policy) GetAuditConfigs() []*AuditConfig { + if x != nil { + return x.AuditConfigs + } + return nil +} + +func (x *Policy) GetBindings() []*Binding { + if x != nil { + return x.Bindings + } + return nil +} + +func (x *Policy) GetEtag() []byte { + if x != nil { + return x.Etag + } + return nil +} + +func (x *Policy) GetVersion() int32 { + if x != nil && x.Version != nil { + return *x.Version + } + return 0 +} + +type SetIamPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` + UpdateMask *string `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"` +} + +func (x *SetIamPolicyRequest) Reset() { + *x = SetIamPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetIamPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetIamPolicyRequest) ProtoMessage() {} + +func (x *SetIamPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 SetIamPolicyRequest.ProtoReflect.Descriptor instead. +func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{14} +} + +func (x *SetIamPolicyRequest) GetPolicy() *Policy { + if x != nil { + return x.Policy + } + return nil +} + +func (x *SetIamPolicyRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code *int32 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` + Details []*any1.Any `protobuf:"bytes,2,rep,name=details" json:"details,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{15} +} + +func (x *Status) GetCode() int32 { + if x != nil && x.Code != nil { + return *x.Code + } + return 0 +} + +func (x *Status) GetDetails() []*any1.Any { + if x != nil { + return x.Details + } + return nil +} + +func (x *Status) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type TestIamPermissionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Permissions []string `protobuf:"bytes,1,rep,name=permissions" json:"permissions,omitempty"` +} + +func (x *TestIamPermissionsRequest) Reset() { + *x = TestIamPermissionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsRequest) ProtoMessage() {} + +func (x *TestIamPermissionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 TestIamPermissionsRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{16} +} + +func (x *TestIamPermissionsRequest) GetPermissions() []string { + if x != nil { + return x.Permissions + } + return nil +} + +type TestIamPermissionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Permissions []string `protobuf:"bytes,1,rep,name=permissions" json:"permissions,omitempty"` +} + +func (x *TestIamPermissionsResponse) Reset() { + *x = TestIamPermissionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsResponse) ProtoMessage() {} + +func (x *TestIamPermissionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 TestIamPermissionsResponse.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{17} +} + +func (x *TestIamPermissionsResponse) GetPermissions() []string { + if x != nil { + return x.Permissions + } + return nil +} + +type GetProjectsLocationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` +} + +func (x *GetProjectsLocationRequest) Reset() { + *x = GetProjectsLocationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsLocationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsLocationRequest) ProtoMessage() {} + +func (x *GetProjectsLocationRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 GetProjectsLocationRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsLocationRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{18} +} + +func (x *GetProjectsLocationRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type ListProjectsLocationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter *string `protobuf:"bytes,1,opt,name=filter" json:"filter,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` + PageSize *int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"` + PageToken *string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"` +} + +func (x *ListProjectsLocationsRequest) Reset() { + *x = ListProjectsLocationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsLocationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsLocationsRequest) ProtoMessage() {} + +func (x *ListProjectsLocationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 ListProjectsLocationsRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsLocationsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{19} +} + +func (x *ListProjectsLocationsRequest) GetFilter() string { + if x != nil && x.Filter != nil { + return *x.Filter + } + return "" +} + +func (x *ListProjectsLocationsRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *ListProjectsLocationsRequest) GetPageSize() int32 { + if x != nil && x.PageSize != nil { + return *x.PageSize + } + return 0 +} + +func (x *ListProjectsLocationsRequest) GetPageToken() string { + if x != nil && x.PageToken != nil { + return *x.PageToken + } + return "" +} + +type CreateProjectsLocationsEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EndpointId *string `protobuf:"bytes,1,opt,name=endpoint_id,json=endpointId" json:"endpoint_id,omitempty"` + Parent *string `protobuf:"bytes,2,opt,name=parent" json:"parent,omitempty"` + RequestId *string `protobuf:"bytes,3,opt,name=request_id,json=requestId" json:"request_id,omitempty"` + ProjectsLocationsEndpoint *Endpoint `protobuf:"bytes,4,opt,name=projects_locations_endpoint,json=projectsLocationsEndpoint" json:"projects_locations_endpoint,omitempty"` +} + +func (x *CreateProjectsLocationsEndpointRequest) Reset() { + *x = CreateProjectsLocationsEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProjectsLocationsEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProjectsLocationsEndpointRequest) ProtoMessage() {} + +func (x *CreateProjectsLocationsEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 CreateProjectsLocationsEndpointRequest.ProtoReflect.Descriptor instead. +func (*CreateProjectsLocationsEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{20} +} + +func (x *CreateProjectsLocationsEndpointRequest) GetEndpointId() string { + if x != nil && x.EndpointId != nil { + return *x.EndpointId + } + return "" +} + +func (x *CreateProjectsLocationsEndpointRequest) GetParent() string { + if x != nil && x.Parent != nil { + return *x.Parent + } + return "" +} + +func (x *CreateProjectsLocationsEndpointRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *CreateProjectsLocationsEndpointRequest) GetProjectsLocationsEndpoint() *Endpoint { + if x != nil { + return x.ProjectsLocationsEndpoint + } + return nil +} + +type DeleteProjectsLocationsEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + RequestId *string `protobuf:"bytes,2,opt,name=request_id,json=requestId" json:"request_id,omitempty"` +} + +func (x *DeleteProjectsLocationsEndpointRequest) Reset() { + *x = DeleteProjectsLocationsEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProjectsLocationsEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProjectsLocationsEndpointRequest) ProtoMessage() {} + +func (x *DeleteProjectsLocationsEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 DeleteProjectsLocationsEndpointRequest.ProtoReflect.Descriptor instead. +func (*DeleteProjectsLocationsEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{21} +} + +func (x *DeleteProjectsLocationsEndpointRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *DeleteProjectsLocationsEndpointRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +type GetProjectsLocationsEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` +} + +func (x *GetProjectsLocationsEndpointRequest) Reset() { + *x = GetProjectsLocationsEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsLocationsEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsLocationsEndpointRequest) ProtoMessage() {} + +func (x *GetProjectsLocationsEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 GetProjectsLocationsEndpointRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsLocationsEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{22} +} + +func (x *GetProjectsLocationsEndpointRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type ListProjectsLocationsEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter *string `protobuf:"bytes,1,opt,name=filter" json:"filter,omitempty"` + OrderBy *string `protobuf:"bytes,2,opt,name=order_by,json=orderBy" json:"order_by,omitempty"` + PageSize *int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"` + PageToken *string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"` + Parent *string `protobuf:"bytes,5,opt,name=parent" json:"parent,omitempty"` +} + +func (x *ListProjectsLocationsEndpointsRequest) Reset() { + *x = ListProjectsLocationsEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsLocationsEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsLocationsEndpointsRequest) ProtoMessage() {} + +func (x *ListProjectsLocationsEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 ListProjectsLocationsEndpointsRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsLocationsEndpointsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{23} +} + +func (x *ListProjectsLocationsEndpointsRequest) GetFilter() string { + if x != nil && x.Filter != nil { + return *x.Filter + } + return "" +} + +func (x *ListProjectsLocationsEndpointsRequest) GetOrderBy() string { + if x != nil && x.OrderBy != nil { + return *x.OrderBy + } + return "" +} + +func (x *ListProjectsLocationsEndpointsRequest) GetPageSize() int32 { + if x != nil && x.PageSize != nil { + return *x.PageSize + } + return 0 +} + +func (x *ListProjectsLocationsEndpointsRequest) GetPageToken() string { + if x != nil && x.PageToken != nil { + return *x.PageToken + } + return "" +} + +func (x *ListProjectsLocationsEndpointsRequest) GetParent() string { + if x != nil && x.Parent != nil { + return *x.Parent + } + return "" +} + +type PatchProjectsLocationsEndpointRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` + RequestId *string `protobuf:"bytes,2,opt,name=request_id,json=requestId" json:"request_id,omitempty"` + UpdateMask *string `protobuf:"bytes,3,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"` + ProjectsLocationsEndpoint *Endpoint `protobuf:"bytes,4,opt,name=projects_locations_endpoint,json=projectsLocationsEndpoint" json:"projects_locations_endpoint,omitempty"` +} + +func (x *PatchProjectsLocationsEndpointRequest) Reset() { + *x = PatchProjectsLocationsEndpointRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_cloud_ids_v1_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchProjectsLocationsEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchProjectsLocationsEndpointRequest) ProtoMessage() {} + +func (x *PatchProjectsLocationsEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_cloud_ids_v1_service_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 PatchProjectsLocationsEndpointRequest.ProtoReflect.Descriptor instead. +func (*PatchProjectsLocationsEndpointRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP(), []int{24} +} + +func (x *PatchProjectsLocationsEndpointRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *PatchProjectsLocationsEndpointRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *PatchProjectsLocationsEndpointRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + +func (x *PatchProjectsLocationsEndpointRequest) GetProjectsLocationsEndpoint() *Endpoint { + if x != nil { + return x.ProjectsLocationsEndpoint + } + return nil +} + +var File_mockgcp_cloud_ids_v1_service_proto protoreflect.FileDescriptor + +var file_mockgcp_cloud_ids_v1_service_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x69, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 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, 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, 0x19, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, + 0x79, 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, 0x78, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x22, 0x56, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x70, 0x0a, 0x07, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x18, 0x0a, 0x16, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0xf9, 0x04, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, + 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x65, 0x78, + 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, + 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4c, + 0x6f, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0e, 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, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7a, 0x0a, 0x04, 0x45, + 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x7c, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x52, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfc, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x03, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x48, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x1a, 0x51, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x11, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x65, + 0x72, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x22, 0xb7, + 0x01, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45, 0x0a, 0x0d, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x38, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x33, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3d, 0x0a, + 0x19, 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, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x1a, + 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, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x30, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, + 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x49, 0x64, 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, 0x1d, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x1b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x19, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x5b, 0x0a, 0x26, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xae, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x25, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, + 0x12, 0x5d, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x32, + 0x10, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x32, 0xaf, 0x02, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x7b, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x15, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x32, 0xe5, 0x06, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xbc, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 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, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 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, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, + 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x8d, 0x01, + 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, + 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0xaa, 0x01, + 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, + 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x1e, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 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, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, + 0x32, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x3a, 0x1b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x2b, 0x5a, 0x29, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x69, 0x64, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, + 0x70, 0x62, 0x3b, 0x69, 0x64, 0x73, 0x70, 0x62, +} + +var ( + file_mockgcp_cloud_ids_v1_service_proto_rawDescOnce sync.Once + file_mockgcp_cloud_ids_v1_service_proto_rawDescData = file_mockgcp_cloud_ids_v1_service_proto_rawDesc +) + +func file_mockgcp_cloud_ids_v1_service_proto_rawDescGZIP() []byte { + file_mockgcp_cloud_ids_v1_service_proto_rawDescOnce.Do(func() { + file_mockgcp_cloud_ids_v1_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_cloud_ids_v1_service_proto_rawDescData) + }) + return file_mockgcp_cloud_ids_v1_service_proto_rawDescData +} + +var file_mockgcp_cloud_ids_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_mockgcp_cloud_ids_v1_service_proto_goTypes = []interface{}{ + (*AuditConfig)(nil), // 0: google.cloud.ids.v1.AuditConfig + (*AuditLogConfig)(nil), // 1: google.cloud.ids.v1.AuditLogConfig + (*Binding)(nil), // 2: google.cloud.ids.v1.Binding + (*CancelOperationRequest)(nil), // 3: google.cloud.ids.v1.CancelOperationRequest + (*Empty)(nil), // 4: google.cloud.ids.v1.Empty + (*Endpoint)(nil), // 5: google.cloud.ids.v1.Endpoint + (*Expr)(nil), // 6: google.cloud.ids.v1.Expr + (*ListEndpointsResponse)(nil), // 7: google.cloud.ids.v1.ListEndpointsResponse + (*ListLocationsResponse)(nil), // 8: google.cloud.ids.v1.ListLocationsResponse + (*ListOperationsResponse)(nil), // 9: google.cloud.ids.v1.ListOperationsResponse + (*Location)(nil), // 10: google.cloud.ids.v1.Location + (*Operation)(nil), // 11: google.cloud.ids.v1.Operation + (*OperationMetadata)(nil), // 12: google.cloud.ids.v1.OperationMetadata + (*Policy)(nil), // 13: google.cloud.ids.v1.Policy + (*SetIamPolicyRequest)(nil), // 14: google.cloud.ids.v1.SetIamPolicyRequest + (*Status)(nil), // 15: google.cloud.ids.v1.Status + (*TestIamPermissionsRequest)(nil), // 16: google.cloud.ids.v1.TestIamPermissionsRequest + (*TestIamPermissionsResponse)(nil), // 17: google.cloud.ids.v1.TestIamPermissionsResponse + (*GetProjectsLocationRequest)(nil), // 18: google.cloud.ids.v1.GetProjectsLocationRequest + (*ListProjectsLocationsRequest)(nil), // 19: google.cloud.ids.v1.ListProjectsLocationsRequest + (*CreateProjectsLocationsEndpointRequest)(nil), // 20: google.cloud.ids.v1.CreateProjectsLocationsEndpointRequest + (*DeleteProjectsLocationsEndpointRequest)(nil), // 21: google.cloud.ids.v1.DeleteProjectsLocationsEndpointRequest + (*GetProjectsLocationsEndpointRequest)(nil), // 22: google.cloud.ids.v1.GetProjectsLocationsEndpointRequest + (*ListProjectsLocationsEndpointsRequest)(nil), // 23: google.cloud.ids.v1.ListProjectsLocationsEndpointsRequest + (*PatchProjectsLocationsEndpointRequest)(nil), // 24: google.cloud.ids.v1.PatchProjectsLocationsEndpointRequest + nil, // 25: google.cloud.ids.v1.Endpoint.LabelsEntry + nil, // 26: google.cloud.ids.v1.Location.LabelsEntry + nil, // 27: google.cloud.ids.v1.Location.MetadataEntry + nil, // 28: google.cloud.ids.v1.Operation.MetadataEntry + nil, // 29: google.cloud.ids.v1.Operation.ResponseEntry + (*timestamp.Timestamp)(nil), // 30: google.protobuf.Timestamp + (*longrunningpb.Operation)(nil), // 31: google.longrunning.Operation + (*any1.Any)(nil), // 32: google.protobuf.Any +} +var file_mockgcp_cloud_ids_v1_service_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ids.v1.AuditConfig.audit_log_configs:type_name -> google.cloud.ids.v1.AuditLogConfig + 6, // 1: google.cloud.ids.v1.Binding.condition:type_name -> google.cloud.ids.v1.Expr + 30, // 2: google.cloud.ids.v1.Endpoint.create_time:type_name -> google.protobuf.Timestamp + 25, // 3: google.cloud.ids.v1.Endpoint.labels:type_name -> google.cloud.ids.v1.Endpoint.LabelsEntry + 30, // 4: google.cloud.ids.v1.Endpoint.update_time:type_name -> google.protobuf.Timestamp + 5, // 5: google.cloud.ids.v1.ListEndpointsResponse.endpoints:type_name -> google.cloud.ids.v1.Endpoint + 10, // 6: google.cloud.ids.v1.ListLocationsResponse.locations:type_name -> google.cloud.ids.v1.Location + 31, // 7: google.cloud.ids.v1.ListOperationsResponse.operations:type_name -> google.longrunning.Operation + 26, // 8: google.cloud.ids.v1.Location.labels:type_name -> google.cloud.ids.v1.Location.LabelsEntry + 27, // 9: google.cloud.ids.v1.Location.metadata:type_name -> google.cloud.ids.v1.Location.MetadataEntry + 15, // 10: google.cloud.ids.v1.Operation.error:type_name -> google.cloud.ids.v1.Status + 28, // 11: google.cloud.ids.v1.Operation.metadata:type_name -> google.cloud.ids.v1.Operation.MetadataEntry + 29, // 12: google.cloud.ids.v1.Operation.response:type_name -> google.cloud.ids.v1.Operation.ResponseEntry + 30, // 13: google.cloud.ids.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 30, // 14: google.cloud.ids.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 0, // 15: google.cloud.ids.v1.Policy.audit_configs:type_name -> google.cloud.ids.v1.AuditConfig + 2, // 16: google.cloud.ids.v1.Policy.bindings:type_name -> google.cloud.ids.v1.Binding + 13, // 17: google.cloud.ids.v1.SetIamPolicyRequest.policy:type_name -> google.cloud.ids.v1.Policy + 32, // 18: google.cloud.ids.v1.Status.details:type_name -> google.protobuf.Any + 5, // 19: google.cloud.ids.v1.CreateProjectsLocationsEndpointRequest.projects_locations_endpoint:type_name -> google.cloud.ids.v1.Endpoint + 5, // 20: google.cloud.ids.v1.PatchProjectsLocationsEndpointRequest.projects_locations_endpoint:type_name -> google.cloud.ids.v1.Endpoint + 32, // 21: google.cloud.ids.v1.Location.MetadataEntry.value:type_name -> google.protobuf.Any + 32, // 22: google.cloud.ids.v1.Operation.MetadataEntry.value:type_name -> google.protobuf.Any + 32, // 23: google.cloud.ids.v1.Operation.ResponseEntry.value:type_name -> google.protobuf.Any + 18, // 24: google.cloud.ids.v1.ProjectsLocationsServer.GetProjectsLocation:input_type -> google.cloud.ids.v1.GetProjectsLocationRequest + 19, // 25: google.cloud.ids.v1.ProjectsLocationsServer.ListProjectsLocations:input_type -> google.cloud.ids.v1.ListProjectsLocationsRequest + 20, // 26: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.CreateProjectsLocationsEndpoint:input_type -> google.cloud.ids.v1.CreateProjectsLocationsEndpointRequest + 21, // 27: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.DeleteProjectsLocationsEndpoint:input_type -> google.cloud.ids.v1.DeleteProjectsLocationsEndpointRequest + 22, // 28: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.GetProjectsLocationsEndpoint:input_type -> google.cloud.ids.v1.GetProjectsLocationsEndpointRequest + 23, // 29: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.ListProjectsLocationsEndpoints:input_type -> google.cloud.ids.v1.ListProjectsLocationsEndpointsRequest + 24, // 30: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.PatchProjectsLocationsEndpoint:input_type -> google.cloud.ids.v1.PatchProjectsLocationsEndpointRequest + 10, // 31: google.cloud.ids.v1.ProjectsLocationsServer.GetProjectsLocation:output_type -> google.cloud.ids.v1.Location + 8, // 32: google.cloud.ids.v1.ProjectsLocationsServer.ListProjectsLocations:output_type -> google.cloud.ids.v1.ListLocationsResponse + 31, // 33: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.CreateProjectsLocationsEndpoint:output_type -> google.longrunning.Operation + 31, // 34: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.DeleteProjectsLocationsEndpoint:output_type -> google.longrunning.Operation + 5, // 35: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.GetProjectsLocationsEndpoint:output_type -> google.cloud.ids.v1.Endpoint + 7, // 36: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.ListProjectsLocationsEndpoints:output_type -> google.cloud.ids.v1.ListEndpointsResponse + 31, // 37: google.cloud.ids.v1.ProjectsLocationsEndpointsServer.PatchProjectsLocationsEndpoint:output_type -> google.longrunning.Operation + 31, // [31:38] is the sub-list for method output_type + 24, // [24:31] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { file_mockgcp_cloud_ids_v1_service_proto_init() } +func file_mockgcp_cloud_ids_v1_service_proto_init() { + if File_mockgcp_cloud_ids_v1_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuditConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuditLogConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Binding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CancelOperationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Empty); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Endpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEndpointsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListLocationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOperationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Operation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Policy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetIamPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsLocationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsLocationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProjectsLocationsEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProjectsLocationsEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsLocationsEndpointRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsLocationsEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_cloud_ids_v1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchProjectsLocationsEndpointRequest); 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_cloud_ids_v1_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 30, + NumExtensions: 0, + NumServices: 3, + }, + GoTypes: file_mockgcp_cloud_ids_v1_service_proto_goTypes, + DependencyIndexes: file_mockgcp_cloud_ids_v1_service_proto_depIdxs, + MessageInfos: file_mockgcp_cloud_ids_v1_service_proto_msgTypes, + }.Build() + File_mockgcp_cloud_ids_v1_service_proto = out.File + file_mockgcp_cloud_ids_v1_service_proto_rawDesc = nil + file_mockgcp_cloud_ids_v1_service_proto_goTypes = nil + file_mockgcp_cloud_ids_v1_service_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go new file mode 100644 index 0000000000..28311d8c5e --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go @@ -0,0 +1,983 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/cloud/ids/v1/service.proto + +/* +Package idspb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package idspb + +import ( + "context" + "io" + "net/http" + + "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 + +func request_ProjectsLocationsServer_GetProjectsLocation_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationRequest + 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.StringP(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsLocation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsServer_GetProjectsLocation_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationRequest + 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.StringP(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsLocation(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsServer_ListProjectsLocations_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsServer_ListProjectsLocations_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsRequest + 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.StringP(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_ProjectsLocationsServer_ListProjectsLocations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsLocations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsServer_ListProjectsLocations_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsRequest + 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.StringP(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_ProjectsLocationsServer_ListProjectsLocations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsLocations(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"projects_locations_endpoint": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsEndpointsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsLocationsEndpointRequest + 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.ProjectsLocationsEndpoint); 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.StringP(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_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateProjectsLocationsEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsEndpointsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsLocationsEndpointRequest + 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.ProjectsLocationsEndpoint); 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.StringP(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_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateProjectsLocationsEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsEndpointsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsLocationsEndpointRequest + 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.StringP(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_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.DeleteProjectsLocationsEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsEndpointsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsLocationsEndpointRequest + 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.StringP(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_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.DeleteProjectsLocationsEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsEndpointsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsEndpointRequest + 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.StringP(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsLocationsEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsEndpointsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsEndpointRequest + 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.StringP(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsLocationsEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsEndpointsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsEndpointsRequest + 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.StringP(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_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsLocationsEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsEndpointsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsEndpointsRequest + 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.StringP(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_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsLocationsEndpoints(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"projects_locations_endpoint": 0, "name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsEndpointsServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsLocationsEndpointRequest + 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.ProjectsLocationsEndpoint); 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["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.StringP(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_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PatchProjectsLocationsEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsEndpointsServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsLocationsEndpointRequest + 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.ProjectsLocationsEndpoint); 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["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.StringP(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_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PatchProjectsLocationsEndpoint(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterProjectsLocationsServerHandlerServer registers the http handlers for service ProjectsLocationsServer to "mux". +// UnaryRPC :call ProjectsLocationsServerServer 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 RegisterProjectsLocationsServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsServerServer) error { + + mux.Handle("GET", pattern_ProjectsLocationsServer_GetProjectsLocation_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, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsServer_GetProjectsLocation_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_ProjectsLocationsServer_GetProjectsLocation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsServer_ListProjectsLocations_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, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=*}/locations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsServer_ListProjectsLocations_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_ProjectsLocationsServer_ListProjectsLocations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsEndpointsServerHandlerServer registers the http handlers for service ProjectsLocationsEndpointsServer to "mux". +// UnaryRPC :call ProjectsLocationsEndpointsServerServer 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 RegisterProjectsLocationsEndpointsServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsEndpointsServerServer) error { + + mux.Handle("POST", pattern_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_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_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_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_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_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_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_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_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_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_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsServerHandlerFromEndpoint is same as RegisterProjectsLocationsServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsServerHandlerFromEndpoint(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 RegisterProjectsLocationsServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsServerHandler registers the http handlers for service ProjectsLocationsServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsServerHandlerClient(ctx, mux, NewProjectsLocationsServerClient(conn)) +} + +// RegisterProjectsLocationsServerHandlerClient registers the http handlers for service ProjectsLocationsServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsServerClient" to call the correct interceptors. +func RegisterProjectsLocationsServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsServerClient) error { + + mux.Handle("GET", pattern_ProjectsLocationsServer_GetProjectsLocation_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, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsServer_GetProjectsLocation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsServer_GetProjectsLocation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsServer_ListProjectsLocations_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, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=*}/locations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsServer_ListProjectsLocations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsServer_ListProjectsLocations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsServer_GetProjectsLocation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsLocationsServer_ListProjectsLocations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "locations"}, "")) +) + +var ( + forward_ProjectsLocationsServer_GetProjectsLocation_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsServer_ListProjectsLocations_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsLocationsEndpointsServerHandlerFromEndpoint is same as RegisterProjectsLocationsEndpointsServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsEndpointsServerHandlerFromEndpoint(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 RegisterProjectsLocationsEndpointsServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsEndpointsServerHandler registers the http handlers for service ProjectsLocationsEndpointsServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsEndpointsServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsEndpointsServerHandlerClient(ctx, mux, NewProjectsLocationsEndpointsServerClient(conn)) +} + +// RegisterProjectsLocationsEndpointsServerHandlerClient registers the http handlers for service ProjectsLocationsEndpointsServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsEndpointsServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsEndpointsServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsEndpointsServerClient" to call the correct interceptors. +func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsEndpointsServerClient) error { + + mux.Handle("POST", pattern_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_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, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "endpoints"}, "")) + + pattern_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "endpoints"}, "")) + + pattern_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) +) + +var ( + forward_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/service_grpc.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/service_grpc.pb.go new file mode 100644 index 0000000000..94c4b4e151 --- /dev/null +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/service_grpc.pb.go @@ -0,0 +1,423 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/cloud/ids/v1/service.proto + +package idspb + +import ( + 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 + +// ProjectsServerClient is the client API for ProjectsServer 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 ProjectsServerClient interface { +} + +type projectsServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsServerClient(cc grpc.ClientConnInterface) ProjectsServerClient { + return &projectsServerClient{cc} +} + +// ProjectsServerServer is the server API for ProjectsServer service. +// All implementations must embed UnimplementedProjectsServerServer +// for forward compatibility +type ProjectsServerServer interface { + mustEmbedUnimplementedProjectsServerServer() +} + +// UnimplementedProjectsServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsServerServer struct { +} + +func (UnimplementedProjectsServerServer) mustEmbedUnimplementedProjectsServerServer() {} + +// UnsafeProjectsServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsServerServer will +// result in compilation errors. +type UnsafeProjectsServerServer interface { + mustEmbedUnimplementedProjectsServerServer() +} + +func RegisterProjectsServerServer(s grpc.ServiceRegistrar, srv ProjectsServerServer) { + s.RegisterService(&ProjectsServer_ServiceDesc, srv) +} + +// ProjectsServer_ServiceDesc is the grpc.ServiceDesc for ProjectsServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ids.v1.ProjectsServer", + HandlerType: (*ProjectsServerServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/ids/v1/service.proto", +} + +// ProjectsLocationsServerClient is the client API for ProjectsLocationsServer 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 ProjectsLocationsServerClient interface { + GetProjectsLocation(ctx context.Context, in *GetProjectsLocationRequest, opts ...grpc.CallOption) (*Location, error) + ListProjectsLocations(ctx context.Context, in *ListProjectsLocationsRequest, opts ...grpc.CallOption) (*ListLocationsResponse, error) +} + +type projectsLocationsServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsServerClient(cc grpc.ClientConnInterface) ProjectsLocationsServerClient { + return &projectsLocationsServerClient{cc} +} + +func (c *projectsLocationsServerClient) GetProjectsLocation(ctx context.Context, in *GetProjectsLocationRequest, opts ...grpc.CallOption) (*Location, error) { + out := new(Location) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsServerClient) ListProjectsLocations(ctx context.Context, in *ListProjectsLocationsRequest, opts ...grpc.CallOption) (*ListLocationsResponse, error) { + out := new(ListLocationsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsServerServer is the server API for ProjectsLocationsServer service. +// All implementations must embed UnimplementedProjectsLocationsServerServer +// for forward compatibility +type ProjectsLocationsServerServer interface { + GetProjectsLocation(context.Context, *GetProjectsLocationRequest) (*Location, error) + ListProjectsLocations(context.Context, *ListProjectsLocationsRequest) (*ListLocationsResponse, error) + mustEmbedUnimplementedProjectsLocationsServerServer() +} + +// UnimplementedProjectsLocationsServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsServerServer struct { +} + +func (UnimplementedProjectsLocationsServerServer) GetProjectsLocation(context.Context, *GetProjectsLocationRequest) (*Location, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsLocation not implemented") +} +func (UnimplementedProjectsLocationsServerServer) ListProjectsLocations(context.Context, *ListProjectsLocationsRequest) (*ListLocationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsLocations not implemented") +} +func (UnimplementedProjectsLocationsServerServer) mustEmbedUnimplementedProjectsLocationsServerServer() { +} + +// UnsafeProjectsLocationsServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsServerServer interface { + mustEmbedUnimplementedProjectsLocationsServerServer() +} + +func RegisterProjectsLocationsServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsServerServer) { + s.RegisterService(&ProjectsLocationsServer_ServiceDesc, srv) +} + +func _ProjectsLocationsServer_GetProjectsLocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsLocationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsServerServer).GetProjectsLocation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsServerServer).GetProjectsLocation(ctx, req.(*GetProjectsLocationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsServer_ListProjectsLocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsLocationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsServerServer).ListProjectsLocations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsServerServer).ListProjectsLocations(ctx, req.(*ListProjectsLocationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ids.v1.ProjectsLocationsServer", + HandlerType: (*ProjectsLocationsServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetProjectsLocation", + Handler: _ProjectsLocationsServer_GetProjectsLocation_Handler, + }, + { + MethodName: "ListProjectsLocations", + Handler: _ProjectsLocationsServer_ListProjectsLocations_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/ids/v1/service.proto", +} + +// ProjectsLocationsEndpointsServerClient is the client API for ProjectsLocationsEndpointsServer 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 ProjectsLocationsEndpointsServerClient interface { + CreateProjectsLocationsEndpoint(ctx context.Context, in *CreateProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + DeleteProjectsLocationsEndpoint(ctx context.Context, in *DeleteProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + GetProjectsLocationsEndpoint(ctx context.Context, in *GetProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) + ListProjectsLocationsEndpoints(ctx context.Context, in *ListProjectsLocationsEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) + PatchProjectsLocationsEndpoint(ctx context.Context, in *PatchProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type projectsLocationsEndpointsServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsEndpointsServerClient(cc grpc.ClientConnInterface) ProjectsLocationsEndpointsServerClient { + return &projectsLocationsEndpointsServerClient{cc} +} + +func (c *projectsLocationsEndpointsServerClient) CreateProjectsLocationsEndpoint(ctx context.Context, in *CreateProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsEndpointsServerClient) DeleteProjectsLocationsEndpoint(ctx context.Context, in *DeleteProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsEndpointsServerClient) GetProjectsLocationsEndpoint(ctx context.Context, in *GetProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*Endpoint, error) { + out := new(Endpoint) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsEndpointsServerClient) ListProjectsLocationsEndpoints(ctx context.Context, in *ListProjectsLocationsEndpointsRequest, opts ...grpc.CallOption) (*ListEndpointsResponse, error) { + out := new(ListEndpointsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsEndpointsServerClient) PatchProjectsLocationsEndpoint(ctx context.Context, in *PatchProjectsLocationsEndpointRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsEndpointsServerServer is the server API for ProjectsLocationsEndpointsServer service. +// All implementations must embed UnimplementedProjectsLocationsEndpointsServerServer +// for forward compatibility +type ProjectsLocationsEndpointsServerServer interface { + CreateProjectsLocationsEndpoint(context.Context, *CreateProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) + DeleteProjectsLocationsEndpoint(context.Context, *DeleteProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) + GetProjectsLocationsEndpoint(context.Context, *GetProjectsLocationsEndpointRequest) (*Endpoint, error) + ListProjectsLocationsEndpoints(context.Context, *ListProjectsLocationsEndpointsRequest) (*ListEndpointsResponse, error) + PatchProjectsLocationsEndpoint(context.Context, *PatchProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) + mustEmbedUnimplementedProjectsLocationsEndpointsServerServer() +} + +// UnimplementedProjectsLocationsEndpointsServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsEndpointsServerServer struct { +} + +func (UnimplementedProjectsLocationsEndpointsServerServer) CreateProjectsLocationsEndpoint(context.Context, *CreateProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProjectsLocationsEndpoint not implemented") +} +func (UnimplementedProjectsLocationsEndpointsServerServer) DeleteProjectsLocationsEndpoint(context.Context, *DeleteProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProjectsLocationsEndpoint not implemented") +} +func (UnimplementedProjectsLocationsEndpointsServerServer) GetProjectsLocationsEndpoint(context.Context, *GetProjectsLocationsEndpointRequest) (*Endpoint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsLocationsEndpoint not implemented") +} +func (UnimplementedProjectsLocationsEndpointsServerServer) ListProjectsLocationsEndpoints(context.Context, *ListProjectsLocationsEndpointsRequest) (*ListEndpointsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsLocationsEndpoints not implemented") +} +func (UnimplementedProjectsLocationsEndpointsServerServer) PatchProjectsLocationsEndpoint(context.Context, *PatchProjectsLocationsEndpointRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchProjectsLocationsEndpoint not implemented") +} +func (UnimplementedProjectsLocationsEndpointsServerServer) mustEmbedUnimplementedProjectsLocationsEndpointsServerServer() { +} + +// UnsafeProjectsLocationsEndpointsServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsEndpointsServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsEndpointsServerServer interface { + mustEmbedUnimplementedProjectsLocationsEndpointsServerServer() +} + +func RegisterProjectsLocationsEndpointsServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsEndpointsServerServer) { + s.RegisterService(&ProjectsLocationsEndpointsServer_ServiceDesc, srv) +} + +func _ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProjectsLocationsEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsEndpointsServerServer).CreateProjectsLocationsEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsEndpointsServerServer).CreateProjectsLocationsEndpoint(ctx, req.(*CreateProjectsLocationsEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProjectsLocationsEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsEndpointsServerServer).DeleteProjectsLocationsEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsEndpointsServerServer).DeleteProjectsLocationsEndpoint(ctx, req.(*DeleteProjectsLocationsEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsLocationsEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsEndpointsServerServer).GetProjectsLocationsEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsEndpointsServerServer).GetProjectsLocationsEndpoint(ctx, req.(*GetProjectsLocationsEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsLocationsEndpointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsEndpointsServerServer).ListProjectsLocationsEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsEndpointsServerServer).ListProjectsLocationsEndpoints(ctx, req.(*ListProjectsLocationsEndpointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchProjectsLocationsEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsEndpointsServerServer).PatchProjectsLocationsEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsEndpointsServerServer).PatchProjectsLocationsEndpoint(ctx, req.(*PatchProjectsLocationsEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsEndpointsServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsEndpointsServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsEndpointsServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ids.v1.ProjectsLocationsEndpointsServer", + HandlerType: (*ProjectsLocationsEndpointsServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateProjectsLocationsEndpoint", + Handler: _ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_Handler, + }, + { + MethodName: "DeleteProjectsLocationsEndpoint", + Handler: _ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_Handler, + }, + { + MethodName: "GetProjectsLocationsEndpoint", + Handler: _ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_Handler, + }, + { + MethodName: "ListProjectsLocationsEndpoints", + Handler: _ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_Handler, + }, + { + MethodName: "PatchProjectsLocationsEndpoint", + Handler: _ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/cloud/ids/v1/service.proto", +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index ad0078cba0..db4251d7d1 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -41,6 +41,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockbilling" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcertificatemanager" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcloudfunctions" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcloudids" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcompute" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcontainer" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockedgecontainer" @@ -49,7 +50,6 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockgkemulticloud" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockiam" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockkms" - "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockids" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mocklogging" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockmonitoring" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mocknetworkservices" @@ -145,7 +145,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, mockartifactregistry.New(env, storage)) services = append(services, mockgkehub.New(env, storage)) services = append(services, mockalloydb.New(env, storage)) - services = append(services, mockids.New(env, storage)) + services = append(services, mockcloudids.New(env, storage)) for _, service := range services { service.Register(server) diff --git a/mockgcp/mockids/endpoint.go b/mockgcp/mockcloudids/endpoint.go similarity index 55% rename from mockgcp/mockids/endpoint.go rename to mockgcp/mockcloudids/endpoint.go index 5a79f62281..d4c5441a28 100644 --- a/mockgcp/mockids/endpoint.go +++ b/mockgcp/mockcloudids/endpoint.go @@ -12,18 +12,20 @@ // See the License for the specific language governing permissions and // limitations under the License. -package mockids +package mockcloudids import ( "context" "fmt" "regexp" "strings" + "time" "google.golang.org/genproto/googleapis/longrunning" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/timestamppb" pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/cloud/ids/v1" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" @@ -31,11 +33,11 @@ import ( type CloudIDSEndpointV1 struct { *MockService - pb.UnimplementedIDSServer + pb.UnimplementedProjectsLocationsEndpointsServerServer } -func (c *CloudIDSEndpointV1) ListEndpoints(ctx context.Context, request *pb.ListEndpointsRequest) (*pb.ListEndpointsResponse, error) { - project, err := c.Projects.GetProjectByID(request.Parent) +func (c *CloudIDSEndpointV1) ListProjectsLocationsEndpoints(ctx context.Context, request *pb.ListProjectsLocationsEndpointsRequest) (*pb.ListEndpointsResponse, error) { + project, err := c.Projects.GetProjectByID(*request.Parent) if err != nil { return nil, err } @@ -45,7 +47,7 @@ func (c *CloudIDSEndpointV1) ListEndpoints(ctx context.Context, request *pb.List var endpoints []*pb.Endpoint if err := c.storage.List(ctx, endpointKind, storage.ListOptions{}, func(obj proto.Message) error { endpoint := obj.(*pb.Endpoint) - if strings.HasPrefix(endpoint.Name, findPrefix) { + if strings.HasPrefix(*endpoint.Name, findPrefix) { endpoints = append(endpoints, endpoint) } @@ -59,8 +61,8 @@ func (c *CloudIDSEndpointV1) ListEndpoints(ctx context.Context, request *pb.List }, nil } -func (c *CloudIDSEndpointV1) GetEndpoint(ctx context.Context, request *pb.GetEndpointRequest) (*pb.Endpoint, error) { - endpoint, err := c.parseEndpointName(request.Name) +func (c *CloudIDSEndpointV1) GetProjectsLocationsEndpoint(ctx context.Context, request *pb.GetProjectsLocationsEndpointRequest) (*pb.Endpoint, error) { + endpoint, err := c.parseEndpointName(*request.Name) if err != nil { return nil, err } @@ -74,25 +76,25 @@ func (c *CloudIDSEndpointV1) GetEndpoint(ctx context.Context, request *pb.GetEnd return obj, nil } -func (c *CloudIDSEndpointV1) CreateEndpoint(ctx context.Context, request *pb.CreateEndpointRequest) (*longrunning.Operation, error) { +func (c *CloudIDSEndpointV1) CreateProjectsLocationsEndpoint(ctx context.Context, request *pb.CreateProjectsLocationsEndpointRequest) (*longrunning.Operation, error) { // validate endpoint id: // This value must start with a lowercase letter followed by up to 62 // lowercase letters, numbers, or hyphens, and cannot end with a hyphen. // Values that do not match this pattern will trigger an INVALID_ARGUMENT // error. re := regexp.MustCompile(`^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`) - if !re.MatchString(request.EndpointId) { - return nil, status.Errorf(codes.InvalidArgument, "endpointID %q is malformed", request.EndpointId) + if !re.MatchString(*request.EndpointId) { + return nil, status.Errorf(codes.InvalidArgument, "endpointID %q is malformed", *request.EndpointId) } - reqName := request.Parent + "/endpoints/" + request.EndpointId + reqName := *request.Parent + "/endpoints/" + *request.EndpointId endpoint, err := c.parseEndpointName(reqName) if err != nil { return nil, err } fqn := endpoint.String() - obj := proto.Clone(request.Endpoint).(*pb.Endpoint) + obj := proto.Clone(request.ProjectsLocationsEndpoint).(*pb.Endpoint) if err := c.storage.Create(ctx, fqn, obj); err != nil { return nil, err } @@ -100,8 +102,8 @@ func (c *CloudIDSEndpointV1) CreateEndpoint(ctx context.Context, request *pb.Cre return c.operations.NewLRO(ctx) } -func (c *CloudIDSEndpointV1) DeleteEndpoint(ctx context.Context, request *pb.DeleteEndpointRequest) (*longrunning.Operation, error) { - endpoint, err := c.parseEndpointName(request.Name) +func (c *CloudIDSEndpointV1) DeleteProjectsLocationsEndpoint(ctx context.Context, request *pb.DeleteProjectsLocationsEndpointRequest) (*longrunning.Operation, error) { + endpoint, err := c.parseEndpointName(*request.Name) if err != nil { return nil, err } @@ -115,3 +117,34 @@ func (c *CloudIDSEndpointV1) DeleteEndpoint(ctx context.Context, request *pb.Del return c.operations.NewLRO(ctx) } + +func (c *CloudIDSEndpointV1) PatchProjectsLocationsEndpoint(ctx context.Context, request *pb.PatchProjectsLocationsEndpointRequest) (*longrunning.Operation, error) { + endpoint, err := c.parseEndpointName(*request.Name) + if err != nil { + return nil, err + } + + fqn := endpoint.String() + now := time.Now() + + curObj := &pb.Endpoint{} + if err := c.storage.Get(ctx, fqn, curObj); err != nil { + return nil, err + } + + paths := strings.Split(request.GetUpdateMask(), ",") + for _, path := range paths { + switch path { + default: + return nil, status.Errorf(codes.InvalidArgument, "field %q is not yet handled in mock", path) + } + } + + curObj.UpdateTime = timestamppb.New(now) + + if err := c.storage.Update(ctx, fqn, curObj); err != nil { + return nil, err + } + + return c.operations.NewLRO(ctx) +} diff --git a/mockgcp/mockids/names.go b/mockgcp/mockcloudids/names.go similarity index 96% rename from mockgcp/mockids/names.go rename to mockgcp/mockcloudids/names.go index 96927cc9fd..df6d8e6527 100644 --- a/mockgcp/mockids/names.go +++ b/mockgcp/mockcloudids/names.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package mockids +package mockcloudids import ( "strings" @@ -39,7 +39,7 @@ func (e *endpoint) String() string { func (s *MockService) parseEndpointName(name string) (*endpoint, error) { tokens := strings.Split(name, "/") - if len(tokens) == 6 && tokens[0] == "projects" && tokens[2] == "locations" && tokens[4] == "features" { + if len(tokens) == 6 && tokens[0] == "projects" && tokens[2] == "locations" && tokens[4] == "endpoints" { project, err := s.Projects.GetProjectByID(tokens[1]) if err != nil { return nil, err diff --git a/mockgcp/mockids/service.go b/mockgcp/mockcloudids/service.go similarity index 90% rename from mockgcp/mockids/service.go rename to mockgcp/mockcloudids/service.go index a7e1e220cd..c4ab560430 100644 --- a/mockgcp/mockids/service.go +++ b/mockgcp/mockcloudids/service.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package mockids +package mockcloudids import ( "context" @@ -52,13 +52,13 @@ func (s *MockService) ExpectedHost() string { } func (s *MockService) Register(grpcServer *grpc.Server) { - pb.RegisterIDSServer(grpcServer, s.v1) + pb.RegisterProjectsLocationsEndpointsServerServer(grpcServer, s.v1) } func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { mux := runtime.NewServeMux() - if err := pb.RegisterIDSHandler(ctx, mux, conn); err != nil { + if err := pb.RegisterProjectsLocationsEndpointsServerHandler(ctx, mux, conn); err != nil { return nil, err } From 3c72078dcd7ec4c999e5c1186b18c8287059fd23 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Tue, 4 Jun 2024 23:14:50 +0000 Subject: [PATCH 4/7] tests: turn on mock for idsendpoint Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- config/tests/samples/create/harness.go | 1 + 1 file changed, 1 insertion(+) diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index 0b765aa82b..f17dae2a3f 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -594,6 +594,7 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured case schema.GroupKind{Group: "gkehub.cnrm.cloud.google.com", Kind: "GKEHubFeature"}: case schema.GroupKind{Group: "cloudfunctions.cnrm.cloud.google.com", Kind: "CloudFunctionsFunction"}: + case schema.GroupKind{Group: "cloudids.cnrm.cloud.google.com", Kind: "CloudIDSEndpoint"}: case schema.GroupKind{Group: "containerattached.cnrm.cloud.google.com", Kind: "ContainerAttachedCluster"}: From d570de8f2c7de65a3cb834315de779f8de04b27a Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Wed, 5 Jun 2024 07:24:34 +0000 Subject: [PATCH 5/7] mockgcp: regenerate api Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- .../apis/mockgcp/cloud/ids/v1/service.proto | 18 +-- .../mockgcp/cloud/ids/v1/service.pb.go | 151 ++++++++++-------- .../mockgcp/cloud/ids/v1/service.pb.gw.go | 42 ++--- mockgcp/tools/gapic/pkg/protogen/convert.go | 13 +- mockgcp/tools/gapic/pkg/sorted/map.go | 14 +- 5 files changed, 135 insertions(+), 103 deletions(-) diff --git a/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto index e399047ce1..d694e5fe07 100644 --- a/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto +++ b/mockgcp/apis/mockgcp/cloud/ids/v1/service.proto @@ -24,13 +24,13 @@ service ProjectsServer { service ProjectsLocationsServer { rpc GetProjectsLocation(GetProjectsLocationRequest) returns (Location){ option (google.api.http) = { - get: "/v1/{name=*}" + get: "/v1/{name=projects/*/locations/*}" }; } ; rpc ListProjectsLocations(ListProjectsLocationsRequest) returns (ListLocationsResponse){ option (google.api.http) = { - get: "/v1/{name=*}/locations" + get: "/v1/{name=projects/*}/locations" }; } ; @@ -38,33 +38,33 @@ service ProjectsLocationsServer { service ProjectsLocationsEndpointsServer { rpc CreateProjectsLocationsEndpoint(CreateProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ option (google.api.http) = { - post: "/v1/{parent=*}/endpoints" - body: "projects_locations_endpoint" + post: "/v1/{parent=projects/*/locations/*}/endpoints" + body: "projects_locations_endpoint" }; } ; rpc DeleteProjectsLocationsEndpoint(DeleteProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ option (google.api.http) = { - delete: "/v1/{name=*}" + delete: "/v1/{name=projects/*/locations/*/endpoints/*}" }; } ; rpc GetProjectsLocationsEndpoint(GetProjectsLocationsEndpointRequest) returns (Endpoint){ option (google.api.http) = { - get: "/v1/{name=*}" + get: "/v1/{name=projects/*/locations/*/endpoints/*}" }; } ; rpc ListProjectsLocationsEndpoints(ListProjectsLocationsEndpointsRequest) returns (ListEndpointsResponse){ option (google.api.http) = { - get: "/v1/{parent=*}/endpoints" + get: "/v1/{parent=projects/*/locations/*}/endpoints" }; } ; rpc PatchProjectsLocationsEndpoint(PatchProjectsLocationsEndpointRequest) returns (.google.longrunning.Operation){ option (google.api.http) = { - patch: "/v1/{name=*}" - body: "projects_locations_endpoint" + patch: "/v1/{name=projects/*/locations/*/endpoints/*}" + body: "projects_locations_endpoint" }; } ; diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go index 3a1a635a0d..c96f7c79bf 100644 --- a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.go @@ -1919,83 +1919,94 @@ var file_mockgcp_cloud_ids_v1_service_proto_rawDesc = []byte{ 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x32, 0x10, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x32, 0xaf, 0x02, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x7b, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x15, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x32, 0xe5, 0x06, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xbc, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 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, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, - 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, - 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, + 0x72, 0x32, 0xce, 0x02, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x90, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0x9f, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x32, 0xf2, 0x07, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xd1, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, - 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x8d, 0x01, - 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, - 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0xaa, 0x01, - 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, - 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, - 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x1e, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 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, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, - 0x32, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x3a, 0x1b, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, + 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x2b, 0x5a, 0x29, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x67, 0x6f, 0x2f, 0x69, 0x64, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, - 0x70, 0x62, 0x3b, 0x69, 0x64, 0x73, 0x70, 0x62, + 0x6e, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0xb4, 0x01, 0x0a, 0x1f, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x35, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x35, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xcf, 0x01, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x69, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 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, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x32, 0x2d, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x2b, 0x5a, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, + 0x64, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x64, 0x73, 0x70, 0x62, 0x3b, 0x69, + 0x64, 0x73, 0x70, 0x62, } var ( diff --git a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go index 28311d8c5e..939bb0cfde 100644 --- a/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go +++ b/mockgcp/generated/mockgcp/cloud/ids/v1/service.pb.gw.go @@ -531,7 +531,7 @@ func RegisterProjectsLocationsServerHandlerServer(ctx context.Context, mux *runt inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -556,7 +556,7 @@ func RegisterProjectsLocationsServerHandlerServer(ctx context.Context, mux *runt inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=*}/locations")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=projects/*}/locations")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -590,7 +590,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -615,7 +615,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -640,7 +640,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -665,7 +665,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -690,7 +690,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerServer(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -754,7 +754,7 @@ func RegisterProjectsLocationsServerHandlerClient(ctx context.Context, mux *runt inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/GetProjectsLocation", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -776,7 +776,7 @@ func RegisterProjectsLocationsServerHandlerClient(ctx context.Context, mux *runt inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=*}/locations")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsServer/ListProjectsLocations", runtime.WithHTTPPathPattern("/v1/{name=projects/*}/locations")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -796,9 +796,9 @@ func RegisterProjectsLocationsServerHandlerClient(ctx context.Context, mux *runt } var ( - pattern_ProjectsLocationsServer_GetProjectsLocation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + pattern_ProjectsLocationsServer_GetProjectsLocation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "locations", "name"}, "")) - pattern_ProjectsLocationsServer_ListProjectsLocations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "locations"}, "")) + pattern_ProjectsLocationsServer_ListProjectsLocations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "name", "locations"}, "")) ) var ( @@ -851,7 +851,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/CreateProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -873,7 +873,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/DeleteProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -895,7 +895,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/GetProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -917,7 +917,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=*}/endpoints")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/ListProjectsLocationsEndpoints", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/endpoints")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -939,7 +939,7 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=*}")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.ids.v1.ProjectsLocationsEndpointsServer/PatchProjectsLocationsEndpoint", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/endpoints/*}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -959,15 +959,15 @@ func RegisterProjectsLocationsEndpointsServerHandlerClient(ctx context.Context, } var ( - pattern_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "endpoints"}, "")) + pattern_ProjectsLocationsEndpointsServer_CreateProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) - pattern_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + pattern_ProjectsLocationsEndpointsServer_DeleteProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) - pattern_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + pattern_ProjectsLocationsEndpointsServer_GetProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) - pattern_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "endpoints"}, "")) + pattern_ProjectsLocationsEndpointsServer_ListProjectsLocationsEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "endpoints"}, "")) - pattern_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + pattern_ProjectsLocationsEndpointsServer_PatchProjectsLocationsEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "endpoints", "name"}, "")) ) var ( diff --git a/mockgcp/tools/gapic/pkg/protogen/convert.go b/mockgcp/tools/gapic/pkg/protogen/convert.go index d42b152850..5ed6e68fd3 100644 --- a/mockgcp/tools/gapic/pkg/protogen/convert.go +++ b/mockgcp/tools/gapic/pkg/protogen/convert.go @@ -357,7 +357,18 @@ func (c *OpenAPIConverter) buildServiceFromOpenAPI(pluralName string, resource * match = strings.TrimPrefix(match, "{+") match = strings.TrimSuffix(match, "}") - return "{" + match + "=*}" + expansion := "*" + if parameter := method.Parameters.Get(match); parameter != nil { + if parameter.Pattern != "" { + pattern := parameter.Pattern + pattern = strings.TrimPrefix(pattern, "^") + pattern = strings.TrimSuffix(pattern, "$") + pattern = strings.ReplaceAll(pattern, "[^/]+", "*") + expansion = pattern + } + } + + return "{" + match + "=" + expansion + "}" }) } diff --git a/mockgcp/tools/gapic/pkg/sorted/map.go b/mockgcp/tools/gapic/pkg/sorted/map.go index 72f585aeee..6f35aa81ef 100644 --- a/mockgcp/tools/gapic/pkg/sorted/map.go +++ b/mockgcp/tools/gapic/pkg/sorted/map.go @@ -20,15 +20,25 @@ import ( "fmt" ) -type Map[K any, V any] struct { +type Map[K comparable, V any] struct { entries []Entry[K, V] } -type Entry[K any, V any] struct { +type Entry[K comparable, V any] struct { Key K Value V } +func (m *Map[K, V]) Get(k K) V { + for _, entry := range m.entries { + if entry.Key == k { + return entry.Value + } + } + var emptyV V + return emptyV +} + func (m *Map[K, V]) Keys() []K { var keys []K for _, entry := range m.entries { From 5339ab5d0a90954ff9450ee1d591c7b12c7048d9 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 7 Jun 2024 00:06:57 +0000 Subject: [PATCH 6/7] mockgcp: add update for cloudidsendpoint Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- mockgcp/mockcloudids/endpoint.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mockgcp/mockcloudids/endpoint.go b/mockgcp/mockcloudids/endpoint.go index d4c5441a28..f42d91bd9d 100644 --- a/mockgcp/mockcloudids/endpoint.go +++ b/mockgcp/mockcloudids/endpoint.go @@ -135,6 +135,8 @@ func (c *CloudIDSEndpointV1) PatchProjectsLocationsEndpoint(ctx context.Context, paths := strings.Split(request.GetUpdateMask(), ",") for _, path := range paths { switch path { + case "threatExceptions": + curObj.ThreatExceptions = request.ProjectsLocationsEndpoint.GetThreatExceptions() default: return nil, status.Errorf(codes.InvalidArgument, "field %q is not yet handled in mock", path) } From 780055b2db947cbf71f0e21a1af603cf806fac68 Mon Sep 17 00:00:00 2001 From: Alex Pana <8968914+acpana@users.noreply.github.com> Date: Fri, 7 Jun 2024 00:13:08 +0000 Subject: [PATCH 7/7] tests: update update.yaml for cloudidsendpoint Signed-off-by: Alex Pana <8968914+acpana@users.noreply.github.com> --- .../basic/cloudids/v1alpha1/cloudidsendpoint/update.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/test/resourcefixture/testdata/basic/cloudids/v1alpha1/cloudidsendpoint/update.yaml b/pkg/test/resourcefixture/testdata/basic/cloudids/v1alpha1/cloudidsendpoint/update.yaml index fb877371ec..7309928fe4 100644 --- a/pkg/test/resourcefixture/testdata/basic/cloudids/v1alpha1/cloudidsendpoint/update.yaml +++ b/pkg/test/resourcefixture/testdata/basic/cloudids/v1alpha1/cloudidsendpoint/update.yaml @@ -18,7 +18,9 @@ metadata: name: cloudidsendpoint-${uniqueId} spec: network: "computenetwork-${uniqueId}" - severity: "ERROR" + severity: "INFORMATIONAL" location: "us-west2-a" projectRef: external: ${projectId} + threatExceptions: + - exception1-${uniqueId}