| // Copyright 2022 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.26.0 |
| // protoc v3.12.2 |
| // source: google/cloud/run/v2/service.proto |
| |
| package runpb |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| timestamp "github.com/golang/protobuf/ptypes/timestamp" |
| api "google.golang.org/genproto/googleapis/api" |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| v1 "google.golang.org/genproto/googleapis/iam/v1" |
| longrunning "google.golang.org/genproto/googleapis/longrunning" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| ) |
| |
| 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) |
| ) |
| |
| // Request message for creating a Service. |
| type CreateServiceRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The location and project in which this service should be created. |
| // Format: projects/{project}/locations/{location} |
| // Only lowercase characters, digits, and hyphens. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. The Service instance to create. |
| Service *Service `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` |
| // Required. The unique identifier for the Service. It must begin with letter, |
| // and may not end with hyphen; must contain fewer than 50 characters. |
| // The name of the service becomes {parent}/services/{service_id}. |
| ServiceId string `protobuf:"bytes,3,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"` |
| // Indicates that the request should be validated and default values |
| // populated, without persisting the request or creating any resources. |
| ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *CreateServiceRequest) Reset() { |
| *x = CreateServiceRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateServiceRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateServiceRequest) ProtoMessage() {} |
| |
| func (x *CreateServiceRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 CreateServiceRequest.ProtoReflect.Descriptor instead. |
| func (*CreateServiceRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *CreateServiceRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateServiceRequest) GetService() *Service { |
| if x != nil { |
| return x.Service |
| } |
| return nil |
| } |
| |
| func (x *CreateServiceRequest) GetServiceId() string { |
| if x != nil { |
| return x.ServiceId |
| } |
| return "" |
| } |
| |
| func (x *CreateServiceRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Request message for updating a service. |
| type UpdateServiceRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The Service to be updated. |
| Service *Service `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` |
| // Indicates that the request should be validated and default values |
| // populated, without persisting the request or updating any resources. |
| ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // If set to true, and if the Service does not exist, it will create a new |
| // one. Caller must have both create and update permissions for this call if |
| // this is set to true. |
| AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` |
| } |
| |
| func (x *UpdateServiceRequest) Reset() { |
| *x = UpdateServiceRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateServiceRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateServiceRequest) ProtoMessage() {} |
| |
| func (x *UpdateServiceRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 UpdateServiceRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateServiceRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *UpdateServiceRequest) GetService() *Service { |
| if x != nil { |
| return x.Service |
| } |
| return nil |
| } |
| |
| func (x *UpdateServiceRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *UpdateServiceRequest) GetAllowMissing() bool { |
| if x != nil { |
| return x.AllowMissing |
| } |
| return false |
| } |
| |
| // Request message for retrieving a list of Services. |
| type ListServicesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The location and project to list resources on. |
| // Location must be a valid GCP region, and may not be the "-" wildcard. |
| // Format: projects/{project}/locations/{location} |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Maximum number of Services to return in this call. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // A page token received from a previous call to ListServices. |
| // All other parameters must match. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // If true, returns deleted (but unexpired) resources along with active ones. |
| ShowDeleted bool `protobuf:"varint,4,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"` |
| } |
| |
| func (x *ListServicesRequest) Reset() { |
| *x = ListServicesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServicesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServicesRequest) ProtoMessage() {} |
| |
| func (x *ListServicesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 ListServicesRequest.ProtoReflect.Descriptor instead. |
| func (*ListServicesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *ListServicesRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListServicesRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListServicesRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListServicesRequest) GetShowDeleted() bool { |
| if x != nil { |
| return x.ShowDeleted |
| } |
| return false |
| } |
| |
| // Response message containing a list of Services. |
| type ListServicesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The resulting list of Services. |
| Services []*Service `protobuf:"bytes,1,rep,name=services,proto3" json:"services,omitempty"` |
| // A token indicating there are more items than page_size. Use it in the next |
| // ListServices request to continue. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListServicesResponse) Reset() { |
| *x = ListServicesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListServicesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListServicesResponse) ProtoMessage() {} |
| |
| func (x *ListServicesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 ListServicesResponse.ProtoReflect.Descriptor instead. |
| func (*ListServicesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *ListServicesResponse) GetServices() []*Service { |
| if x != nil { |
| return x.Services |
| } |
| return nil |
| } |
| |
| func (x *ListServicesResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Request message for obtaining a Service by its full name. |
| type GetServiceRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The full name of the Service. |
| // Format: projects/{project}/locations/{location}/services/{service} |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GetServiceRequest) Reset() { |
| *x = GetServiceRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetServiceRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetServiceRequest) ProtoMessage() {} |
| |
| func (x *GetServiceRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 GetServiceRequest.ProtoReflect.Descriptor instead. |
| func (*GetServiceRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *GetServiceRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Request message to delete a Service by its full name. |
| type DeleteServiceRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The full name of the Service. |
| // Format: projects/{project}/locations/{location}/services/{service} |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Indicates that the request should be validated without actually |
| // deleting any resources. |
| ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| // A system-generated fingerprint for this version of the |
| // resource. May be used to detect modification conflict during updates. |
| Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *DeleteServiceRequest) Reset() { |
| *x = DeleteServiceRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteServiceRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteServiceRequest) ProtoMessage() {} |
| |
| func (x *DeleteServiceRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 DeleteServiceRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *DeleteServiceRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DeleteServiceRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| func (x *DeleteServiceRequest) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| // Service acts as a top-level container that manages a set of |
| // configurations and revision templates which implement a network service. |
| // Service exists to provide a singular abstraction which can be access |
| // controlled, reasoned about, and which encapsulates software lifecycle |
| // decisions such as rollout policy and team resource ownership. |
| type Service struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The fully qualified name of this Service. In CreateServiceRequest, this |
| // field is ignored, and instead composed from CreateServiceRequest.parent and |
| // CreateServiceRequest.service_id. |
| // |
| // Format: |
| // projects/{project}/locations/{location}/services/{service_id} |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // User-provided description of the Service. This field currently has a |
| // 512-character limit. |
| Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` |
| // Output only. Server assigned unique identifier for the trigger. The value is a UUID4 |
| // string and guaranteed to remain unchanged until the resource is deleted. |
| Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` |
| // Output only. A number that monotonically increases every time the user |
| // modifies the desired state. |
| // Please note that unlike v1, this is an int64 value. As with most Google |
| // APIs, its JSON representation will be a `string` instead of an `integer`. |
| Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"` |
| // Map of string keys and values that can be used to organize and categorize |
| // objects. |
| // User-provided labels are shared with Google's billing system, so they can |
| // be used to filter, or break down billing charges by team, component, |
| // environment, state, etc. For more information, visit |
| // https://cloud.google.com/resource-manager/docs/creating-managing-labels or |
| // https://cloud.google.com/run/docs/configuring/labels |
| // Cloud Run will populate some labels with 'run.googleapis.com' or |
| // 'serving.knative.dev' namespaces. Those labels are read-only, and user |
| // changes will not be preserved. |
| Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Unstructured key value map that may be set by external tools to store and |
| // arbitrary metadata. They are not queryable and should be preserved |
| // when modifying objects. Cloud Run will populate some annotations using |
| // 'run.googleapis.com' or 'serving.knative.dev' namespaces. This field |
| // follows Kubernetes annotations' namespacing, limits, and rules. More info: |
| // https://kubernetes.io/docs/user-guide/annotations |
| Annotations map[string]string `protobuf:"bytes,6,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Output only. The creation time. |
| CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The last-modified time. |
| UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Output only. The deletion time. |
| DeleteTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` |
| // Output only. For a deleted resource, the time after which it will be |
| // permamently deleted. |
| ExpireTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` |
| // Output only. Email address of the authenticated creator. |
| Creator string `protobuf:"bytes,11,opt,name=creator,proto3" json:"creator,omitempty"` |
| // Output only. Email address of the last authenticated modifier. |
| LastModifier string `protobuf:"bytes,12,opt,name=last_modifier,json=lastModifier,proto3" json:"last_modifier,omitempty"` |
| // Arbitrary identifier for the API client. |
| Client string `protobuf:"bytes,13,opt,name=client,proto3" json:"client,omitempty"` |
| // Arbitrary version identifier for the API client. |
| ClientVersion string `protobuf:"bytes,14,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"` |
| // Provides the ingress settings for this Service. On output, returns the |
| // currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no |
| // revision is active. |
| Ingress IngressTraffic `protobuf:"varint,15,opt,name=ingress,proto3,enum=google.cloud.run.v2.IngressTraffic" json:"ingress,omitempty"` |
| // The launch stage as defined by [Google Cloud Platform |
| // Launch Stages](https://cloud.google.com/terms/launch-stages). |
| // Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA |
| // is assumed. |
| LaunchStage api.LaunchStage `protobuf:"varint,16,opt,name=launch_stage,json=launchStage,proto3,enum=google.api.LaunchStage" json:"launch_stage,omitempty"` |
| // Settings for the Binary Authorization feature. |
| BinaryAuthorization *BinaryAuthorization `protobuf:"bytes,17,opt,name=binary_authorization,json=binaryAuthorization,proto3" json:"binary_authorization,omitempty"` |
| // Required. The template used to create revisions for this Service. |
| Template *RevisionTemplate `protobuf:"bytes,18,opt,name=template,proto3" json:"template,omitempty"` |
| // Specifies how to distribute traffic over a collection of Revisions |
| // belonging to the Service. If traffic is empty or not provided, defaults to |
| // 100% traffic to the latest `Ready` Revision. |
| Traffic []*TrafficTarget `protobuf:"bytes,19,rep,name=traffic,proto3" json:"traffic,omitempty"` |
| // Output only. The generation of this Service currently serving traffic. See comments in |
| // `reconciling` for additional information on reconciliation process in Cloud |
| // Run. |
| // Please note that unlike v1, this is an int64 value. As with most Google |
| // APIs, its JSON representation will be a `string` instead of an `integer`. |
| ObservedGeneration int64 `protobuf:"varint,30,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"` |
| // Output only. The Condition of this Service, containing its readiness status, and |
| // detailed error information in case it did not reach a serving state. See |
| // comments in `reconciling` for additional information on reconciliation |
| // process in Cloud Run. |
| TerminalCondition *Condition `protobuf:"bytes,31,opt,name=terminal_condition,json=terminalCondition,proto3" json:"terminal_condition,omitempty"` |
| // Output only. The Conditions of all other associated sub-resources. They contain |
| // additional diagnostics information in case the Service does not reach its |
| // Serving state. See comments in `reconciling` for additional information on |
| // reconciliation process in Cloud Run. |
| Conditions []*Condition `protobuf:"bytes,32,rep,name=conditions,proto3" json:"conditions,omitempty"` |
| // Output only. Name of the latest revision that is serving traffic. See comments in |
| // `reconciling` for additional information on reconciliation process in Cloud |
| // Run. |
| LatestReadyRevision string `protobuf:"bytes,33,opt,name=latest_ready_revision,json=latestReadyRevision,proto3" json:"latest_ready_revision,omitempty"` |
| // Output only. Name of the last created revision. See comments in `reconciling` for |
| // additional information on reconciliation process in Cloud Run. |
| LatestCreatedRevision string `protobuf:"bytes,34,opt,name=latest_created_revision,json=latestCreatedRevision,proto3" json:"latest_created_revision,omitempty"` |
| // Output only. Detailed status information for corresponding traffic targets. See comments |
| // in `reconciling` for additional information on reconciliation process in |
| // Cloud Run. |
| TrafficStatuses []*TrafficTargetStatus `protobuf:"bytes,35,rep,name=traffic_statuses,json=trafficStatuses,proto3" json:"traffic_statuses,omitempty"` |
| // Output only. The main URI in which this Service is serving traffic. |
| Uri string `protobuf:"bytes,36,opt,name=uri,proto3" json:"uri,omitempty"` |
| // Output only. Returns true if the Service is currently being acted upon by the system to |
| // bring it into the desired state. |
| // |
| // When a new Service is created, or an existing one is updated, Cloud Run |
| // will asynchronously perform all necessary steps to bring the Service to the |
| // desired serving state. This process is called reconciliation. |
| // While reconciliation is in process, `observed_generation`, |
| // `latest_ready_revison`, `traffic_statuses`, and `uri` will have transient |
| // values that might mismatch the intended state: Once reconciliation is over |
| // (and this field is false), there are two possible outcomes: reconciliation |
| // succeeded and the serving state matches the Service, or there was an error, |
| // and reconciliation failed. This state can be found in |
| // `terminal_condition.state`. |
| // |
| // If reconciliation succeeded, the following fields will match: `traffic` and |
| // `traffic_statuses`, `observed_generation` and `generation`, |
| // `latest_ready_revision` and `latest_created_revision`. |
| // |
| // If reconciliation failed, `traffic_statuses`, `observed_generation`, and |
| // `latest_ready_revision` will have the state of the last serving revision, |
| // or empty for newly created Services. Additional information on the failure |
| // can be found in `terminal_condition` and `conditions`. |
| Reconciling bool `protobuf:"varint,98,opt,name=reconciling,proto3" json:"reconciling,omitempty"` |
| // Output only. A system-generated fingerprint for this version of the |
| // resource. May be used to detect modification conflict during updates. |
| Etag string `protobuf:"bytes,99,opt,name=etag,proto3" json:"etag,omitempty"` |
| } |
| |
| func (x *Service) Reset() { |
| *x = Service{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_run_v2_service_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Service) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Service) ProtoMessage() {} |
| |
| func (x *Service) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_run_v2_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 Service.ProtoReflect.Descriptor instead. |
| func (*Service) Descriptor() ([]byte, []int) { |
| return file_google_cloud_run_v2_service_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *Service) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Service) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *Service) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *Service) GetGeneration() int64 { |
| if x != nil { |
| return x.Generation |
| } |
| return 0 |
| } |
| |
| func (x *Service) GetLabels() map[string]string { |
| if x != nil { |
| return x.Labels |
| } |
| return nil |
| } |
| |
| func (x *Service) GetAnnotations() map[string]string { |
| if x != nil { |
| return x.Annotations |
| } |
| return nil |
| } |
| |
| func (x *Service) GetCreateTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *Service) GetUpdateTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *Service) GetDeleteTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.DeleteTime |
| } |
| return nil |
| } |
| |
| func (x *Service) GetExpireTime() *timestamp.Timestamp { |
| if x != nil { |
| return x.ExpireTime |
| } |
| return nil |
| } |
| |
| func (x *Service) GetCreator() string { |
| if x != nil { |
| return x.Creator |
| } |
| return "" |
| } |
| |
| func (x *Service) GetLastModifier() string { |
| if x != nil { |
| return x.LastModifier |
| } |
| return "" |
| } |
| |
| func (x *Service) GetClient() string { |
| if x != nil { |
| return x.Client |
| } |
| return "" |
| } |
| |
| func (x *Service) GetClientVersion() string { |
| if x != nil { |
| return x.ClientVersion |
| } |
| return "" |
| } |
| |
| func (x *Service) GetIngress() IngressTraffic { |
| if x != nil { |
| return x.Ingress |
| } |
| return IngressTraffic_INGRESS_TRAFFIC_UNSPECIFIED |
| } |
| |
| func (x *Service) GetLaunchStage() api.LaunchStage { |
| if x != nil { |
| return x.LaunchStage |
| } |
| return api.LaunchStage_LAUNCH_STAGE_UNSPECIFIED |
| } |
| |
| func (x *Service) GetBinaryAuthorization() *BinaryAuthorization { |
| if x != nil { |
| return x.BinaryAuthorization |
| } |
| return nil |
| } |
| |
| func (x *Service) GetTemplate() *RevisionTemplate { |
| if x != nil { |
| return x.Template |
| } |
| return nil |
| } |
| |
| func (x *Service) GetTraffic() []*TrafficTarget { |
| if x != nil { |
| return x.Traffic |
| } |
| return nil |
| } |
| |
| func (x *Service) GetObservedGeneration() int64 { |
| if x != nil { |
| return x.ObservedGeneration |
| } |
| return 0 |
| } |
| |
| func (x *Service) GetTerminalCondition() *Condition { |
| if x != nil { |
| return x.TerminalCondition |
| } |
| return nil |
| } |
| |
| func (x *Service) GetConditions() []*Condition { |
| if x != nil { |
| return x.Conditions |
| } |
| return nil |
| } |
| |
| func (x *Service) GetLatestReadyRevision() string { |
| if x != nil { |
| return x.LatestReadyRevision |
| } |
| return "" |
| } |
| |
| func (x *Service) GetLatestCreatedRevision() string { |
| if x != nil { |
| return x.LatestCreatedRevision |
| } |
| return "" |
| } |
| |
| func (x *Service) GetTrafficStatuses() []*TrafficTargetStatus { |
| if x != nil { |
| return x.TrafficStatuses |
| } |
| return nil |
| } |
| |
| func (x *Service) GetUri() string { |
| if x != nil { |
| return x.Uri |
| } |
| return "" |
| } |
| |
| func (x *Service) GetReconciling() bool { |
| if x != nil { |
| return x.Reconciling |
| } |
| return false |
| } |
| |
| func (x *Service) GetEtag() string { |
| if x != nil { |
| return x.Etag |
| } |
| return "" |
| } |
| |
| var File_google_cloud_run_v2_service_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_run_v2_service_proto_rawDesc = []byte{ |
| 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, |
| 0x75, 0x6e, 0x2f, 0x76, 0x32, 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, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 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, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c, 0x61, 0x75, |
| 0x6e, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 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, 0x18, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2f, 0x72, 0x75, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, |
| 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x75, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x72, |
| 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x75, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x72, 0x61, 0x66, |
| 0x66, 0x69, 0x63, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, |
| 0x75, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, |
| 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, |
| 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, |
| 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0xd8, 0x01, |
| 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x12, 0x1a, |
| 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, |
| 0x22, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, |
| 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, |
| 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, |
| 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x23, |
| 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, |
| 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, |
| 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, |
| 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, |
| 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x12, 0x1a, 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, |
| 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, |
| 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, |
| 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, |
| 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x77, |
| 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, |
| 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x78, 0x0a, 0x14, 0x4c, |
| 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, |
| 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, |
| 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, |
| 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, |
| 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, |
| 0x0a, 0x1a, 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, |
| 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, |
| 0x1c, 0x0a, 0x1a, 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, |
| 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, |
| 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x8d, 0x0e, 0x0a, |
| 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x15, |
| 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, |
| 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x6c, 0x61, |
| 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, |
| 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x0b, |
| 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, |
| 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, |
| 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, |
| 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x08, |
| 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, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x18, 0x09, 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, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, |
| 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, |
| 0x6d, 0x65, 0x18, 0x0a, 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, 0x65, 0x78, 0x70, 0x69, 0x72, |
| 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, |
| 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x72, 0x65, |
| 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, |
| 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x16, |
| 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, |
| 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, |
| 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, |
| 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, |
| 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, |
| 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x54, 0x72, 0x61, 0x66, |
| 0x66, 0x69, 0x63, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x0c, |
| 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, |
| 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x75, |
| 0x6e, 0x63, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x14, 0x62, 0x69, 0x6e, 0x61, |
| 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x6e, |
| 0x61, 0x72, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x52, 0x13, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, |
| 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, |
| 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, |
| 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, |
| 0x07, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, |
| 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x54, 0x61, 0x72, 0x67, |
| 0x65, 0x74, 0x52, 0x07, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x12, 0x34, 0x0a, 0x13, 0x6f, |
| 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x6f, |
| 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x12, 0x52, 0x0a, 0x12, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, |
| 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, |
| 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x11, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x64, |
| 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, |
| 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, |
| 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x15, 0x6c, 0x61, |
| 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x03, 0xfa, 0x41, |
| 0x1d, 0x0a, 0x1b, 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, |
| 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x76, 0x69, 0x73, |
| 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x17, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x72, |
| 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x22, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x72, 0x75, |
| 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x73, |
| 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, |
| 0x12, 0x58, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, |
| 0x75, 0x73, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, |
| 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, |
| 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, |
| 0x69, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, |
| 0x69, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, |
| 0x18, 0x62, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, |
| 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, |
| 0x18, 0x63, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, |
| 0x67, 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, 0x3e, 0x0a, 0x10, |
| 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x3a, 0x5e, 0xea, 0x41, |
| 0x5b, 0x0a, 0x1a, 0x72, 0x75, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3a, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, |
| 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x52, 0x01, 0x01, 0x32, 0xb7, 0x0d, 0x0a, |
| 0x08, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x0d, 0x43, 0x72, |
| 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, |
| 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22, 0x2c, |
| 0x2f, 0x76, 0x32, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3a, 0x07, 0x73, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x0a, 0x06, 0x70, |
| 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, |
| 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x2a, 0x7d, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x12, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x12, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x0a, 0x47, 0x65, |
| 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x47, |
| 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x6f, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x32, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x12, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x3d, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, |
| 0xd5, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, |
| 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, |
| 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, |
| 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, |
| 0x76, 0x32, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x8a, 0xd3, 0xe4, 0x93, 0x02, |
| 0x2d, 0x12, 0x2b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x2a, 0x7d, 0xda, 0x41, |
| 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, |
| 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, |
| 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0xa0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x32, 0x34, 0x2f, 0x76, |
| 0x32, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x3a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, 0xd3, 0xe4, 0x93, 0x02, |
| 0x36, 0x12, 0x34, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x3d, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, |
| 0x65, 0xca, 0x41, 0x12, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x07, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe0, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 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, 0x84, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, 0x2f, 0x76, 0x32, |
| 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, 0x73, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x8a, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, |
| 0x2c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, |
| 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x2a, 0x7d, 0x2f, 0x2a, 0x2a, 0xda, 0x41, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x12, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, |
| 0x12, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x0c, 0x47, 0x65, |
| 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, |
| 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, |
| 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, |
| 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, |
| 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x93, 0x01, 0x0a, |
| 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, |
| 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, |
| 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, |
| 0x22, 0x3d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 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, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, |
| 0x01, 0x2a, 0x12, 0xb9, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, |
| 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, |
| 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, |
| 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, |
| 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, |
| 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x73, |
| 0x6f, 0x75, 0x72, 0x63, 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, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, |
| 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x46, |
| 0xca, 0x41, 0x12, 0x72, 0x75, 0x6e, 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, 0x61, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x76, |
| 0x32, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, |
| 0x01, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, |
| 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, |
| 0x75, 0x6e, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x75, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x33, |
| } |
| |
| var ( |
| file_google_cloud_run_v2_service_proto_rawDescOnce sync.Once |
| file_google_cloud_run_v2_service_proto_rawDescData = file_google_cloud_run_v2_service_proto_rawDesc |
| ) |
| |
| func file_google_cloud_run_v2_service_proto_rawDescGZIP() []byte { |
| file_google_cloud_run_v2_service_proto_rawDescOnce.Do(func() { |
| file_google_cloud_run_v2_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_run_v2_service_proto_rawDescData) |
| }) |
| return file_google_cloud_run_v2_service_proto_rawDescData |
| } |
| |
| var file_google_cloud_run_v2_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9) |
| var file_google_cloud_run_v2_service_proto_goTypes = []interface{}{ |
| (*CreateServiceRequest)(nil), // 0: google.cloud.run.v2.CreateServiceRequest |
| (*UpdateServiceRequest)(nil), // 1: google.cloud.run.v2.UpdateServiceRequest |
| (*ListServicesRequest)(nil), // 2: google.cloud.run.v2.ListServicesRequest |
| (*ListServicesResponse)(nil), // 3: google.cloud.run.v2.ListServicesResponse |
| (*GetServiceRequest)(nil), // 4: google.cloud.run.v2.GetServiceRequest |
| (*DeleteServiceRequest)(nil), // 5: google.cloud.run.v2.DeleteServiceRequest |
| (*Service)(nil), // 6: google.cloud.run.v2.Service |
| nil, // 7: google.cloud.run.v2.Service.LabelsEntry |
| nil, // 8: google.cloud.run.v2.Service.AnnotationsEntry |
| (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp |
| (IngressTraffic)(0), // 10: google.cloud.run.v2.IngressTraffic |
| (api.LaunchStage)(0), // 11: google.api.LaunchStage |
| (*BinaryAuthorization)(nil), // 12: google.cloud.run.v2.BinaryAuthorization |
| (*RevisionTemplate)(nil), // 13: google.cloud.run.v2.RevisionTemplate |
| (*TrafficTarget)(nil), // 14: google.cloud.run.v2.TrafficTarget |
| (*Condition)(nil), // 15: google.cloud.run.v2.Condition |
| (*TrafficTargetStatus)(nil), // 16: google.cloud.run.v2.TrafficTargetStatus |
| (*v1.GetIamPolicyRequest)(nil), // 17: google.iam.v1.GetIamPolicyRequest |
| (*v1.SetIamPolicyRequest)(nil), // 18: google.iam.v1.SetIamPolicyRequest |
| (*v1.TestIamPermissionsRequest)(nil), // 19: google.iam.v1.TestIamPermissionsRequest |
| (*longrunning.Operation)(nil), // 20: google.longrunning.Operation |
| (*v1.Policy)(nil), // 21: google.iam.v1.Policy |
| (*v1.TestIamPermissionsResponse)(nil), // 22: google.iam.v1.TestIamPermissionsResponse |
| } |
| var file_google_cloud_run_v2_service_proto_depIdxs = []int32{ |
| 6, // 0: google.cloud.run.v2.CreateServiceRequest.service:type_name -> google.cloud.run.v2.Service |
| 6, // 1: google.cloud.run.v2.UpdateServiceRequest.service:type_name -> google.cloud.run.v2.Service |
| 6, // 2: google.cloud.run.v2.ListServicesResponse.services:type_name -> google.cloud.run.v2.Service |
| 7, // 3: google.cloud.run.v2.Service.labels:type_name -> google.cloud.run.v2.Service.LabelsEntry |
| 8, // 4: google.cloud.run.v2.Service.annotations:type_name -> google.cloud.run.v2.Service.AnnotationsEntry |
| 9, // 5: google.cloud.run.v2.Service.create_time:type_name -> google.protobuf.Timestamp |
| 9, // 6: google.cloud.run.v2.Service.update_time:type_name -> google.protobuf.Timestamp |
| 9, // 7: google.cloud.run.v2.Service.delete_time:type_name -> google.protobuf.Timestamp |
| 9, // 8: google.cloud.run.v2.Service.expire_time:type_name -> google.protobuf.Timestamp |
| 10, // 9: google.cloud.run.v2.Service.ingress:type_name -> google.cloud.run.v2.IngressTraffic |
| 11, // 10: google.cloud.run.v2.Service.launch_stage:type_name -> google.api.LaunchStage |
| 12, // 11: google.cloud.run.v2.Service.binary_authorization:type_name -> google.cloud.run.v2.BinaryAuthorization |
| 13, // 12: google.cloud.run.v2.Service.template:type_name -> google.cloud.run.v2.RevisionTemplate |
| 14, // 13: google.cloud.run.v2.Service.traffic:type_name -> google.cloud.run.v2.TrafficTarget |
| 15, // 14: google.cloud.run.v2.Service.terminal_condition:type_name -> google.cloud.run.v2.Condition |
| 15, // 15: google.cloud.run.v2.Service.conditions:type_name -> google.cloud.run.v2.Condition |
| 16, // 16: google.cloud.run.v2.Service.traffic_statuses:type_name -> google.cloud.run.v2.TrafficTargetStatus |
| 0, // 17: google.cloud.run.v2.Services.CreateService:input_type -> google.cloud.run.v2.CreateServiceRequest |
| 4, // 18: google.cloud.run.v2.Services.GetService:input_type -> google.cloud.run.v2.GetServiceRequest |
| 2, // 19: google.cloud.run.v2.Services.ListServices:input_type -> google.cloud.run.v2.ListServicesRequest |
| 1, // 20: google.cloud.run.v2.Services.UpdateService:input_type -> google.cloud.run.v2.UpdateServiceRequest |
| 5, // 21: google.cloud.run.v2.Services.DeleteService:input_type -> google.cloud.run.v2.DeleteServiceRequest |
| 17, // 22: google.cloud.run.v2.Services.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest |
| 18, // 23: google.cloud.run.v2.Services.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest |
| 19, // 24: google.cloud.run.v2.Services.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest |
| 20, // 25: google.cloud.run.v2.Services.CreateService:output_type -> google.longrunning.Operation |
| 6, // 26: google.cloud.run.v2.Services.GetService:output_type -> google.cloud.run.v2.Service |
| 3, // 27: google.cloud.run.v2.Services.ListServices:output_type -> google.cloud.run.v2.ListServicesResponse |
| 20, // 28: google.cloud.run.v2.Services.UpdateService:output_type -> google.longrunning.Operation |
| 20, // 29: google.cloud.run.v2.Services.DeleteService:output_type -> google.longrunning.Operation |
| 21, // 30: google.cloud.run.v2.Services.GetIamPolicy:output_type -> google.iam.v1.Policy |
| 21, // 31: google.cloud.run.v2.Services.SetIamPolicy:output_type -> google.iam.v1.Policy |
| 22, // 32: google.cloud.run.v2.Services.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse |
| 25, // [25:33] is the sub-list for method output_type |
| 17, // [17:25] is the sub-list for method input_type |
| 17, // [17:17] is the sub-list for extension type_name |
| 17, // [17:17] is the sub-list for extension extendee |
| 0, // [0:17] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_run_v2_service_proto_init() } |
| func file_google_cloud_run_v2_service_proto_init() { |
| if File_google_cloud_run_v2_service_proto != nil { |
| return |
| } |
| file_google_cloud_run_v2_condition_proto_init() |
| file_google_cloud_run_v2_revision_template_proto_init() |
| file_google_cloud_run_v2_traffic_target_proto_init() |
| file_google_cloud_run_v2_vendor_settings_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_run_v2_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateServiceRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateServiceRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServicesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListServicesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetServiceRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteServiceRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_run_v2_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Service); 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_google_cloud_run_v2_service_proto_rawDesc, |
| NumEnums: 0, |
| NumMessages: 9, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_cloud_run_v2_service_proto_goTypes, |
| DependencyIndexes: file_google_cloud_run_v2_service_proto_depIdxs, |
| MessageInfos: file_google_cloud_run_v2_service_proto_msgTypes, |
| }.Build() |
| File_google_cloud_run_v2_service_proto = out.File |
| file_google_cloud_run_v2_service_proto_rawDesc = nil |
| file_google_cloud_run_v2_service_proto_goTypes = nil |
| file_google_cloud_run_v2_service_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // ServicesClient is the client API for Services service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type ServicesClient interface { |
| // Creates a new Service in a given project and location. |
| CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Gets information about a Service. |
| GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error) |
| // List Services. |
| ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error) |
| // Updates a Service. |
| UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Deletes a Service. |
| // This will cause the Service to stop serving traffic and will delete all |
| // revisions. |
| DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) |
| // Get the IAM Access Control policy currently in effect for the given |
| // Cloud Run Service. This result does not include any inherited policies. |
| GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) |
| // Sets the IAM Access control policy for the specified Service. Overwrites |
| // any existing policy. |
| SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) |
| // Returns permissions that a caller has on the specified Project. |
| // |
| // There are no permissions required for making this API call. |
| TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) |
| } |
| |
| type servicesClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewServicesClient(cc grpc.ClientConnInterface) ServicesClient { |
| return &servicesClient{cc} |
| } |
| |
| func (c *servicesClient) CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/CreateService", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error) { |
| out := new(Service) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/GetService", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error) { |
| out := new(ListServicesResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/ListServices", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/UpdateService", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { |
| out := new(longrunning.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/DeleteService", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { |
| out := new(v1.Policy) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/GetIamPolicy", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { |
| out := new(v1.Policy) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/SetIamPolicy", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *servicesClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) { |
| out := new(v1.TestIamPermissionsResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.run.v2.Services/TestIamPermissions", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // ServicesServer is the server API for Services service. |
| type ServicesServer interface { |
| // Creates a new Service in a given project and location. |
| CreateService(context.Context, *CreateServiceRequest) (*longrunning.Operation, error) |
| // Gets information about a Service. |
| GetService(context.Context, *GetServiceRequest) (*Service, error) |
| // List Services. |
| ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error) |
| // Updates a Service. |
| UpdateService(context.Context, *UpdateServiceRequest) (*longrunning.Operation, error) |
| // Deletes a Service. |
| // This will cause the Service to stop serving traffic and will delete all |
| // revisions. |
| DeleteService(context.Context, *DeleteServiceRequest) (*longrunning.Operation, error) |
| // Get the IAM Access Control policy currently in effect for the given |
| // Cloud Run Service. This result does not include any inherited policies. |
| GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) |
| // Sets the IAM Access control policy for the specified Service. Overwrites |
| // any existing policy. |
| SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) |
| // Returns permissions that a caller has on the specified Project. |
| // |
| // There are no permissions required for making this API call. |
| TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) |
| } |
| |
| // UnimplementedServicesServer can be embedded to have forward compatible implementations. |
| type UnimplementedServicesServer struct { |
| } |
| |
| func (*UnimplementedServicesServer) CreateService(context.Context, *CreateServiceRequest) (*longrunning.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateService not implemented") |
| } |
| func (*UnimplementedServicesServer) GetService(context.Context, *GetServiceRequest) (*Service, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetService not implemented") |
| } |
| func (*UnimplementedServicesServer) ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListServices not implemented") |
| } |
| func (*UnimplementedServicesServer) UpdateService(context.Context, *UpdateServiceRequest) (*longrunning.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UpdateService not implemented") |
| } |
| func (*UnimplementedServicesServer) DeleteService(context.Context, *DeleteServiceRequest) (*longrunning.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DeleteService not implemented") |
| } |
| func (*UnimplementedServicesServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") |
| } |
| func (*UnimplementedServicesServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") |
| } |
| func (*UnimplementedServicesServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") |
| } |
| |
| func RegisterServicesServer(s *grpc.Server, srv ServicesServer) { |
| s.RegisterService(&_Services_serviceDesc, srv) |
| } |
| |
| func _Services_CreateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateServiceRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).CreateService(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/CreateService", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).CreateService(ctx, req.(*CreateServiceRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_GetService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetServiceRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).GetService(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/GetService", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).GetService(ctx, req.(*GetServiceRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_ListServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListServicesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).ListServices(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/ListServices", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).ListServices(ctx, req.(*ListServicesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_UpdateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateServiceRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).UpdateService(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/UpdateService", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).UpdateService(ctx, req.(*UpdateServiceRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_DeleteService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteServiceRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).DeleteService(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/DeleteService", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).DeleteService(ctx, req.(*DeleteServiceRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.GetIamPolicyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).GetIamPolicy(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/GetIamPolicy", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.SetIamPolicyRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).SetIamPolicy(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/SetIamPolicy", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _Services_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(v1.TestIamPermissionsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(ServicesServer).TestIamPermissions(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.run.v2.Services/TestIamPermissions", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(ServicesServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _Services_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.cloud.run.v2.Services", |
| HandlerType: (*ServicesServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "CreateService", |
| Handler: _Services_CreateService_Handler, |
| }, |
| { |
| MethodName: "GetService", |
| Handler: _Services_GetService_Handler, |
| }, |
| { |
| MethodName: "ListServices", |
| Handler: _Services_ListServices_Handler, |
| }, |
| { |
| MethodName: "UpdateService", |
| Handler: _Services_UpdateService_Handler, |
| }, |
| { |
| MethodName: "DeleteService", |
| Handler: _Services_DeleteService_Handler, |
| }, |
| { |
| MethodName: "GetIamPolicy", |
| Handler: _Services_GetIamPolicy_Handler, |
| }, |
| { |
| MethodName: "SetIamPolicy", |
| Handler: _Services_SetIamPolicy_Handler, |
| }, |
| { |
| MethodName: "TestIamPermissions", |
| Handler: _Services_TestIamPermissions_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "google/cloud/run/v2/service.proto", |
| } |