blob: 6b20a0c912886e15e7ef50194b71c2614d303380 [file] [log] [blame]
// 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.33.0
// protoc v4.25.3
// source: google/cloud/apigeeregistry/v1/registry_service.proto
package apigeeregistrypb
import (
context "context"
reflect "reflect"
sync "sync"
_ "google.golang.org/genproto/googleapis/api/annotations"
httpbody "google.golang.org/genproto/googleapis/api/httpbody"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)
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 ListApis.
type ListApisRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of APIs.
// Format: `projects/*/locations/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of APIs to return.
// The service may return fewer than this value.
// If unspecified, at most 50 values will be returned.
// The maximum is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListApis` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListApis` 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"`
// An expression that can be used to filter the list. Filters use the Common
// Expression Language and can refer to all message fields.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
}
func (x *ListApisRequest) Reset() {
*x = ListApisRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApisRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApisRequest) ProtoMessage() {}
func (x *ListApisRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApisRequest.ProtoReflect.Descriptor instead.
func (*ListApisRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{0}
}
func (x *ListApisRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListApisRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApisRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListApisRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
// Response message for ListApis.
type ListApisResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The APIs from the specified publisher.
Apis []*Api `protobuf:"bytes,1,rep,name=apis,proto3" json:"apis,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"`
}
func (x *ListApisResponse) Reset() {
*x = ListApisResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApisResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApisResponse) ProtoMessage() {}
func (x *ListApisResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApisResponse.ProtoReflect.Descriptor instead.
func (*ListApisResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{1}
}
func (x *ListApisResponse) GetApis() []*Api {
if x != nil {
return x.Apis
}
return nil
}
func (x *ListApisResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for GetApi.
type GetApiRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the API to retrieve.
// Format: `projects/*/locations/*/apis/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetApiRequest) Reset() {
*x = GetApiRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetApiRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetApiRequest) ProtoMessage() {}
func (x *GetApiRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 GetApiRequest.ProtoReflect.Descriptor instead.
func (*GetApiRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{2}
}
func (x *GetApiRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for CreateApi.
type CreateApiRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of APIs.
// Format: `projects/*/locations/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The API to create.
Api *Api `protobuf:"bytes,2,opt,name=api,proto3" json:"api,omitempty"`
// Required. The ID to use for the API, which will become the final component of
// the API's resource name.
//
// This value should be 4-63 characters, and valid characters
// are /[a-z][0-9]-/.
//
// Following AIP-162, IDs must not have the form of a UUID.
ApiId string `protobuf:"bytes,3,opt,name=api_id,json=apiId,proto3" json:"api_id,omitempty"`
}
func (x *CreateApiRequest) Reset() {
*x = CreateApiRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateApiRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateApiRequest) ProtoMessage() {}
func (x *CreateApiRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 CreateApiRequest.ProtoReflect.Descriptor instead.
func (*CreateApiRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{3}
}
func (x *CreateApiRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateApiRequest) GetApi() *Api {
if x != nil {
return x.Api
}
return nil
}
func (x *CreateApiRequest) GetApiId() string {
if x != nil {
return x.ApiId
}
return ""
}
// Request message for UpdateApi.
type UpdateApiRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The API to update.
//
// The `name` field is used to identify the API to update.
// Format: `projects/*/locations/*/apis/*`
Api *Api `protobuf:"bytes,1,opt,name=api,proto3" json:"api,omitempty"`
// The list of fields to be updated. If omitted, all fields are updated that
// are set in the request message (fields set to default values are ignored).
// If an asterisk "*" is specified, all fields are updated, including fields
// that are unspecified/default in the request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// If set to true, and the API is not found, a new API will be created.
// In this situation, `update_mask` is ignored.
AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
}
func (x *UpdateApiRequest) Reset() {
*x = UpdateApiRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateApiRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateApiRequest) ProtoMessage() {}
func (x *UpdateApiRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 UpdateApiRequest.ProtoReflect.Descriptor instead.
func (*UpdateApiRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateApiRequest) GetApi() *Api {
if x != nil {
return x.Api
}
return nil
}
func (x *UpdateApiRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
func (x *UpdateApiRequest) GetAllowMissing() bool {
if x != nil {
return x.AllowMissing
}
return false
}
// Request message for DeleteApi.
type DeleteApiRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the API to delete.
// Format: `projects/*/locations/*/apis/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// If set to true, any child resources will also be deleted.
// (Otherwise, the request will only work if there are no child resources.)
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
}
func (x *DeleteApiRequest) Reset() {
*x = DeleteApiRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiRequest) ProtoMessage() {}
func (x *DeleteApiRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 DeleteApiRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{5}
}
func (x *DeleteApiRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeleteApiRequest) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
// Request message for ListApiVersions.
type ListApiVersionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of versions.
// Format: `projects/*/locations/*/apis/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of versions to return.
// The service may return fewer than this value.
// If unspecified, at most 50 values will be returned.
// The maximum is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListApiVersions` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListApiVersions` 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"`
// An expression that can be used to filter the list. Filters use the Common
// Expression Language and can refer to all message fields.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
}
func (x *ListApiVersionsRequest) Reset() {
*x = ListApiVersionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiVersionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiVersionsRequest) ProtoMessage() {}
func (x *ListApiVersionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiVersionsRequest.ProtoReflect.Descriptor instead.
func (*ListApiVersionsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{6}
}
func (x *ListApiVersionsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListApiVersionsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApiVersionsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListApiVersionsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
// Response message for ListApiVersions.
type ListApiVersionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The versions from the specified publisher.
ApiVersions []*ApiVersion `protobuf:"bytes,1,rep,name=api_versions,json=apiVersions,proto3" json:"api_versions,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"`
}
func (x *ListApiVersionsResponse) Reset() {
*x = ListApiVersionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiVersionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiVersionsResponse) ProtoMessage() {}
func (x *ListApiVersionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiVersionsResponse.ProtoReflect.Descriptor instead.
func (*ListApiVersionsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{7}
}
func (x *ListApiVersionsResponse) GetApiVersions() []*ApiVersion {
if x != nil {
return x.ApiVersions
}
return nil
}
func (x *ListApiVersionsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for GetApiVersion.
type GetApiVersionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the version to retrieve.
// Format: `projects/*/locations/*/apis/*/versions/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetApiVersionRequest) Reset() {
*x = GetApiVersionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetApiVersionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetApiVersionRequest) ProtoMessage() {}
func (x *GetApiVersionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 GetApiVersionRequest.ProtoReflect.Descriptor instead.
func (*GetApiVersionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{8}
}
func (x *GetApiVersionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for CreateApiVersion.
type CreateApiVersionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of versions.
// Format: `projects/*/locations/*/apis/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The version to create.
ApiVersion *ApiVersion `protobuf:"bytes,2,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
// Required. The ID to use for the version, which will become the final component of
// the version's resource name.
//
// This value should be 1-63 characters, and valid characters
// are /[a-z][0-9]-/.
//
// Following AIP-162, IDs must not have the form of a UUID.
ApiVersionId string `protobuf:"bytes,3,opt,name=api_version_id,json=apiVersionId,proto3" json:"api_version_id,omitempty"`
}
func (x *CreateApiVersionRequest) Reset() {
*x = CreateApiVersionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateApiVersionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateApiVersionRequest) ProtoMessage() {}
func (x *CreateApiVersionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 CreateApiVersionRequest.ProtoReflect.Descriptor instead.
func (*CreateApiVersionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{9}
}
func (x *CreateApiVersionRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateApiVersionRequest) GetApiVersion() *ApiVersion {
if x != nil {
return x.ApiVersion
}
return nil
}
func (x *CreateApiVersionRequest) GetApiVersionId() string {
if x != nil {
return x.ApiVersionId
}
return ""
}
// Request message for UpdateApiVersion.
type UpdateApiVersionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The version to update.
//
// The `name` field is used to identify the version to update.
// Format: `projects/*/locations/*/apis/*/versions/*`
ApiVersion *ApiVersion `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
// The list of fields to be updated. If omitted, all fields are updated that
// are set in the request message (fields set to default values are ignored).
// If an asterisk "*" is specified, all fields are updated, including fields
// that are unspecified/default in the request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// If set to true, and the version is not found, a new version will be
// created. In this situation, `update_mask` is ignored.
AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
}
func (x *UpdateApiVersionRequest) Reset() {
*x = UpdateApiVersionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateApiVersionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateApiVersionRequest) ProtoMessage() {}
func (x *UpdateApiVersionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 UpdateApiVersionRequest.ProtoReflect.Descriptor instead.
func (*UpdateApiVersionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{10}
}
func (x *UpdateApiVersionRequest) GetApiVersion() *ApiVersion {
if x != nil {
return x.ApiVersion
}
return nil
}
func (x *UpdateApiVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
func (x *UpdateApiVersionRequest) GetAllowMissing() bool {
if x != nil {
return x.AllowMissing
}
return false
}
// Request message for DeleteApiVersion.
type DeleteApiVersionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the version to delete.
// Format: `projects/*/locations/*/apis/*/versions/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// If set to true, any child resources will also be deleted.
// (Otherwise, the request will only work if there are no child resources.)
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
}
func (x *DeleteApiVersionRequest) Reset() {
*x = DeleteApiVersionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiVersionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiVersionRequest) ProtoMessage() {}
func (x *DeleteApiVersionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 DeleteApiVersionRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiVersionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{11}
}
func (x *DeleteApiVersionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeleteApiVersionRequest) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
// Request message for ListApiSpecs.
type ListApiSpecsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of specs.
// Format: `projects/*/locations/*/apis/*/versions/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of specs to return.
// The service may return fewer than this value.
// If unspecified, at most 50 values will be returned.
// The maximum is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListApiSpecs` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListApiSpecs` 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"`
// An expression that can be used to filter the list. Filters use the Common
// Expression Language and can refer to all message fields except contents.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
}
func (x *ListApiSpecsRequest) Reset() {
*x = ListApiSpecsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiSpecsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiSpecsRequest) ProtoMessage() {}
func (x *ListApiSpecsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiSpecsRequest.ProtoReflect.Descriptor instead.
func (*ListApiSpecsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{12}
}
func (x *ListApiSpecsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListApiSpecsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApiSpecsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListApiSpecsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
// Response message for ListApiSpecs.
type ListApiSpecsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The specs from the specified publisher.
ApiSpecs []*ApiSpec `protobuf:"bytes,1,rep,name=api_specs,json=apiSpecs,proto3" json:"api_specs,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"`
}
func (x *ListApiSpecsResponse) Reset() {
*x = ListApiSpecsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiSpecsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiSpecsResponse) ProtoMessage() {}
func (x *ListApiSpecsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiSpecsResponse.ProtoReflect.Descriptor instead.
func (*ListApiSpecsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{13}
}
func (x *ListApiSpecsResponse) GetApiSpecs() []*ApiSpec {
if x != nil {
return x.ApiSpecs
}
return nil
}
func (x *ListApiSpecsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for GetApiSpec.
type GetApiSpecRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec to retrieve.
// Format: `projects/*/locations/*/apis/*/versions/*/specs/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetApiSpecRequest) Reset() {
*x = GetApiSpecRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetApiSpecRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetApiSpecRequest) ProtoMessage() {}
func (x *GetApiSpecRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 GetApiSpecRequest.ProtoReflect.Descriptor instead.
func (*GetApiSpecRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{14}
}
func (x *GetApiSpecRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for GetApiSpecContents.
type GetApiSpecContentsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec whose contents should be retrieved.
// Format: `projects/*/locations/*/apis/*/versions/*/specs/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetApiSpecContentsRequest) Reset() {
*x = GetApiSpecContentsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetApiSpecContentsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetApiSpecContentsRequest) ProtoMessage() {}
func (x *GetApiSpecContentsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 GetApiSpecContentsRequest.ProtoReflect.Descriptor instead.
func (*GetApiSpecContentsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{15}
}
func (x *GetApiSpecContentsRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for CreateApiSpec.
type CreateApiSpecRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of specs.
// Format: `projects/*/locations/*/apis/*/versions/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The spec to create.
ApiSpec *ApiSpec `protobuf:"bytes,2,opt,name=api_spec,json=apiSpec,proto3" json:"api_spec,omitempty"`
// Required. The ID to use for the spec, which will become the final component of
// the spec's resource name.
//
// This value should be 4-63 characters, and valid characters
// are /[a-z][0-9]-/.
//
// Following AIP-162, IDs must not have the form of a UUID.
ApiSpecId string `protobuf:"bytes,3,opt,name=api_spec_id,json=apiSpecId,proto3" json:"api_spec_id,omitempty"`
}
func (x *CreateApiSpecRequest) Reset() {
*x = CreateApiSpecRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateApiSpecRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateApiSpecRequest) ProtoMessage() {}
func (x *CreateApiSpecRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 CreateApiSpecRequest.ProtoReflect.Descriptor instead.
func (*CreateApiSpecRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{16}
}
func (x *CreateApiSpecRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateApiSpecRequest) GetApiSpec() *ApiSpec {
if x != nil {
return x.ApiSpec
}
return nil
}
func (x *CreateApiSpecRequest) GetApiSpecId() string {
if x != nil {
return x.ApiSpecId
}
return ""
}
// Request message for UpdateApiSpec.
type UpdateApiSpecRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The spec to update.
//
// The `name` field is used to identify the spec to update.
// Format: `projects/*/locations/*/apis/*/versions/*/specs/*`
ApiSpec *ApiSpec `protobuf:"bytes,1,opt,name=api_spec,json=apiSpec,proto3" json:"api_spec,omitempty"`
// The list of fields to be updated. If omitted, all fields are updated that
// are set in the request message (fields set to default values are ignored).
// If an asterisk "*" is specified, all fields are updated, including fields
// that are unspecified/default in the request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// If set to true, and the spec is not found, a new spec will be created.
// In this situation, `update_mask` is ignored.
AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
}
func (x *UpdateApiSpecRequest) Reset() {
*x = UpdateApiSpecRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateApiSpecRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateApiSpecRequest) ProtoMessage() {}
func (x *UpdateApiSpecRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 UpdateApiSpecRequest.ProtoReflect.Descriptor instead.
func (*UpdateApiSpecRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{17}
}
func (x *UpdateApiSpecRequest) GetApiSpec() *ApiSpec {
if x != nil {
return x.ApiSpec
}
return nil
}
func (x *UpdateApiSpecRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
func (x *UpdateApiSpecRequest) GetAllowMissing() bool {
if x != nil {
return x.AllowMissing
}
return false
}
// Request message for DeleteApiSpec.
type DeleteApiSpecRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec to delete.
// Format: `projects/*/locations/*/apis/*/versions/*/specs/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// If set to true, any child resources will also be deleted.
// (Otherwise, the request will only work if there are no child resources.)
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
}
func (x *DeleteApiSpecRequest) Reset() {
*x = DeleteApiSpecRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiSpecRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiSpecRequest) ProtoMessage() {}
func (x *DeleteApiSpecRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 DeleteApiSpecRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiSpecRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{18}
}
func (x *DeleteApiSpecRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeleteApiSpecRequest) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
// Request message for TagApiSpecRevision.
type TagApiSpecRevisionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec to be tagged, including the revision ID.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The tag to apply.
// The tag should be at most 40 characters, and match `[a-z][a-z0-9-]{3,39}`.
Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
}
func (x *TagApiSpecRevisionRequest) Reset() {
*x = TagApiSpecRevisionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TagApiSpecRevisionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TagApiSpecRevisionRequest) ProtoMessage() {}
func (x *TagApiSpecRevisionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 TagApiSpecRevisionRequest.ProtoReflect.Descriptor instead.
func (*TagApiSpecRevisionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{19}
}
func (x *TagApiSpecRevisionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TagApiSpecRevisionRequest) GetTag() string {
if x != nil {
return x.Tag
}
return ""
}
// Request message for ListApiSpecRevisions.
type ListApiSpecRevisionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec to list revisions for.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The maximum number of revisions to return per page.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The page token, received from a previous ListApiSpecRevisions call.
// Provide this to retrieve the subsequent page.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListApiSpecRevisionsRequest) Reset() {
*x = ListApiSpecRevisionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiSpecRevisionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiSpecRevisionsRequest) ProtoMessage() {}
func (x *ListApiSpecRevisionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiSpecRevisionsRequest.ProtoReflect.Descriptor instead.
func (*ListApiSpecRevisionsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{20}
}
func (x *ListApiSpecRevisionsRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ListApiSpecRevisionsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApiSpecRevisionsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// Response message for ListApiSpecRevisionsResponse.
type ListApiSpecRevisionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The revisions of the spec.
ApiSpecs []*ApiSpec `protobuf:"bytes,1,rep,name=api_specs,json=apiSpecs,proto3" json:"api_specs,omitempty"`
// A token that 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"`
}
func (x *ListApiSpecRevisionsResponse) Reset() {
*x = ListApiSpecRevisionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiSpecRevisionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiSpecRevisionsResponse) ProtoMessage() {}
func (x *ListApiSpecRevisionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiSpecRevisionsResponse.ProtoReflect.Descriptor instead.
func (*ListApiSpecRevisionsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{21}
}
func (x *ListApiSpecRevisionsResponse) GetApiSpecs() []*ApiSpec {
if x != nil {
return x.ApiSpecs
}
return nil
}
func (x *ListApiSpecRevisionsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for RollbackApiSpec.
type RollbackApiSpecRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The spec being rolled back.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The revision ID to roll back to.
// It must be a revision of the same spec.
//
// Example: `c7cfa2a8`
RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"`
}
func (x *RollbackApiSpecRequest) Reset() {
*x = RollbackApiSpecRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RollbackApiSpecRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RollbackApiSpecRequest) ProtoMessage() {}
func (x *RollbackApiSpecRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 RollbackApiSpecRequest.ProtoReflect.Descriptor instead.
func (*RollbackApiSpecRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{22}
}
func (x *RollbackApiSpecRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RollbackApiSpecRequest) GetRevisionId() string {
if x != nil {
return x.RevisionId
}
return ""
}
// Request message for DeleteApiSpecRevision.
type DeleteApiSpecRevisionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the spec revision to be deleted,
// with a revision ID explicitly included.
//
// Example:
// `projects/sample/locations/global/apis/petstore/versions/1.0.0/specs/openapi.yaml@c7cfa2a8`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteApiSpecRevisionRequest) Reset() {
*x = DeleteApiSpecRevisionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiSpecRevisionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiSpecRevisionRequest) ProtoMessage() {}
func (x *DeleteApiSpecRevisionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 DeleteApiSpecRevisionRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiSpecRevisionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{23}
}
func (x *DeleteApiSpecRevisionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for ListApiDeployments.
type ListApiDeploymentsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of deployments.
// Format: `projects/*/locations/*/apis/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of deployments to return.
// The service may return fewer than this value.
// If unspecified, at most 50 values will be returned.
// The maximum is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListApiDeployments` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListApiDeployments` 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"`
// An expression that can be used to filter the list. Filters use the Common
// Expression Language and can refer to all message fields.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
}
func (x *ListApiDeploymentsRequest) Reset() {
*x = ListApiDeploymentsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiDeploymentsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiDeploymentsRequest) ProtoMessage() {}
func (x *ListApiDeploymentsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_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 ListApiDeploymentsRequest.ProtoReflect.Descriptor instead.
func (*ListApiDeploymentsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{24}
}
func (x *ListApiDeploymentsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListApiDeploymentsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApiDeploymentsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListApiDeploymentsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
// Response message for ListApiDeployments.
type ListApiDeploymentsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The deployments from the specified publisher.
ApiDeployments []*ApiDeployment `protobuf:"bytes,1,rep,name=api_deployments,json=apiDeployments,proto3" json:"api_deployments,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"`
}
func (x *ListApiDeploymentsResponse) Reset() {
*x = ListApiDeploymentsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiDeploymentsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiDeploymentsResponse) ProtoMessage() {}
func (x *ListApiDeploymentsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListApiDeploymentsResponse.ProtoReflect.Descriptor instead.
func (*ListApiDeploymentsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{25}
}
func (x *ListApiDeploymentsResponse) GetApiDeployments() []*ApiDeployment {
if x != nil {
return x.ApiDeployments
}
return nil
}
func (x *ListApiDeploymentsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for GetApiDeployment.
type GetApiDeploymentRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the deployment to retrieve.
// Format: `projects/*/locations/*/apis/*/deployments/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetApiDeploymentRequest) Reset() {
*x = GetApiDeploymentRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetApiDeploymentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetApiDeploymentRequest) ProtoMessage() {}
func (x *GetApiDeploymentRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetApiDeploymentRequest.ProtoReflect.Descriptor instead.
func (*GetApiDeploymentRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{26}
}
func (x *GetApiDeploymentRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for CreateApiDeployment.
type CreateApiDeploymentRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of deployments.
// Format: `projects/*/locations/*/apis/*`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The deployment to create.
ApiDeployment *ApiDeployment `protobuf:"bytes,2,opt,name=api_deployment,json=apiDeployment,proto3" json:"api_deployment,omitempty"`
// Required. The ID to use for the deployment, which will become the final component of
// the deployment's resource name.
//
// This value should be 4-63 characters, and valid characters
// are /[a-z][0-9]-/.
//
// Following AIP-162, IDs must not have the form of a UUID.
ApiDeploymentId string `protobuf:"bytes,3,opt,name=api_deployment_id,json=apiDeploymentId,proto3" json:"api_deployment_id,omitempty"`
}
func (x *CreateApiDeploymentRequest) Reset() {
*x = CreateApiDeploymentRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateApiDeploymentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateApiDeploymentRequest) ProtoMessage() {}
func (x *CreateApiDeploymentRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateApiDeploymentRequest.ProtoReflect.Descriptor instead.
func (*CreateApiDeploymentRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{27}
}
func (x *CreateApiDeploymentRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateApiDeploymentRequest) GetApiDeployment() *ApiDeployment {
if x != nil {
return x.ApiDeployment
}
return nil
}
func (x *CreateApiDeploymentRequest) GetApiDeploymentId() string {
if x != nil {
return x.ApiDeploymentId
}
return ""
}
// Request message for UpdateApiDeployment.
type UpdateApiDeploymentRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The deployment to update.
//
// The `name` field is used to identify the deployment to update.
// Format: `projects/*/locations/*/apis/*/deployments/*`
ApiDeployment *ApiDeployment `protobuf:"bytes,1,opt,name=api_deployment,json=apiDeployment,proto3" json:"api_deployment,omitempty"`
// The list of fields to be updated. If omitted, all fields are updated that
// are set in the request message (fields set to default values are ignored).
// If an asterisk "*" is specified, all fields are updated, including fields
// that are unspecified/default in the request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// If set to true, and the deployment is not found, a new deployment will be
// created. In this situation, `update_mask` is ignored.
AllowMissing bool `protobuf:"varint,3,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"`
}
func (x *UpdateApiDeploymentRequest) Reset() {
*x = UpdateApiDeploymentRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateApiDeploymentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateApiDeploymentRequest) ProtoMessage() {}
func (x *UpdateApiDeploymentRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateApiDeploymentRequest.ProtoReflect.Descriptor instead.
func (*UpdateApiDeploymentRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{28}
}
func (x *UpdateApiDeploymentRequest) GetApiDeployment() *ApiDeployment {
if x != nil {
return x.ApiDeployment
}
return nil
}
func (x *UpdateApiDeploymentRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.UpdateMask
}
return nil
}
func (x *UpdateApiDeploymentRequest) GetAllowMissing() bool {
if x != nil {
return x.AllowMissing
}
return false
}
// Request message for DeleteApiDeployment.
type DeleteApiDeploymentRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the deployment to delete.
// Format: `projects/*/locations/*/apis/*/deployments/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// If set to true, any child resources will also be deleted.
// (Otherwise, the request will only work if there are no child resources.)
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
}
func (x *DeleteApiDeploymentRequest) Reset() {
*x = DeleteApiDeploymentRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiDeploymentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiDeploymentRequest) ProtoMessage() {}
func (x *DeleteApiDeploymentRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteApiDeploymentRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiDeploymentRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{29}
}
func (x *DeleteApiDeploymentRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *DeleteApiDeploymentRequest) GetForce() bool {
if x != nil {
return x.Force
}
return false
}
// Request message for TagApiDeploymentRevision.
type TagApiDeploymentRevisionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the deployment to be tagged, including the revision ID.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The tag to apply.
// The tag should be at most 40 characters, and match `[a-z][a-z0-9-]{3,39}`.
Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
}
func (x *TagApiDeploymentRevisionRequest) Reset() {
*x = TagApiDeploymentRevisionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TagApiDeploymentRevisionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TagApiDeploymentRevisionRequest) ProtoMessage() {}
func (x *TagApiDeploymentRevisionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TagApiDeploymentRevisionRequest.ProtoReflect.Descriptor instead.
func (*TagApiDeploymentRevisionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{30}
}
func (x *TagApiDeploymentRevisionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *TagApiDeploymentRevisionRequest) GetTag() string {
if x != nil {
return x.Tag
}
return ""
}
// Request message for ListApiDeploymentRevisions.
type ListApiDeploymentRevisionsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the deployment to list revisions for.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The maximum number of revisions to return per page.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The page token, received from a previous ListApiDeploymentRevisions call.
// Provide this to retrieve the subsequent page.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListApiDeploymentRevisionsRequest) Reset() {
*x = ListApiDeploymentRevisionsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiDeploymentRevisionsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiDeploymentRevisionsRequest) ProtoMessage() {}
func (x *ListApiDeploymentRevisionsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListApiDeploymentRevisionsRequest.ProtoReflect.Descriptor instead.
func (*ListApiDeploymentRevisionsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{31}
}
func (x *ListApiDeploymentRevisionsRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ListApiDeploymentRevisionsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListApiDeploymentRevisionsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// Response message for ListApiDeploymentRevisionsResponse.
type ListApiDeploymentRevisionsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The revisions of the deployment.
ApiDeployments []*ApiDeployment `protobuf:"bytes,1,rep,name=api_deployments,json=apiDeployments,proto3" json:"api_deployments,omitempty"`
// A token that 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"`
}
func (x *ListApiDeploymentRevisionsResponse) Reset() {
*x = ListApiDeploymentRevisionsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListApiDeploymentRevisionsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListApiDeploymentRevisionsResponse) ProtoMessage() {}
func (x *ListApiDeploymentRevisionsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListApiDeploymentRevisionsResponse.ProtoReflect.Descriptor instead.
func (*ListApiDeploymentRevisionsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{32}
}
func (x *ListApiDeploymentRevisionsResponse) GetApiDeployments() []*ApiDeployment {
if x != nil {
return x.ApiDeployments
}
return nil
}
func (x *ListApiDeploymentRevisionsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for RollbackApiDeployment.
type RollbackApiDeploymentRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The deployment being rolled back.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The revision ID to roll back to.
// It must be a revision of the same deployment.
//
// Example: `c7cfa2a8`
RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"`
}
func (x *RollbackApiDeploymentRequest) Reset() {
*x = RollbackApiDeploymentRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RollbackApiDeploymentRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RollbackApiDeploymentRequest) ProtoMessage() {}
func (x *RollbackApiDeploymentRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RollbackApiDeploymentRequest.ProtoReflect.Descriptor instead.
func (*RollbackApiDeploymentRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{33}
}
func (x *RollbackApiDeploymentRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *RollbackApiDeploymentRequest) GetRevisionId() string {
if x != nil {
return x.RevisionId
}
return ""
}
// Request message for DeleteApiDeploymentRevision.
type DeleteApiDeploymentRevisionRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the deployment revision to be deleted,
// with a revision ID explicitly included.
//
// Example:
// `projects/sample/locations/global/apis/petstore/deployments/prod@c7cfa2a8`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteApiDeploymentRevisionRequest) Reset() {
*x = DeleteApiDeploymentRevisionRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteApiDeploymentRevisionRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteApiDeploymentRevisionRequest) ProtoMessage() {}
func (x *DeleteApiDeploymentRevisionRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteApiDeploymentRevisionRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiDeploymentRevisionRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{34}
}
func (x *DeleteApiDeploymentRevisionRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for ListArtifacts.
type ListArtifactsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of artifacts.
// Format: `{parent}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of artifacts to return.
// The service may return fewer than this value.
// If unspecified, at most 50 values will be returned.
// The maximum is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListArtifacts` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListArtifacts` 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"`
// An expression that can be used to filter the list. Filters use the Common
// Expression Language and can refer to all message fields except contents.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
}
func (x *ListArtifactsRequest) Reset() {
*x = ListArtifactsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListArtifactsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListArtifactsRequest) ProtoMessage() {}
func (x *ListArtifactsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListArtifactsRequest.ProtoReflect.Descriptor instead.
func (*ListArtifactsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{35}
}
func (x *ListArtifactsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListArtifactsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListArtifactsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListArtifactsRequest) GetFilter() string {
if x != nil {
return x.Filter
}
return ""
}
// Response message for ListArtifacts.
type ListArtifactsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The artifacts from the specified publisher.
Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,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"`
}
func (x *ListArtifactsResponse) Reset() {
*x = ListArtifactsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListArtifactsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListArtifactsResponse) ProtoMessage() {}
func (x *ListArtifactsResponse) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListArtifactsResponse.ProtoReflect.Descriptor instead.
func (*ListArtifactsResponse) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{36}
}
func (x *ListArtifactsResponse) GetArtifacts() []*Artifact {
if x != nil {
return x.Artifacts
}
return nil
}
func (x *ListArtifactsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// Request message for GetArtifact.
type GetArtifactRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the artifact to retrieve.
// Format: `{parent}/artifacts/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetArtifactRequest) Reset() {
*x = GetArtifactRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetArtifactRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtifactRequest) ProtoMessage() {}
func (x *GetArtifactRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtifactRequest.ProtoReflect.Descriptor instead.
func (*GetArtifactRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{37}
}
func (x *GetArtifactRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for GetArtifactContents.
type GetArtifactContentsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the artifact whose contents should be retrieved.
// Format: `{parent}/artifacts/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetArtifactContentsRequest) Reset() {
*x = GetArtifactContentsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetArtifactContentsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtifactContentsRequest) ProtoMessage() {}
func (x *GetArtifactContentsRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtifactContentsRequest.ProtoReflect.Descriptor instead.
func (*GetArtifactContentsRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{38}
}
func (x *GetArtifactContentsRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Request message for CreateArtifact.
type CreateArtifactRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The parent, which owns this collection of artifacts.
// Format: `{parent}`
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. The artifact to create.
Artifact *Artifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"`
// Required. The ID to use for the artifact, which will become the final component of
// the artifact's resource name.
//
// This value should be 4-63 characters, and valid characters
// are /[a-z][0-9]-/.
//
// Following AIP-162, IDs must not have the form of a UUID.
ArtifactId string `protobuf:"bytes,3,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
}
func (x *CreateArtifactRequest) Reset() {
*x = CreateArtifactRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateArtifactRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateArtifactRequest) ProtoMessage() {}
func (x *CreateArtifactRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateArtifactRequest.ProtoReflect.Descriptor instead.
func (*CreateArtifactRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{39}
}
func (x *CreateArtifactRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *CreateArtifactRequest) GetArtifact() *Artifact {
if x != nil {
return x.Artifact
}
return nil
}
func (x *CreateArtifactRequest) GetArtifactId() string {
if x != nil {
return x.ArtifactId
}
return ""
}
// Request message for ReplaceArtifact.
type ReplaceArtifactRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The artifact to replace.
//
// The `name` field is used to identify the artifact to replace.
// Format: `{parent}/artifacts/*`
Artifact *Artifact `protobuf:"bytes,1,opt,name=artifact,proto3" json:"artifact,omitempty"`
}
func (x *ReplaceArtifactRequest) Reset() {
*x = ReplaceArtifactRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReplaceArtifactRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReplaceArtifactRequest) ProtoMessage() {}
func (x *ReplaceArtifactRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReplaceArtifactRequest.ProtoReflect.Descriptor instead.
func (*ReplaceArtifactRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{40}
}
func (x *ReplaceArtifactRequest) GetArtifact() *Artifact {
if x != nil {
return x.Artifact
}
return nil
}
// Request message for DeleteArtifact.
type DeleteArtifactRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. The name of the artifact to delete.
// Format: `{parent}/artifacts/*`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *DeleteArtifactRequest) Reset() {
*x = DeleteArtifactRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteArtifactRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteArtifactRequest) ProtoMessage() {}
func (x *DeleteArtifactRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteArtifactRequest.ProtoReflect.Descriptor instead.
func (*DeleteArtifactRequest) Descriptor() ([]byte, []int) {
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP(), []int{41}
}
func (x *DeleteArtifactRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
var File_google_cloud_apigeeregistry_v1_registry_service_proto protoreflect.FileDescriptor
var file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDesc = []byte{
0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31,
0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 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, 0x68, 0x74, 0x74, 0x70,
0x62, 0x6f, 0x64, 0x79, 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, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x6d,
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41,
0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29,
0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 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, 0x16, 0x0a,
0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x73, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x61, 0x70, 0x69,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x52, 0x04, 0x61, 0x70,
0x69, 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, 0x4e, 0x0a, 0x0d, 0x47, 0x65,
0x74, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41,
0x23, 0x0a, 0x21, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x41, 0x70, 0x69, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x10, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x41, 0x70, 0x69, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x1a,
0x0a, 0x06, 0x61, 0x70, 0x69, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x70, 0x69, 0x49, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x10, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x3a, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70,
0x69, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x3b, 0x0a, 0x0b, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f,
0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x67, 0x0a,
0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41,
0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
0x90, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x61,
0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61,
0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x22, 0x5c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,
0x0a, 0x28, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x22, 0xe0, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x70,
0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x49, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x50, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61,
0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23,
0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18,
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73,
0x69, 0x6e, 0x67, 0x22, 0x75, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65,
0x63, 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, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x84, 0x01,
0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70,
0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70,
0x65, 0x63, 0x52, 0x08, 0x61, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 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, 0x56, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70,
0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a,
0x25, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41,
0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5e, 0x0a, 0x19,
0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a,
0x25, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41,
0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a,
0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69,
0x53, 0x70, 0x65, 0x63, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x08,
0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x23, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65,
0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
0x09, 0x61, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x14, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03,
0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3b, 0x0a, 0x0b,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75,
0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c,
0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x6f,
0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x53,
0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72,
0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22,
0x75, 0x0a, 0x19, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa,
0x41, 0x27, 0x0a, 0x25, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
0x02, 0x52, 0x03, 0x74, 0x61, 0x67, 0x22, 0x9c, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x41,
0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x53,
0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70,
0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70,
0x65, 0x63, 0x52, 0x08, 0x61, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 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, 0x81, 0x01, 0x0a, 0x16, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
0x6b, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65,
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x19,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41,
0x2d, 0x12, 0x2b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 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, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x70, 0x69,
0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
0x74, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x17, 0x47, 0x65, 0x74,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70,
0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf5, 0x01,
0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x2d, 0x12, 0x2b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x70, 0x69,
0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70,
0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
0x52, 0x0d, 0x61, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12,
0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d,
0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e,
0x67, 0x22, 0x7b, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x44, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x81,
0x01, 0x0a, 0x1f, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x74,
0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x74,
0x61, 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70,
0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa4, 0x01,
0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41,
0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x70,
0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f,
0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63,
0x6b, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x69, 0x44, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70,
0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
0x0a, 0x2b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41,
0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73,
0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52,
0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65,
0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x1a,
0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28,
0x0a, 0x26, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd0,
0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28,
0x12, 0x26, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x12, 0x49, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
0x02, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x61,
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49,
0x64, 0x22, 0x63, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x61,
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41,
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0,
0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x32, 0xc0, 0x45, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x12, 0xa8, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x73, 0x12, 0x2f, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x39, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x2a, 0x12, 0x28, 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, 0x61, 0x70, 0x69, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x06,
0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x22, 0x37, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 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, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x22, 0x49, 0xda, 0x41, 0x11, 0x70, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x2c, 0x61, 0x70, 0x69, 0x2c, 0x61, 0x70, 0x69, 0x5f, 0x69, 0x64, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x03, 0x61, 0x70, 0x69, 0x22, 0x28, 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, 0x61,
0x70, 0x69, 0x73, 0x12, 0xaf, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x22, 0x4b, 0xda, 0x41, 0x0f, 0x61, 0x70, 0x69,
0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x33, 0x3a, 0x03, 0x61, 0x70, 0x69, 0x32, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x70,
0x69, 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, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x70, 0x69, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x37, 0xda,
0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 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, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41,
0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0xda, 0x41, 0x06,
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 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,
0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0xb5, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe5, 0x01, 0x0a, 0x10, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61,
0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x70, 0x69, 0x5f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a,
0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x33, 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,
0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xda, 0x41, 0x17,
0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x0b, 0x61,
0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x3f, 0x2f, 0x76, 0x31, 0x2f,
0x7b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x10,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x22, 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35,
0x2a, 0x33, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x53,
0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x3d, 0x12, 0x3b, 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, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x12,
0xb4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4a, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 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, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70,
0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x56,
0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 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,
0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74,
0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70,
0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e,
0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x6b, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x2c, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2c, 0x61, 0x70, 0x69, 0x5f,
0x73, 0x70, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x08, 0x61,
0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x3b, 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, 0x2f, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73,
0x70, 0x65, 0x63, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x6d, 0xda, 0x41, 0x14, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70,
0x65, 0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x50, 0x3a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x32, 0x44,
0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a,
0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63,
0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41,
0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
0x6d, 0x70, 0x74, 0x79, 0x22, 0x4a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x3d, 0x2a, 0x3b, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d,
0x12, 0xcc, 0x01, 0x0a, 0x12, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52,
0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x53,
0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x52, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73,
0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x61, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0xe4, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52,
0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x53, 0x70,
0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 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, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc3, 0x01, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62,
0x61, 0x63, 0x6b, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c,
0x62, 0x61, 0x63, 0x6b, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x4f, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73,
0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0xd9, 0x01, 0x0a,
0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65,
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70,
0x69, 0x53, 0x70, 0x65, 0x63, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x22, 0x59, 0xda,
0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x2a, 0x4a, 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, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xd4, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73,
0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 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, 0x2f, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12,
0xc1, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41,
0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x45, 0xda, 0x41,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 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, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73,
0x2f, 0x2a, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70,
0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x78, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x2c, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x2c, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x3a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x36, 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, 0x2f, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73,
0x12, 0xfc, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x44, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x22, 0x7a, 0xda, 0x41, 0x1a, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,
0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61,
0x70, 0x69, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a,
0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12,
0xb0, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70,
0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67,
0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41,
0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x45, 0xda, 0x41, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x2a, 0x36, 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, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x2a, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70,
0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x61, 0x67, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22,
0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 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, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x2a, 0x7d, 0x3a, 0x74, 0x61, 0x67, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xf1,
0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 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, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x41,
0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f,
0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44,
0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, 0x6c,
0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0xe6, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x70, 0x69, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69,
0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x44, 0x65,
0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a,
0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xca,
0x03, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76,
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69,
0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x02,
0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbb, 0x02,
0x5a, 0x36, 0x12, 0x34, 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, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61,
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5a, 0x41, 0x12, 0x3f, 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, 0x2f, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5a, 0x49, 0x12, 0x47, 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, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5a, 0x44, 0x12, 0x42, 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, 0x2f, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 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, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0xb7, 0x03, 0x0a, 0x0b,
0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31,
0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0xc9, 0x02, 0xda, 0x41, 0x04, 0x6e,
0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbb, 0x02, 0x5a, 0x36, 0x12, 0x34, 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, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f,
0x2a, 0x7d, 0x5a, 0x41, 0x12, 0x3f, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x49, 0x12, 0x47, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a,
0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63,
0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
0x5a, 0x44, 0x12, 0x42, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c,
0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 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, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69,
0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22,
0x85, 0x03, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xf7, 0x02,
0x5a, 0x42, 0x12, 0x40, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x73, 0x5a, 0x4d, 0x12, 0x4b, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66,
0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65,
0x6e, 0x74, 0x73, 0x5a, 0x55, 0x12, 0x53, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f,
0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67,
0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5a, 0x50, 0x12, 0x4e, 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, 0x61,
0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
0x3a, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 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, 0x61,
0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x74, 0x43,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x86, 0x04, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65,
0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x92, 0x03, 0xda, 0x41,
0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x2c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0xed, 0x02, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5a, 0x40, 0x3a,
0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x34, 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, 0x2f, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5a,
0x4b, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x3f, 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, 0x2f,
0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5a, 0x53, 0x3a, 0x08,
0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x47, 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, 0x2f, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73,
0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x73, 0x5a, 0x4e, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x42, 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, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x73, 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, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
0x12, 0xa2, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74,
0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0xac, 0x03, 0xda, 0x41, 0x08, 0x61, 0x72, 0x74, 0x69,
0x66, 0x61, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x03, 0x3a, 0x08, 0x61, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x5a, 0x49, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x1a, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
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, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
0x5a, 0x54, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x1a, 0x48, 0x2f, 0x76,
0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x5c, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
0x63, 0x74, 0x1a, 0x50, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 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, 0x61, 0x70,
0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
0x73, 0x70, 0x65, 0x63, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x57, 0x3a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x1a, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,
0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x36, 0x2f,
0x76, 0x31, 0x2f, 0x7b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 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, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xab, 0x03, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xc9, 0x02, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbb, 0x02, 0x5a, 0x36, 0x2a, 0x34, 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, 0x61, 0x70, 0x69,
0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
0x5a, 0x41, 0x2a, 0x3f, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
0x2f, 0x2a, 0x7d, 0x5a, 0x49, 0x2a, 0x47, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x2f,
0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x44,
0x2a, 0x42, 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, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x73, 0x2f, 0x2a, 0x7d, 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, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
0x2f, 0x2a, 0x7d, 0x1a, 0x51, 0xca, 0x41, 0x1d, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 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, 0xee, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x67,
0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x67, 0x65,
0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f,
0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x70, 0x62,
0x3b, 0x61, 0x70, 0x69, 0x67, 0x65, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x70,
0x62, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64,
0x2e, 0x41, 0x70, 0x69, 0x67, 0x65, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e,
0x56, 0x31, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
0x64, 0x5c, 0x41, 0x70, 0x69, 0x67, 0x65, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
0x5c, 0x56, 0x31, 0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x67, 0x65, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x72, 0x79, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescOnce sync.Once
file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescData = file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDesc
)
func file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescGZIP() []byte {
file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescOnce.Do(func() {
file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescData)
})
return file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDescData
}
var file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes = make([]protoimpl.MessageInfo, 42)
var file_google_cloud_apigeeregistry_v1_registry_service_proto_goTypes = []interface{}{
(*ListApisRequest)(nil), // 0: google.cloud.apigeeregistry.v1.ListApisRequest
(*ListApisResponse)(nil), // 1: google.cloud.apigeeregistry.v1.ListApisResponse
(*GetApiRequest)(nil), // 2: google.cloud.apigeeregistry.v1.GetApiRequest
(*CreateApiRequest)(nil), // 3: google.cloud.apigeeregistry.v1.CreateApiRequest
(*UpdateApiRequest)(nil), // 4: google.cloud.apigeeregistry.v1.UpdateApiRequest
(*DeleteApiRequest)(nil), // 5: google.cloud.apigeeregistry.v1.DeleteApiRequest
(*ListApiVersionsRequest)(nil), // 6: google.cloud.apigeeregistry.v1.ListApiVersionsRequest
(*ListApiVersionsResponse)(nil), // 7: google.cloud.apigeeregistry.v1.ListApiVersionsResponse
(*GetApiVersionRequest)(nil), // 8: google.cloud.apigeeregistry.v1.GetApiVersionRequest
(*CreateApiVersionRequest)(nil), // 9: google.cloud.apigeeregistry.v1.CreateApiVersionRequest
(*UpdateApiVersionRequest)(nil), // 10: google.cloud.apigeeregistry.v1.UpdateApiVersionRequest
(*DeleteApiVersionRequest)(nil), // 11: google.cloud.apigeeregistry.v1.DeleteApiVersionRequest
(*ListApiSpecsRequest)(nil), // 12: google.cloud.apigeeregistry.v1.ListApiSpecsRequest
(*ListApiSpecsResponse)(nil), // 13: google.cloud.apigeeregistry.v1.ListApiSpecsResponse
(*GetApiSpecRequest)(nil), // 14: google.cloud.apigeeregistry.v1.GetApiSpecRequest
(*GetApiSpecContentsRequest)(nil), // 15: google.cloud.apigeeregistry.v1.GetApiSpecContentsRequest
(*CreateApiSpecRequest)(nil), // 16: google.cloud.apigeeregistry.v1.CreateApiSpecRequest
(*UpdateApiSpecRequest)(nil), // 17: google.cloud.apigeeregistry.v1.UpdateApiSpecRequest
(*DeleteApiSpecRequest)(nil), // 18: google.cloud.apigeeregistry.v1.DeleteApiSpecRequest
(*TagApiSpecRevisionRequest)(nil), // 19: google.cloud.apigeeregistry.v1.TagApiSpecRevisionRequest
(*ListApiSpecRevisionsRequest)(nil), // 20: google.cloud.apigeeregistry.v1.ListApiSpecRevisionsRequest
(*ListApiSpecRevisionsResponse)(nil), // 21: google.cloud.apigeeregistry.v1.ListApiSpecRevisionsResponse
(*RollbackApiSpecRequest)(nil), // 22: google.cloud.apigeeregistry.v1.RollbackApiSpecRequest
(*DeleteApiSpecRevisionRequest)(nil), // 23: google.cloud.apigeeregistry.v1.DeleteApiSpecRevisionRequest
(*ListApiDeploymentsRequest)(nil), // 24: google.cloud.apigeeregistry.v1.ListApiDeploymentsRequest
(*ListApiDeploymentsResponse)(nil), // 25: google.cloud.apigeeregistry.v1.ListApiDeploymentsResponse
(*GetApiDeploymentRequest)(nil), // 26: google.cloud.apigeeregistry.v1.GetApiDeploymentRequest
(*CreateApiDeploymentRequest)(nil), // 27: google.cloud.apigeeregistry.v1.CreateApiDeploymentRequest
(*UpdateApiDeploymentRequest)(nil), // 28: google.cloud.apigeeregistry.v1.UpdateApiDeploymentRequest
(*DeleteApiDeploymentRequest)(nil), // 29: google.cloud.apigeeregistry.v1.DeleteApiDeploymentRequest
(*TagApiDeploymentRevisionRequest)(nil), // 30: google.cloud.apigeeregistry.v1.TagApiDeploymentRevisionRequest
(*ListApiDeploymentRevisionsRequest)(nil), // 31: google.cloud.apigeeregistry.v1.ListApiDeploymentRevisionsRequest
(*ListApiDeploymentRevisionsResponse)(nil), // 32: google.cloud.apigeeregistry.v1.ListApiDeploymentRevisionsResponse
(*RollbackApiDeploymentRequest)(nil), // 33: google.cloud.apigeeregistry.v1.RollbackApiDeploymentRequest
(*DeleteApiDeploymentRevisionRequest)(nil), // 34: google.cloud.apigeeregistry.v1.DeleteApiDeploymentRevisionRequest
(*ListArtifactsRequest)(nil), // 35: google.cloud.apigeeregistry.v1.ListArtifactsRequest
(*ListArtifactsResponse)(nil), // 36: google.cloud.apigeeregistry.v1.ListArtifactsResponse
(*GetArtifactRequest)(nil), // 37: google.cloud.apigeeregistry.v1.GetArtifactRequest
(*GetArtifactContentsRequest)(nil), // 38: google.cloud.apigeeregistry.v1.GetArtifactContentsRequest
(*CreateArtifactRequest)(nil), // 39: google.cloud.apigeeregistry.v1.CreateArtifactRequest
(*ReplaceArtifactRequest)(nil), // 40: google.cloud.apigeeregistry.v1.ReplaceArtifactRequest
(*DeleteArtifactRequest)(nil), // 41: google.cloud.apigeeregistry.v1.DeleteArtifactRequest
(*Api)(nil), // 42: google.cloud.apigeeregistry.v1.Api
(*fieldmaskpb.FieldMask)(nil), // 43: google.protobuf.FieldMask
(*ApiVersion)(nil), // 44: google.cloud.apigeeregistry.v1.ApiVersion
(*ApiSpec)(nil), // 45: google.cloud.apigeeregistry.v1.ApiSpec
(*ApiDeployment)(nil), // 46: google.cloud.apigeeregistry.v1.ApiDeployment
(*Artifact)(nil), // 47: google.cloud.apigeeregistry.v1.Artifact
(*emptypb.Empty)(nil), // 48: google.protobuf.Empty
(*httpbody.HttpBody)(nil), // 49: google.api.HttpBody
}
var file_google_cloud_apigeeregistry_v1_registry_service_proto_depIdxs = []int32{
42, // 0: google.cloud.apigeeregistry.v1.ListApisResponse.apis:type_name -> google.cloud.apigeeregistry.v1.Api
42, // 1: google.cloud.apigeeregistry.v1.CreateApiRequest.api:type_name -> google.cloud.apigeeregistry.v1.Api
42, // 2: google.cloud.apigeeregistry.v1.UpdateApiRequest.api:type_name -> google.cloud.apigeeregistry.v1.Api
43, // 3: google.cloud.apigeeregistry.v1.UpdateApiRequest.update_mask:type_name -> google.protobuf.FieldMask
44, // 4: google.cloud.apigeeregistry.v1.ListApiVersionsResponse.api_versions:type_name -> google.cloud.apigeeregistry.v1.ApiVersion
44, // 5: google.cloud.apigeeregistry.v1.CreateApiVersionRequest.api_version:type_name -> google.cloud.apigeeregistry.v1.ApiVersion
44, // 6: google.cloud.apigeeregistry.v1.UpdateApiVersionRequest.api_version:type_name -> google.cloud.apigeeregistry.v1.ApiVersion
43, // 7: google.cloud.apigeeregistry.v1.UpdateApiVersionRequest.update_mask:type_name -> google.protobuf.FieldMask
45, // 8: google.cloud.apigeeregistry.v1.ListApiSpecsResponse.api_specs:type_name -> google.cloud.apigeeregistry.v1.ApiSpec
45, // 9: google.cloud.apigeeregistry.v1.CreateApiSpecRequest.api_spec:type_name -> google.cloud.apigeeregistry.v1.ApiSpec
45, // 10: google.cloud.apigeeregistry.v1.UpdateApiSpecRequest.api_spec:type_name -> google.cloud.apigeeregistry.v1.ApiSpec
43, // 11: google.cloud.apigeeregistry.v1.UpdateApiSpecRequest.update_mask:type_name -> google.protobuf.FieldMask
45, // 12: google.cloud.apigeeregistry.v1.ListApiSpecRevisionsResponse.api_specs:type_name -> google.cloud.apigeeregistry.v1.ApiSpec
46, // 13: google.cloud.apigeeregistry.v1.ListApiDeploymentsResponse.api_deployments:type_name -> google.cloud.apigeeregistry.v1.ApiDeployment
46, // 14: google.cloud.apigeeregistry.v1.CreateApiDeploymentRequest.api_deployment:type_name -> google.cloud.apigeeregistry.v1.ApiDeployment
46, // 15: google.cloud.apigeeregistry.v1.UpdateApiDeploymentRequest.api_deployment:type_name -> google.cloud.apigeeregistry.v1.ApiDeployment
43, // 16: google.cloud.apigeeregistry.v1.UpdateApiDeploymentRequest.update_mask:type_name -> google.protobuf.FieldMask
46, // 17: google.cloud.apigeeregistry.v1.ListApiDeploymentRevisionsResponse.api_deployments:type_name -> google.cloud.apigeeregistry.v1.ApiDeployment
47, // 18: google.cloud.apigeeregistry.v1.ListArtifactsResponse.artifacts:type_name -> google.cloud.apigeeregistry.v1.Artifact
47, // 19: google.cloud.apigeeregistry.v1.CreateArtifactRequest.artifact:type_name -> google.cloud.apigeeregistry.v1.Artifact
47, // 20: google.cloud.apigeeregistry.v1.ReplaceArtifactRequest.artifact:type_name -> google.cloud.apigeeregistry.v1.Artifact
0, // 21: google.cloud.apigeeregistry.v1.Registry.ListApis:input_type -> google.cloud.apigeeregistry.v1.ListApisRequest
2, // 22: google.cloud.apigeeregistry.v1.Registry.GetApi:input_type -> google.cloud.apigeeregistry.v1.GetApiRequest
3, // 23: google.cloud.apigeeregistry.v1.Registry.CreateApi:input_type -> google.cloud.apigeeregistry.v1.CreateApiRequest
4, // 24: google.cloud.apigeeregistry.v1.Registry.UpdateApi:input_type -> google.cloud.apigeeregistry.v1.UpdateApiRequest
5, // 25: google.cloud.apigeeregistry.v1.Registry.DeleteApi:input_type -> google.cloud.apigeeregistry.v1.DeleteApiRequest
6, // 26: google.cloud.apigeeregistry.v1.Registry.ListApiVersions:input_type -> google.cloud.apigeeregistry.v1.ListApiVersionsRequest
8, // 27: google.cloud.apigeeregistry.v1.Registry.GetApiVersion:input_type -> google.cloud.apigeeregistry.v1.GetApiVersionRequest
9, // 28: google.cloud.apigeeregistry.v1.Registry.CreateApiVersion:input_type -> google.cloud.apigeeregistry.v1.CreateApiVersionRequest
10, // 29: google.cloud.apigeeregistry.v1.Registry.UpdateApiVersion:input_type -> google.cloud.apigeeregistry.v1.UpdateApiVersionRequest
11, // 30: google.cloud.apigeeregistry.v1.Registry.DeleteApiVersion:input_type -> google.cloud.apigeeregistry.v1.DeleteApiVersionRequest
12, // 31: google.cloud.apigeeregistry.v1.Registry.ListApiSpecs:input_type -> google.cloud.apigeeregistry.v1.ListApiSpecsRequest
14, // 32: google.cloud.apigeeregistry.v1.Registry.GetApiSpec:input_type -> google.cloud.apigeeregistry.v1.GetApiSpecRequest
15, // 33: google.cloud.apigeeregistry.v1.Registry.GetApiSpecContents:input_type -> google.cloud.apigeeregistry.v1.GetApiSpecContentsRequest
16, // 34: google.cloud.apigeeregistry.v1.Registry.CreateApiSpec:input_type -> google.cloud.apigeeregistry.v1.CreateApiSpecRequest
17, // 35: google.cloud.apigeeregistry.v1.Registry.UpdateApiSpec:input_type -> google.cloud.apigeeregistry.v1.UpdateApiSpecRequest
18, // 36: google.cloud.apigeeregistry.v1.Registry.DeleteApiSpec:input_type -> google.cloud.apigeeregistry.v1.DeleteApiSpecRequest
19, // 37: google.cloud.apigeeregistry.v1.Registry.TagApiSpecRevision:input_type -> google.cloud.apigeeregistry.v1.TagApiSpecRevisionRequest
20, // 38: google.cloud.apigeeregistry.v1.Registry.ListApiSpecRevisions:input_type -> google.cloud.apigeeregistry.v1.ListApiSpecRevisionsRequest
22, // 39: google.cloud.apigeeregistry.v1.Registry.RollbackApiSpec:input_type -> google.cloud.apigeeregistry.v1.RollbackApiSpecRequest
23, // 40: google.cloud.apigeeregistry.v1.Registry.DeleteApiSpecRevision:input_type -> google.cloud.apigeeregistry.v1.DeleteApiSpecRevisionRequest
24, // 41: google.cloud.apigeeregistry.v1.Registry.ListApiDeployments:input_type -> google.cloud.apigeeregistry.v1.ListApiDeploymentsRequest
26, // 42: google.cloud.apigeeregistry.v1.Registry.GetApiDeployment:input_type -> google.cloud.apigeeregistry.v1.GetApiDeploymentRequest
27, // 43: google.cloud.apigeeregistry.v1.Registry.CreateApiDeployment:input_type -> google.cloud.apigeeregistry.v1.CreateApiDeploymentRequest
28, // 44: google.cloud.apigeeregistry.v1.Registry.UpdateApiDeployment:input_type -> google.cloud.apigeeregistry.v1.UpdateApiDeploymentRequest
29, // 45: google.cloud.apigeeregistry.v1.Registry.DeleteApiDeployment:input_type -> google.cloud.apigeeregistry.v1.DeleteApiDeploymentRequest
30, // 46: google.cloud.apigeeregistry.v1.Registry.TagApiDeploymentRevision:input_type -> google.cloud.apigeeregistry.v1.TagApiDeploymentRevisionRequest
31, // 47: google.cloud.apigeeregistry.v1.Registry.ListApiDeploymentRevisions:input_type -> google.cloud.apigeeregistry.v1.ListApiDeploymentRevisionsRequest
33, // 48: google.cloud.apigeeregistry.v1.Registry.RollbackApiDeployment:input_type -> google.cloud.apigeeregistry.v1.RollbackApiDeploymentRequest
34, // 49: google.cloud.apigeeregistry.v1.Registry.DeleteApiDeploymentRevision:input_type -> google.cloud.apigeeregistry.v1.DeleteApiDeploymentRevisionRequest
35, // 50: google.cloud.apigeeregistry.v1.Registry.ListArtifacts:input_type -> google.cloud.apigeeregistry.v1.ListArtifactsRequest
37, // 51: google.cloud.apigeeregistry.v1.Registry.GetArtifact:input_type -> google.cloud.apigeeregistry.v1.GetArtifactRequest
38, // 52: google.cloud.apigeeregistry.v1.Registry.GetArtifactContents:input_type -> google.cloud.apigeeregistry.v1.GetArtifactContentsRequest
39, // 53: google.cloud.apigeeregistry.v1.Registry.CreateArtifact:input_type -> google.cloud.apigeeregistry.v1.CreateArtifactRequest
40, // 54: google.cloud.apigeeregistry.v1.Registry.ReplaceArtifact:input_type -> google.cloud.apigeeregistry.v1.ReplaceArtifactRequest
41, // 55: google.cloud.apigeeregistry.v1.Registry.DeleteArtifact:input_type -> google.cloud.apigeeregistry.v1.DeleteArtifactRequest
1, // 56: google.cloud.apigeeregistry.v1.Registry.ListApis:output_type -> google.cloud.apigeeregistry.v1.ListApisResponse
42, // 57: google.cloud.apigeeregistry.v1.Registry.GetApi:output_type -> google.cloud.apigeeregistry.v1.Api
42, // 58: google.cloud.apigeeregistry.v1.Registry.CreateApi:output_type -> google.cloud.apigeeregistry.v1.Api
42, // 59: google.cloud.apigeeregistry.v1.Registry.UpdateApi:output_type -> google.cloud.apigeeregistry.v1.Api
48, // 60: google.cloud.apigeeregistry.v1.Registry.DeleteApi:output_type -> google.protobuf.Empty
7, // 61: google.cloud.apigeeregistry.v1.Registry.ListApiVersions:output_type -> google.cloud.apigeeregistry.v1.ListApiVersionsResponse
44, // 62: google.cloud.apigeeregistry.v1.Registry.GetApiVersion:output_type -> google.cloud.apigeeregistry.v1.ApiVersion
44, // 63: google.cloud.apigeeregistry.v1.Registry.CreateApiVersion:output_type -> google.cloud.apigeeregistry.v1.ApiVersion
44, // 64: google.cloud.apigeeregistry.v1.Registry.UpdateApiVersion:output_type -> google.cloud.apigeeregistry.v1.ApiVersion
48, // 65: google.cloud.apigeeregistry.v1.Registry.DeleteApiVersion:output_type -> google.protobuf.Empty
13, // 66: google.cloud.apigeeregistry.v1.Registry.ListApiSpecs:output_type -> google.cloud.apigeeregistry.v1.ListApiSpecsResponse
45, // 67: google.cloud.apigeeregistry.v1.Registry.GetApiSpec:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
49, // 68: google.cloud.apigeeregistry.v1.Registry.GetApiSpecContents:output_type -> google.api.HttpBody
45, // 69: google.cloud.apigeeregistry.v1.Registry.CreateApiSpec:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
45, // 70: google.cloud.apigeeregistry.v1.Registry.UpdateApiSpec:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
48, // 71: google.cloud.apigeeregistry.v1.Registry.DeleteApiSpec:output_type -> google.protobuf.Empty
45, // 72: google.cloud.apigeeregistry.v1.Registry.TagApiSpecRevision:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
21, // 73: google.cloud.apigeeregistry.v1.Registry.ListApiSpecRevisions:output_type -> google.cloud.apigeeregistry.v1.ListApiSpecRevisionsResponse
45, // 74: google.cloud.apigeeregistry.v1.Registry.RollbackApiSpec:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
45, // 75: google.cloud.apigeeregistry.v1.Registry.DeleteApiSpecRevision:output_type -> google.cloud.apigeeregistry.v1.ApiSpec
25, // 76: google.cloud.apigeeregistry.v1.Registry.ListApiDeployments:output_type -> google.cloud.apigeeregistry.v1.ListApiDeploymentsResponse
46, // 77: google.cloud.apigeeregistry.v1.Registry.GetApiDeployment:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
46, // 78: google.cloud.apigeeregistry.v1.Registry.CreateApiDeployment:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
46, // 79: google.cloud.apigeeregistry.v1.Registry.UpdateApiDeployment:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
48, // 80: google.cloud.apigeeregistry.v1.Registry.DeleteApiDeployment:output_type -> google.protobuf.Empty
46, // 81: google.cloud.apigeeregistry.v1.Registry.TagApiDeploymentRevision:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
32, // 82: google.cloud.apigeeregistry.v1.Registry.ListApiDeploymentRevisions:output_type -> google.cloud.apigeeregistry.v1.ListApiDeploymentRevisionsResponse
46, // 83: google.cloud.apigeeregistry.v1.Registry.RollbackApiDeployment:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
46, // 84: google.cloud.apigeeregistry.v1.Registry.DeleteApiDeploymentRevision:output_type -> google.cloud.apigeeregistry.v1.ApiDeployment
36, // 85: google.cloud.apigeeregistry.v1.Registry.ListArtifacts:output_type -> google.cloud.apigeeregistry.v1.ListArtifactsResponse
47, // 86: google.cloud.apigeeregistry.v1.Registry.GetArtifact:output_type -> google.cloud.apigeeregistry.v1.Artifact
49, // 87: google.cloud.apigeeregistry.v1.Registry.GetArtifactContents:output_type -> google.api.HttpBody
47, // 88: google.cloud.apigeeregistry.v1.Registry.CreateArtifact:output_type -> google.cloud.apigeeregistry.v1.Artifact
47, // 89: google.cloud.apigeeregistry.v1.Registry.ReplaceArtifact:output_type -> google.cloud.apigeeregistry.v1.Artifact
48, // 90: google.cloud.apigeeregistry.v1.Registry.DeleteArtifact:output_type -> google.protobuf.Empty
56, // [56:91] is the sub-list for method output_type
21, // [21:56] is the sub-list for method input_type
21, // [21:21] is the sub-list for extension type_name
21, // [21:21] is the sub-list for extension extendee
0, // [0:21] is the sub-list for field type_name
}
func init() { file_google_cloud_apigeeregistry_v1_registry_service_proto_init() }
func file_google_cloud_apigeeregistry_v1_registry_service_proto_init() {
if File_google_cloud_apigeeregistry_v1_registry_service_proto != nil {
return
}
file_google_cloud_apigeeregistry_v1_registry_models_proto_init()
if !protoimpl.UnsafeEnabled {
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApisRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApisResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetApiRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateApiRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateApiRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiVersionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiVersionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetApiVersionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateApiVersionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateApiVersionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiVersionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiSpecsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiSpecsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetApiSpecRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetApiSpecContentsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateApiSpecRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateApiSpecRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiSpecRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TagApiSpecRevisionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiSpecRevisionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiSpecRevisionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RollbackApiSpecRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiSpecRevisionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiDeploymentsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiDeploymentsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetApiDeploymentRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateApiDeploymentRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateApiDeploymentRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiDeploymentRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TagApiDeploymentRevisionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiDeploymentRevisionsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListApiDeploymentRevisionsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RollbackApiDeploymentRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteApiDeploymentRevisionRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListArtifactsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListArtifactsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetArtifactRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetArtifactContentsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateArtifactRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReplaceArtifactRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteArtifactRequest); 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_apigeeregistry_v1_registry_service_proto_rawDesc,
NumEnums: 0,
NumMessages: 42,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_google_cloud_apigeeregistry_v1_registry_service_proto_goTypes,
DependencyIndexes: file_google_cloud_apigeeregistry_v1_registry_service_proto_depIdxs,
MessageInfos: file_google_cloud_apigeeregistry_v1_registry_service_proto_msgTypes,
}.Build()
File_google_cloud_apigeeregistry_v1_registry_service_proto = out.File
file_google_cloud_apigeeregistry_v1_registry_service_proto_rawDesc = nil
file_google_cloud_apigeeregistry_v1_registry_service_proto_goTypes = nil
file_google_cloud_apigeeregistry_v1_registry_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
// RegistryClient is the client API for Registry service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type RegistryClient interface {
// Returns matching APIs.
ListApis(ctx context.Context, in *ListApisRequest, opts ...grpc.CallOption) (*ListApisResponse, error)
// Returns a specified API.
GetApi(ctx context.Context, in *GetApiRequest, opts ...grpc.CallOption) (*Api, error)
// Creates a specified API.
CreateApi(ctx context.Context, in *CreateApiRequest, opts ...grpc.CallOption) (*Api, error)
// Used to modify a specified API.
UpdateApi(ctx context.Context, in *UpdateApiRequest, opts ...grpc.CallOption) (*Api, error)
// Removes a specified API and all of the resources that it
// owns.
DeleteApi(ctx context.Context, in *DeleteApiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Returns matching versions.
ListApiVersions(ctx context.Context, in *ListApiVersionsRequest, opts ...grpc.CallOption) (*ListApiVersionsResponse, error)
// Returns a specified version.
GetApiVersion(ctx context.Context, in *GetApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error)
// Creates a specified version.
CreateApiVersion(ctx context.Context, in *CreateApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error)
// Used to modify a specified version.
UpdateApiVersion(ctx context.Context, in *UpdateApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error)
// Removes a specified version and all of the resources that
// it owns.
DeleteApiVersion(ctx context.Context, in *DeleteApiVersionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Returns matching specs.
ListApiSpecs(ctx context.Context, in *ListApiSpecsRequest, opts ...grpc.CallOption) (*ListApiSpecsResponse, error)
// Returns a specified spec.
GetApiSpec(ctx context.Context, in *GetApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Returns the contents of a specified spec.
// If specs are stored with GZip compression, the default behavior
// is to return the spec uncompressed (the mime_type response field
// indicates the exact format returned).
GetApiSpecContents(ctx context.Context, in *GetApiSpecContentsRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
// Creates a specified spec.
CreateApiSpec(ctx context.Context, in *CreateApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Used to modify a specified spec.
UpdateApiSpec(ctx context.Context, in *UpdateApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Removes a specified spec, all revisions, and all child
// resources (e.g., artifacts).
DeleteApiSpec(ctx context.Context, in *DeleteApiSpecRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Adds a tag to a specified revision of a spec.
TagApiSpecRevision(ctx context.Context, in *TagApiSpecRevisionRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Lists all revisions of a spec.
// Revisions are returned in descending order of revision creation time.
ListApiSpecRevisions(ctx context.Context, in *ListApiSpecRevisionsRequest, opts ...grpc.CallOption) (*ListApiSpecRevisionsResponse, error)
// Sets the current revision to a specified prior revision.
// Note that this creates a new revision with a new revision ID.
RollbackApiSpec(ctx context.Context, in *RollbackApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Deletes a revision of a spec.
DeleteApiSpecRevision(ctx context.Context, in *DeleteApiSpecRevisionRequest, opts ...grpc.CallOption) (*ApiSpec, error)
// Returns matching deployments.
ListApiDeployments(ctx context.Context, in *ListApiDeploymentsRequest, opts ...grpc.CallOption) (*ListApiDeploymentsResponse, error)
// Returns a specified deployment.
GetApiDeployment(ctx context.Context, in *GetApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Creates a specified deployment.
CreateApiDeployment(ctx context.Context, in *CreateApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Used to modify a specified deployment.
UpdateApiDeployment(ctx context.Context, in *UpdateApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Removes a specified deployment, all revisions, and all
// child resources (e.g., artifacts).
DeleteApiDeployment(ctx context.Context, in *DeleteApiDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Adds a tag to a specified revision of a
// deployment.
TagApiDeploymentRevision(ctx context.Context, in *TagApiDeploymentRevisionRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Lists all revisions of a deployment.
// Revisions are returned in descending order of revision creation time.
ListApiDeploymentRevisions(ctx context.Context, in *ListApiDeploymentRevisionsRequest, opts ...grpc.CallOption) (*ListApiDeploymentRevisionsResponse, error)
// Sets the current revision to a specified prior
// revision. Note that this creates a new revision with a new revision ID.
RollbackApiDeployment(ctx context.Context, in *RollbackApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Deletes a revision of a deployment.
DeleteApiDeploymentRevision(ctx context.Context, in *DeleteApiDeploymentRevisionRequest, opts ...grpc.CallOption) (*ApiDeployment, error)
// Returns matching artifacts.
ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error)
// Returns a specified artifact.
GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error)
// Returns the contents of a specified artifact.
// If artifacts are stored with GZip compression, the default behavior
// is to return the artifact uncompressed (the mime_type response field
// indicates the exact format returned).
GetArtifactContents(ctx context.Context, in *GetArtifactContentsRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
// Creates a specified artifact.
CreateArtifact(ctx context.Context, in *CreateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error)
// Used to replace a specified artifact.
ReplaceArtifact(ctx context.Context, in *ReplaceArtifactRequest, opts ...grpc.CallOption) (*Artifact, error)
// Removes a specified artifact.
DeleteArtifact(ctx context.Context, in *DeleteArtifactRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
}
type registryClient struct {
cc grpc.ClientConnInterface
}
func NewRegistryClient(cc grpc.ClientConnInterface) RegistryClient {
return &registryClient{cc}
}
func (c *registryClient) ListApis(ctx context.Context, in *ListApisRequest, opts ...grpc.CallOption) (*ListApisResponse, error) {
out := new(ListApisResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApis", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetApi(ctx context.Context, in *GetApiRequest, opts ...grpc.CallOption) (*Api, error) {
out := new(Api)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetApi", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) CreateApi(ctx context.Context, in *CreateApiRequest, opts ...grpc.CallOption) (*Api, error) {
out := new(Api)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/CreateApi", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) UpdateApi(ctx context.Context, in *UpdateApiRequest, opts ...grpc.CallOption) (*Api, error) {
out := new(Api)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/UpdateApi", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApi(ctx context.Context, in *DeleteApiRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApi", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListApiVersions(ctx context.Context, in *ListApiVersionsRequest, opts ...grpc.CallOption) (*ListApiVersionsResponse, error) {
out := new(ListApiVersionsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApiVersions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetApiVersion(ctx context.Context, in *GetApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error) {
out := new(ApiVersion)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetApiVersion", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) CreateApiVersion(ctx context.Context, in *CreateApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error) {
out := new(ApiVersion)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/CreateApiVersion", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) UpdateApiVersion(ctx context.Context, in *UpdateApiVersionRequest, opts ...grpc.CallOption) (*ApiVersion, error) {
out := new(ApiVersion)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/UpdateApiVersion", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApiVersion(ctx context.Context, in *DeleteApiVersionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApiVersion", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListApiSpecs(ctx context.Context, in *ListApiSpecsRequest, opts ...grpc.CallOption) (*ListApiSpecsResponse, error) {
out := new(ListApiSpecsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApiSpecs", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetApiSpec(ctx context.Context, in *GetApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetApiSpec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetApiSpecContents(ctx context.Context, in *GetApiSpecContentsRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) {
out := new(httpbody.HttpBody)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetApiSpecContents", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) CreateApiSpec(ctx context.Context, in *CreateApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/CreateApiSpec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) UpdateApiSpec(ctx context.Context, in *UpdateApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/UpdateApiSpec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApiSpec(ctx context.Context, in *DeleteApiSpecRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApiSpec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) TagApiSpecRevision(ctx context.Context, in *TagApiSpecRevisionRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/TagApiSpecRevision", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListApiSpecRevisions(ctx context.Context, in *ListApiSpecRevisionsRequest, opts ...grpc.CallOption) (*ListApiSpecRevisionsResponse, error) {
out := new(ListApiSpecRevisionsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApiSpecRevisions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) RollbackApiSpec(ctx context.Context, in *RollbackApiSpecRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/RollbackApiSpec", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApiSpecRevision(ctx context.Context, in *DeleteApiSpecRevisionRequest, opts ...grpc.CallOption) (*ApiSpec, error) {
out := new(ApiSpec)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApiSpecRevision", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListApiDeployments(ctx context.Context, in *ListApiDeploymentsRequest, opts ...grpc.CallOption) (*ListApiDeploymentsResponse, error) {
out := new(ListApiDeploymentsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApiDeployments", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetApiDeployment(ctx context.Context, in *GetApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetApiDeployment", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) CreateApiDeployment(ctx context.Context, in *CreateApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/CreateApiDeployment", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) UpdateApiDeployment(ctx context.Context, in *UpdateApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/UpdateApiDeployment", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApiDeployment(ctx context.Context, in *DeleteApiDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApiDeployment", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) TagApiDeploymentRevision(ctx context.Context, in *TagApiDeploymentRevisionRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/TagApiDeploymentRevision", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListApiDeploymentRevisions(ctx context.Context, in *ListApiDeploymentRevisionsRequest, opts ...grpc.CallOption) (*ListApiDeploymentRevisionsResponse, error) {
out := new(ListApiDeploymentRevisionsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListApiDeploymentRevisions", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) RollbackApiDeployment(ctx context.Context, in *RollbackApiDeploymentRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/RollbackApiDeployment", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteApiDeploymentRevision(ctx context.Context, in *DeleteApiDeploymentRevisionRequest, opts ...grpc.CallOption) (*ApiDeployment, error) {
out := new(ApiDeployment)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteApiDeploymentRevision", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error) {
out := new(ListArtifactsResponse)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ListArtifacts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) {
out := new(Artifact)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) GetArtifactContents(ctx context.Context, in *GetArtifactContentsRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) {
out := new(httpbody.HttpBody)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/GetArtifactContents", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) CreateArtifact(ctx context.Context, in *CreateArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) {
out := new(Artifact)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/CreateArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) ReplaceArtifact(ctx context.Context, in *ReplaceArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) {
out := new(Artifact)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/ReplaceArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *registryClient) DeleteArtifact(ctx context.Context, in *DeleteArtifactRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/google.cloud.apigeeregistry.v1.Registry/DeleteArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RegistryServer is the server API for Registry service.
type RegistryServer interface {
// Returns matching APIs.
ListApis(context.Context, *ListApisRequest) (*ListApisResponse, error)
// Returns a specified API.
GetApi(context.Context, *GetApiRequest) (*Api, error)
// Creates a specified API.
CreateApi(context.Context, *CreateApiRequest) (*Api, error)
// Used to modify a specified API.
UpdateApi(context.Context, *UpdateApiRequest) (*Api, error)
// Removes a specified API and all of the resources that it
// owns.
DeleteApi(context.Context, *DeleteApiRequest) (*emptypb.Empty, error)
// Returns matching versions.
ListApiVersions(context.Context, *ListApiVersionsRequest) (*ListApiVersionsResponse, error)
// Returns a specified version.
GetApiVersion(context.Context, *GetApiVersionRequest) (*ApiVersion, error)
// Creates a specified version.
CreateApiVersion(context.Context, *CreateApiVersionRequest) (*ApiVersion, error)
// Used to modify a specified version.
UpdateApiVersion(context.Context, *UpdateApiVersionRequest) (*ApiVersion, error)
// Removes a specified version and all of the resources that
// it owns.
DeleteApiVersion(context.Context, *DeleteApiVersionRequest) (*emptypb.Empty, error)
// Returns matching specs.
ListApiSpecs(context.Context, *ListApiSpecsRequest) (*ListApiSpecsResponse, error)
// Returns a specified spec.
GetApiSpec(context.Context, *GetApiSpecRequest) (*ApiSpec, error)
// Returns the contents of a specified spec.
// If specs are stored with GZip compression, the default behavior
// is to return the spec uncompressed (the mime_type response field
// indicates the exact format returned).
GetApiSpecContents(context.Context, *GetApiSpecContentsRequest) (*httpbody.HttpBody, error)
// Creates a specified spec.
CreateApiSpec(context.Context, *CreateApiSpecRequest) (*ApiSpec, error)
// Used to modify a specified spec.
UpdateApiSpec(context.Context, *UpdateApiSpecRequest) (*ApiSpec, error)
// Removes a specified spec, all revisions, and all child
// resources (e.g., artifacts).
DeleteApiSpec(context.Context, *DeleteApiSpecRequest) (*emptypb.Empty, error)
// Adds a tag to a specified revision of a spec.
TagApiSpecRevision(context.Context, *TagApiSpecRevisionRequest) (*ApiSpec, error)
// Lists all revisions of a spec.
// Revisions are returned in descending order of revision creation time.
ListApiSpecRevisions(context.Context, *ListApiSpecRevisionsRequest) (*ListApiSpecRevisionsResponse, error)
// Sets the current revision to a specified prior revision.
// Note that this creates a new revision with a new revision ID.
RollbackApiSpec(context.Context, *RollbackApiSpecRequest) (*ApiSpec, error)
// Deletes a revision of a spec.
DeleteApiSpecRevision(context.Context, *DeleteApiSpecRevisionRequest) (*ApiSpec, error)
// Returns matching deployments.
ListApiDeployments(context.Context, *ListApiDeploymentsRequest) (*ListApiDeploymentsResponse, error)
// Returns a specified deployment.
GetApiDeployment(context.Context, *GetApiDeploymentRequest) (*ApiDeployment, error)
// Creates a specified deployment.
CreateApiDeployment(context.Context, *CreateApiDeploymentRequest) (*ApiDeployment, error)
// Used to modify a specified deployment.
UpdateApiDeployment(context.Context, *UpdateApiDeploymentRequest) (*ApiDeployment, error)
// Removes a specified deployment, all revisions, and all
// child resources (e.g., artifacts).
DeleteApiDeployment(context.Context, *DeleteApiDeploymentRequest) (*emptypb.Empty, error)
// Adds a tag to a specified revision of a
// deployment.
TagApiDeploymentRevision(context.Context, *TagApiDeploymentRevisionRequest) (*ApiDeployment, error)
// Lists all revisions of a deployment.
// Revisions are returned in descending order of revision creation time.
ListApiDeploymentRevisions(context.Context, *ListApiDeploymentRevisionsRequest) (*ListApiDeploymentRevisionsResponse, error)
// Sets the current revision to a specified prior
// revision. Note that this creates a new revision with a new revision ID.
RollbackApiDeployment(context.Context, *RollbackApiDeploymentRequest) (*ApiDeployment, error)
// Deletes a revision of a deployment.
DeleteApiDeploymentRevision(context.Context, *DeleteApiDeploymentRevisionRequest) (*ApiDeployment, error)
// Returns matching artifacts.
ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error)
// Returns a specified artifact.
GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error)
// Returns the contents of a specified artifact.
// If artifacts are stored with GZip compression, the default behavior
// is to return the artifact uncompressed (the mime_type response field
// indicates the exact format returned).
GetArtifactContents(context.Context, *GetArtifactContentsRequest) (*httpbody.HttpBody, error)
// Creates a specified artifact.
CreateArtifact(context.Context, *CreateArtifactRequest) (*Artifact, error)
// Used to replace a specified artifact.
ReplaceArtifact(context.Context, *ReplaceArtifactRequest) (*Artifact, error)
// Removes a specified artifact.
DeleteArtifact(context.Context, *DeleteArtifactRequest) (*emptypb.Empty, error)
}
// UnimplementedRegistryServer can be embedded to have forward compatible implementations.
type UnimplementedRegistryServer struct {
}
func (*UnimplementedRegistryServer) ListApis(context.Context, *ListApisRequest) (*ListApisResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApis not implemented")
}
func (*UnimplementedRegistryServer) GetApi(context.Context, *GetApiRequest) (*Api, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetApi not implemented")
}
func (*UnimplementedRegistryServer) CreateApi(context.Context, *CreateApiRequest) (*Api, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateApi not implemented")
}
func (*UnimplementedRegistryServer) UpdateApi(context.Context, *UpdateApiRequest) (*Api, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateApi not implemented")
}
func (*UnimplementedRegistryServer) DeleteApi(context.Context, *DeleteApiRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApi not implemented")
}
func (*UnimplementedRegistryServer) ListApiVersions(context.Context, *ListApiVersionsRequest) (*ListApiVersionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApiVersions not implemented")
}
func (*UnimplementedRegistryServer) GetApiVersion(context.Context, *GetApiVersionRequest) (*ApiVersion, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetApiVersion not implemented")
}
func (*UnimplementedRegistryServer) CreateApiVersion(context.Context, *CreateApiVersionRequest) (*ApiVersion, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateApiVersion not implemented")
}
func (*UnimplementedRegistryServer) UpdateApiVersion(context.Context, *UpdateApiVersionRequest) (*ApiVersion, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateApiVersion not implemented")
}
func (*UnimplementedRegistryServer) DeleteApiVersion(context.Context, *DeleteApiVersionRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApiVersion not implemented")
}
func (*UnimplementedRegistryServer) ListApiSpecs(context.Context, *ListApiSpecsRequest) (*ListApiSpecsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApiSpecs not implemented")
}
func (*UnimplementedRegistryServer) GetApiSpec(context.Context, *GetApiSpecRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetApiSpec not implemented")
}
func (*UnimplementedRegistryServer) GetApiSpecContents(context.Context, *GetApiSpecContentsRequest) (*httpbody.HttpBody, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetApiSpecContents not implemented")
}
func (*UnimplementedRegistryServer) CreateApiSpec(context.Context, *CreateApiSpecRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateApiSpec not implemented")
}
func (*UnimplementedRegistryServer) UpdateApiSpec(context.Context, *UpdateApiSpecRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateApiSpec not implemented")
}
func (*UnimplementedRegistryServer) DeleteApiSpec(context.Context, *DeleteApiSpecRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApiSpec not implemented")
}
func (*UnimplementedRegistryServer) TagApiSpecRevision(context.Context, *TagApiSpecRevisionRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method TagApiSpecRevision not implemented")
}
func (*UnimplementedRegistryServer) ListApiSpecRevisions(context.Context, *ListApiSpecRevisionsRequest) (*ListApiSpecRevisionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApiSpecRevisions not implemented")
}
func (*UnimplementedRegistryServer) RollbackApiSpec(context.Context, *RollbackApiSpecRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method RollbackApiSpec not implemented")
}
func (*UnimplementedRegistryServer) DeleteApiSpecRevision(context.Context, *DeleteApiSpecRevisionRequest) (*ApiSpec, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApiSpecRevision not implemented")
}
func (*UnimplementedRegistryServer) ListApiDeployments(context.Context, *ListApiDeploymentsRequest) (*ListApiDeploymentsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApiDeployments not implemented")
}
func (*UnimplementedRegistryServer) GetApiDeployment(context.Context, *GetApiDeploymentRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetApiDeployment not implemented")
}
func (*UnimplementedRegistryServer) CreateApiDeployment(context.Context, *CreateApiDeploymentRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateApiDeployment not implemented")
}
func (*UnimplementedRegistryServer) UpdateApiDeployment(context.Context, *UpdateApiDeploymentRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateApiDeployment not implemented")
}
func (*UnimplementedRegistryServer) DeleteApiDeployment(context.Context, *DeleteApiDeploymentRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApiDeployment not implemented")
}
func (*UnimplementedRegistryServer) TagApiDeploymentRevision(context.Context, *TagApiDeploymentRevisionRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method TagApiDeploymentRevision not implemented")
}
func (*UnimplementedRegistryServer) ListApiDeploymentRevisions(context.Context, *ListApiDeploymentRevisionsRequest) (*ListApiDeploymentRevisionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListApiDeploymentRevisions not implemented")
}
func (*UnimplementedRegistryServer) RollbackApiDeployment(context.Context, *RollbackApiDeploymentRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method RollbackApiDeployment not implemented")
}
func (*UnimplementedRegistryServer) DeleteApiDeploymentRevision(context.Context, *DeleteApiDeploymentRevisionRequest) (*ApiDeployment, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteApiDeploymentRevision not implemented")
}
func (*UnimplementedRegistryServer) ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListArtifacts not implemented")
}
func (*UnimplementedRegistryServer) GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetArtifact not implemented")
}
func (*UnimplementedRegistryServer) GetArtifactContents(context.Context, *GetArtifactContentsRequest) (*httpbody.HttpBody, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetArtifactContents not implemented")
}
func (*UnimplementedRegistryServer) CreateArtifact(context.Context, *CreateArtifactRequest) (*Artifact, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateArtifact not implemented")
}
func (*UnimplementedRegistryServer) ReplaceArtifact(context.Context, *ReplaceArtifactRequest) (*Artifact, error) {
return nil, status.Errorf(codes.Unimplemented, "method ReplaceArtifact not implemented")
}
func (*UnimplementedRegistryServer) DeleteArtifact(context.Context, *DeleteArtifactRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteArtifact not implemented")
}
func RegisterRegistryServer(s *grpc.Server, srv RegistryServer) {
s.RegisterService(&_Registry_serviceDesc, srv)
}
func _Registry_ListApis_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApisRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApis(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApis",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApis(ctx, req.(*ListApisRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetApi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetApiRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetApi(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetApi",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetApi(ctx, req.(*GetApiRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_CreateApi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateApiRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).CreateApi(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/CreateApi",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).CreateApi(ctx, req.(*CreateApiRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_UpdateApi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateApiRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).UpdateApi(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/UpdateApi",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).UpdateApi(ctx, req.(*UpdateApiRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApi_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApi(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApi",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApi(ctx, req.(*DeleteApiRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListApiVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApiVersionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApiVersions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApiVersions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApiVersions(ctx, req.(*ListApiVersionsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetApiVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetApiVersionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetApiVersion(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetApiVersion",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetApiVersion(ctx, req.(*GetApiVersionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_CreateApiVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateApiVersionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).CreateApiVersion(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/CreateApiVersion",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).CreateApiVersion(ctx, req.(*CreateApiVersionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_UpdateApiVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateApiVersionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).UpdateApiVersion(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/UpdateApiVersion",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).UpdateApiVersion(ctx, req.(*UpdateApiVersionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApiVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiVersionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApiVersion(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApiVersion",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApiVersion(ctx, req.(*DeleteApiVersionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListApiSpecs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApiSpecsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApiSpecs(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApiSpecs",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApiSpecs(ctx, req.(*ListApiSpecsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetApiSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetApiSpecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetApiSpec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetApiSpec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetApiSpec(ctx, req.(*GetApiSpecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetApiSpecContents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetApiSpecContentsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetApiSpecContents(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetApiSpecContents",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetApiSpecContents(ctx, req.(*GetApiSpecContentsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_CreateApiSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateApiSpecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).CreateApiSpec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/CreateApiSpec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).CreateApiSpec(ctx, req.(*CreateApiSpecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_UpdateApiSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateApiSpecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).UpdateApiSpec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/UpdateApiSpec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).UpdateApiSpec(ctx, req.(*UpdateApiSpecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApiSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiSpecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApiSpec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApiSpec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApiSpec(ctx, req.(*DeleteApiSpecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_TagApiSpecRevision_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TagApiSpecRevisionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).TagApiSpecRevision(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/TagApiSpecRevision",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).TagApiSpecRevision(ctx, req.(*TagApiSpecRevisionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListApiSpecRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApiSpecRevisionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApiSpecRevisions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApiSpecRevisions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApiSpecRevisions(ctx, req.(*ListApiSpecRevisionsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_RollbackApiSpec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RollbackApiSpecRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).RollbackApiSpec(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/RollbackApiSpec",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).RollbackApiSpec(ctx, req.(*RollbackApiSpecRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApiSpecRevision_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiSpecRevisionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApiSpecRevision(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApiSpecRevision",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApiSpecRevision(ctx, req.(*DeleteApiSpecRevisionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListApiDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApiDeploymentsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApiDeployments(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApiDeployments",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApiDeployments(ctx, req.(*ListApiDeploymentsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetApiDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetApiDeploymentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetApiDeployment(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetApiDeployment",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetApiDeployment(ctx, req.(*GetApiDeploymentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_CreateApiDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateApiDeploymentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).CreateApiDeployment(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/CreateApiDeployment",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).CreateApiDeployment(ctx, req.(*CreateApiDeploymentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_UpdateApiDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateApiDeploymentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).UpdateApiDeployment(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/UpdateApiDeployment",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).UpdateApiDeployment(ctx, req.(*UpdateApiDeploymentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApiDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiDeploymentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApiDeployment(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApiDeployment",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApiDeployment(ctx, req.(*DeleteApiDeploymentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_TagApiDeploymentRevision_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TagApiDeploymentRevisionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).TagApiDeploymentRevision(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/TagApiDeploymentRevision",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).TagApiDeploymentRevision(ctx, req.(*TagApiDeploymentRevisionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListApiDeploymentRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListApiDeploymentRevisionsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListApiDeploymentRevisions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListApiDeploymentRevisions",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListApiDeploymentRevisions(ctx, req.(*ListApiDeploymentRevisionsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_RollbackApiDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RollbackApiDeploymentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).RollbackApiDeployment(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/RollbackApiDeployment",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).RollbackApiDeployment(ctx, req.(*RollbackApiDeploymentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteApiDeploymentRevision_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteApiDeploymentRevisionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteApiDeploymentRevision(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteApiDeploymentRevision",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteApiDeploymentRevision(ctx, req.(*DeleteApiDeploymentRevisionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ListArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListArtifactsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ListArtifacts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ListArtifacts",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ListArtifacts(ctx, req.(*ListArtifactsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetArtifactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetArtifact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetArtifact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetArtifact(ctx, req.(*GetArtifactRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_GetArtifactContents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetArtifactContentsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).GetArtifactContents(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/GetArtifactContents",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).GetArtifactContents(ctx, req.(*GetArtifactContentsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_CreateArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateArtifactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).CreateArtifact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/CreateArtifact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).CreateArtifact(ctx, req.(*CreateArtifactRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_ReplaceArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ReplaceArtifactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).ReplaceArtifact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/ReplaceArtifact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).ReplaceArtifact(ctx, req.(*ReplaceArtifactRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Registry_DeleteArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteArtifactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RegistryServer).DeleteArtifact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.cloud.apigeeregistry.v1.Registry/DeleteArtifact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RegistryServer).DeleteArtifact(ctx, req.(*DeleteArtifactRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Registry_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.apigeeregistry.v1.Registry",
HandlerType: (*RegistryServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListApis",
Handler: _Registry_ListApis_Handler,
},
{
MethodName: "GetApi",
Handler: _Registry_GetApi_Handler,
},
{
MethodName: "CreateApi",
Handler: _Registry_CreateApi_Handler,
},
{
MethodName: "UpdateApi",
Handler: _Registry_UpdateApi_Handler,
},
{
MethodName: "DeleteApi",
Handler: _Registry_DeleteApi_Handler,
},
{
MethodName: "ListApiVersions",
Handler: _Registry_ListApiVersions_Handler,
},
{
MethodName: "GetApiVersion",
Handler: _Registry_GetApiVersion_Handler,
},
{
MethodName: "CreateApiVersion",
Handler: _Registry_CreateApiVersion_Handler,
},
{
MethodName: "UpdateApiVersion",
Handler: _Registry_UpdateApiVersion_Handler,
},
{
MethodName: "DeleteApiVersion",
Handler: _Registry_DeleteApiVersion_Handler,
},
{
MethodName: "ListApiSpecs",
Handler: _Registry_ListApiSpecs_Handler,
},
{
MethodName: "GetApiSpec",
Handler: _Registry_GetApiSpec_Handler,
},
{
MethodName: "GetApiSpecContents",
Handler: _Registry_GetApiSpecContents_Handler,
},
{
MethodName: "CreateApiSpec",
Handler: _Registry_CreateApiSpec_Handler,
},
{
MethodName: "UpdateApiSpec",
Handler: _Registry_UpdateApiSpec_Handler,
},
{
MethodName: "DeleteApiSpec",
Handler: _Registry_DeleteApiSpec_Handler,
},
{
MethodName: "TagApiSpecRevision",
Handler: _Registry_TagApiSpecRevision_Handler,
},
{
MethodName: "ListApiSpecRevisions",
Handler: _Registry_ListApiSpecRevisions_Handler,
},
{
MethodName: "RollbackApiSpec",
Handler: _Registry_RollbackApiSpec_Handler,
},
{
MethodName: "DeleteApiSpecRevision",
Handler: _Registry_DeleteApiSpecRevision_Handler,
},
{
MethodName: "ListApiDeployments",
Handler: _Registry_ListApiDeployments_Handler,
},
{
MethodName: "GetApiDeployment",
Handler: _Registry_GetApiDeployment_Handler,
},
{
MethodName: "CreateApiDeployment",
Handler: _Registry_CreateApiDeployment_Handler,
},
{
MethodName: "UpdateApiDeployment",
Handler: _Registry_UpdateApiDeployment_Handler,
},
{
MethodName: "DeleteApiDeployment",
Handler: _Registry_DeleteApiDeployment_Handler,
},
{
MethodName: "TagApiDeploymentRevision",
Handler: _Registry_TagApiDeploymentRevision_Handler,
},
{
MethodName: "ListApiDeploymentRevisions",
Handler: _Registry_ListApiDeploymentRevisions_Handler,
},
{
MethodName: "RollbackApiDeployment",
Handler: _Registry_RollbackApiDeployment_Handler,
},
{
MethodName: "DeleteApiDeploymentRevision",
Handler: _Registry_DeleteApiDeploymentRevision_Handler,
},
{
MethodName: "ListArtifacts",
Handler: _Registry_ListArtifacts_Handler,
},
{
MethodName: "GetArtifact",
Handler: _Registry_GetArtifact_Handler,
},
{
MethodName: "GetArtifactContents",
Handler: _Registry_GetArtifactContents_Handler,
},
{
MethodName: "CreateArtifact",
Handler: _Registry_CreateArtifact_Handler,
},
{
MethodName: "ReplaceArtifact",
Handler: _Registry_ReplaceArtifact_Handler,
},
{
MethodName: "DeleteArtifact",
Handler: _Registry_DeleteArtifact_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/apigeeregistry/v1/registry_service.proto",
}