From bf3fe5be3262c5f91f92d4850c833e56fe11be16 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 10:48:33 -0700 Subject: [PATCH] feat(netapp): Enable creation of Onprem Migration in CreateVolume (#11172) BEGIN_NESTED_COMMIT feat(netapp): Enable creation of Onprem Migration in CreateVolume feat(netapp): Add EstablishPeering API for Onprem Migration feat(netapp): Add Sync API for Replications feat(netapp): Add new Active Directory state for AD Diagnostics support docs(netapp): Docs now do not allow underscore in IDs of various Resources PiperOrigin-RevId: 699033921 Source-Link: https://github.com/googleapis/googleapis/commit/005b0fd625aa1c31b18bdf65e274e6e5c4a86c82 Source-Link: https://github.com/googleapis/googleapis-gen/commit/a47d42cee4a96d84c0f9d8317fc51eaa5dbed4af Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTQ3ZDQyY2VlNGE5NmQ4NGMwZjlkODMxN2ZjNTFlYWE1ZGJlZDRhZiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(aiplatform): add Vertex RAG service proto to v1 PiperOrigin-RevId: 698990917 Source-Link: https://github.com/googleapis/googleapis/commit/6f7652b2e10d09db71f106f8caa9991b387314c5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/b15d3ee8e5da7e040f4c16054abf3f9ab2332f9f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjE1ZDNlZThlNWRhN2UwNDBmNGMxNjA1NGFiZjNmOWFiMjMzMmY5ZiJ9 END_NESTED_COMMIT --- aiplatform/apiv1/aiplatformpb/api_auth.pb.go | 287 +++ aiplatform/apiv1/aiplatformpb/io.pb.go | 1373 ++++++++-- aiplatform/apiv1/aiplatformpb/tool.pb.go | 679 ++++- .../apiv1/aiplatformpb/vertex_rag_data.pb.go | 2106 +++++++++++++++ .../vertex_rag_data_service.pb.go | 2268 +++++++++++++++++ .../aiplatformpb/vertex_rag_service.pb.go | 1823 +++++++++++++ aiplatform/apiv1/auxiliary.go | 377 +++ aiplatform/apiv1/auxiliary_go123.go | 12 + aiplatform/apiv1/gapic_metadata.json | 183 ++ aiplatform/apiv1/vertex_rag_client.go | 587 +++++ .../vertex_rag_client_example_go123_test.go | 79 + .../apiv1/vertex_rag_client_example_test.go | 390 +++ aiplatform/apiv1/vertex_rag_data_client.go | 930 +++++++ ...rtex_rag_data_client_example_go123_test.go | 132 + .../vertex_rag_data_client_example_test.go | 610 +++++ .../VertexRagClient/AugmentPrompt/main.go | 53 + .../VertexRagClient/CancelOperation/main.go | 51 + .../CorroborateContent/main.go | 53 + .../VertexRagClient/DeleteOperation/main.go | 51 + .../VertexRagClient/GetIamPolicy/main.go | 53 + .../apiv1/VertexRagClient/GetLocation/main.go | 53 + .../VertexRagClient/GetOperation/main.go | 53 + .../VertexRagClient/ListLocations/main.go | 66 + .../VertexRagClient/ListOperations/main.go | 66 + .../VertexRagClient/RetrieveContexts/main.go | 53 + .../VertexRagClient/SetIamPolicy/main.go | 53 + .../TestIamPermissions/main.go | 53 + .../VertexRagClient/WaitOperation/main.go | 53 + .../CancelOperation/main.go | 51 + .../CreateRagCorpus/main.go | 58 + .../DeleteOperation/main.go | 51 + .../DeleteRagCorpus/main.go | 56 + .../VertexRagDataClient/DeleteRagFile/main.go | 56 + .../VertexRagDataClient/GetIamPolicy/main.go | 53 + .../VertexRagDataClient/GetLocation/main.go | 53 + .../VertexRagDataClient/GetOperation/main.go | 53 + .../VertexRagDataClient/GetRagCorpus/main.go | 53 + .../VertexRagDataClient/GetRagFile/main.go | 53 + .../ImportRagFiles/main.go | 58 + .../VertexRagDataClient/ListLocations/main.go | 66 + .../ListOperations/main.go | 66 + .../ListRagCorpora/main.go | 66 + .../VertexRagDataClient/ListRagFiles/main.go | 66 + .../VertexRagDataClient/SetIamPolicy/main.go | 53 + .../TestIamPermissions/main.go | 53 + .../UpdateRagCorpus/main.go | 58 + .../VertexRagDataClient/UploadRagFile/main.go | 53 + .../VertexRagDataClient/WaitOperation/main.go | 53 + ...t_metadata.google.cloud.aiplatform.v1.json | 1514 +++++++++++ ..._metadata.google.cloud.datacatalog.v1.json | 2 +- ...data.google.cloud.datacatalog.v1beta1.json | 2 +- ...a.google.cloud.datacatalog.lineage.v1.json | 2 +- ...ippet_metadata.google.cloud.deploy.v1.json | 2 +- .../apiv1/Client/EstablishPeering/main.go | 58 + .../apiv1/Client/SyncReplication/main.go | 58 + ...ippet_metadata.google.cloud.netapp.v1.json | 92 + netapp/apiv1/auxiliary.go | 128 + netapp/apiv1/gapic_metadata.json | 20 + netapp/apiv1/net_app_client.go | 250 ++ netapp/apiv1/net_app_client_example_test.go | 60 + netapp/apiv1/netapppb/active_directory.pb.go | 17 +- netapp/apiv1/netapppb/backup.pb.go | 4 +- netapp/apiv1/netapppb/backup_policy.pb.go | 4 +- netapp/apiv1/netapppb/backup_vault.pb.go | 4 +- .../apiv1/netapppb/cloud_netapp_service.pb.go | 749 +++--- netapp/apiv1/netapppb/kms.pb.go | 6 +- netapp/apiv1/netapppb/replication.pb.go | 1122 +++++--- netapp/apiv1/netapppb/snapshot.pb.go | 6 +- netapp/apiv1/netapppb/storage_pool.pb.go | 6 +- netapp/apiv1/netapppb/volume.pb.go | 1214 +++++---- 70 files changed, 17511 insertions(+), 1485 deletions(-) create mode 100755 aiplatform/apiv1/aiplatformpb/api_auth.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/vertex_rag_data.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/vertex_rag_data_service.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/vertex_rag_service.pb.go create mode 100755 aiplatform/apiv1/vertex_rag_client.go create mode 100644 aiplatform/apiv1/vertex_rag_client_example_go123_test.go create mode 100644 aiplatform/apiv1/vertex_rag_client_example_test.go create mode 100755 aiplatform/apiv1/vertex_rag_data_client.go create mode 100644 aiplatform/apiv1/vertex_rag_data_client_example_go123_test.go create mode 100644 aiplatform/apiv1/vertex_rag_data_client_example_test.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/AugmentPrompt/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CorroborateContent/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/RetrieveContexts/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CreateRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ImportRagFiles/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagCorpora/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagFiles/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UpdateRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UploadRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/netapp/apiv1/Client/EstablishPeering/main.go create mode 100644 internal/generated/snippets/netapp/apiv1/Client/SyncReplication/main.go diff --git a/aiplatform/apiv1/aiplatformpb/api_auth.pb.go b/aiplatform/apiv1/aiplatformpb/api_auth.pb.go new file mode 100755 index 000000000000..791d4defd98f --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/api_auth.pb.go @@ -0,0 +1,287 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v4.25.3 +// source: google/cloud/aiplatform/v1/api_auth.proto + +package aiplatformpb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The generic reusable api auth config. +type ApiAuth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The auth config. + // + // Types that are assignable to AuthConfig: + // + // *ApiAuth_ApiKeyConfig_ + AuthConfig isApiAuth_AuthConfig `protobuf_oneof:"auth_config"` +} + +func (x *ApiAuth) Reset() { + *x = ApiAuth{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiAuth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiAuth) ProtoMessage() {} + +func (x *ApiAuth) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_api_auth_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 ApiAuth.ProtoReflect.Descriptor instead. +func (*ApiAuth) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_api_auth_proto_rawDescGZIP(), []int{0} +} + +func (m *ApiAuth) GetAuthConfig() isApiAuth_AuthConfig { + if m != nil { + return m.AuthConfig + } + return nil +} + +func (x *ApiAuth) GetApiKeyConfig() *ApiAuth_ApiKeyConfig { + if x, ok := x.GetAuthConfig().(*ApiAuth_ApiKeyConfig_); ok { + return x.ApiKeyConfig + } + return nil +} + +type isApiAuth_AuthConfig interface { + isApiAuth_AuthConfig() +} + +type ApiAuth_ApiKeyConfig_ struct { + // The API secret. + ApiKeyConfig *ApiAuth_ApiKeyConfig `protobuf:"bytes,1,opt,name=api_key_config,json=apiKeyConfig,proto3,oneof"` +} + +func (*ApiAuth_ApiKeyConfig_) isApiAuth_AuthConfig() {} + +// The API secret. +type ApiAuth_ApiKeyConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The SecretManager secret version resource name storing API key. + // e.g. projects/{project}/secrets/{secret}/versions/{version} + ApiKeySecretVersion string `protobuf:"bytes,1,opt,name=api_key_secret_version,json=apiKeySecretVersion,proto3" json:"api_key_secret_version,omitempty"` +} + +func (x *ApiAuth_ApiKeyConfig) Reset() { + *x = ApiAuth_ApiKeyConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiAuth_ApiKeyConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiAuth_ApiKeyConfig) ProtoMessage() {} + +func (x *ApiAuth_ApiKeyConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_api_auth_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 ApiAuth_ApiKeyConfig.ProtoReflect.Descriptor instead. +func (*ApiAuth_ApiKeyConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_api_auth_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ApiAuth_ApiKeyConfig) GetApiKeySecretVersion() string { + if x != nil { + return x.ApiKeySecretVersion + } + return "" +} + +var File_google_cloud_aiplatform_v1_api_auth_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_api_auth_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x58, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x77, 0x0a, 0x0c, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x16, 0x61, 0x70, 0x69, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2c, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0xb8, 0x02, 0xea, 0x41, 0x6b, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, + 0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x7d, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x42, 0x0c, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, + 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1_api_auth_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_api_auth_proto_rawDescData = file_google_cloud_aiplatform_v1_api_auth_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_api_auth_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_api_auth_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_api_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_api_auth_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_api_auth_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_aiplatform_v1_api_auth_proto_goTypes = []any{ + (*ApiAuth)(nil), // 0: google.cloud.aiplatform.v1.ApiAuth + (*ApiAuth_ApiKeyConfig)(nil), // 1: google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig +} +var file_google_cloud_aiplatform_v1_api_auth_proto_depIdxs = []int32{ + 1, // 0: google.cloud.aiplatform.v1.ApiAuth.api_key_config:type_name -> google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_api_auth_proto_init() } +func file_google_cloud_aiplatform_v1_api_auth_proto_init() { + if File_google_cloud_aiplatform_v1_api_auth_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*ApiAuth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*ApiAuth_ApiKeyConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes[0].OneofWrappers = []any{ + (*ApiAuth_ApiKeyConfig_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_api_auth_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_api_auth_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_api_auth_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_api_auth_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_api_auth_proto = out.File + file_google_cloud_aiplatform_v1_api_auth_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_api_auth_proto_goTypes = nil + file_google_cloud_aiplatform_v1_api_auth_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/io.pb.go b/aiplatform/apiv1/aiplatformpb/io.pb.go index 88ef635cbbf1..dd739e9e41d8 100755 --- a/aiplatform/apiv1/aiplatformpb/io.pb.go +++ b/aiplatform/apiv1/aiplatformpb/io.pb.go @@ -27,6 +27,7 @@ import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" ) const ( @@ -36,6 +37,59 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// The type of the Google Drive resource. +type GoogleDriveSource_ResourceId_ResourceType int32 + +const ( + // Unspecified resource type. + GoogleDriveSource_ResourceId_RESOURCE_TYPE_UNSPECIFIED GoogleDriveSource_ResourceId_ResourceType = 0 + // File resource type. + GoogleDriveSource_ResourceId_RESOURCE_TYPE_FILE GoogleDriveSource_ResourceId_ResourceType = 1 + // Folder resource type. + GoogleDriveSource_ResourceId_RESOURCE_TYPE_FOLDER GoogleDriveSource_ResourceId_ResourceType = 2 +) + +// Enum value maps for GoogleDriveSource_ResourceId_ResourceType. +var ( + GoogleDriveSource_ResourceId_ResourceType_name = map[int32]string{ + 0: "RESOURCE_TYPE_UNSPECIFIED", + 1: "RESOURCE_TYPE_FILE", + 2: "RESOURCE_TYPE_FOLDER", + } + GoogleDriveSource_ResourceId_ResourceType_value = map[string]int32{ + "RESOURCE_TYPE_UNSPECIFIED": 0, + "RESOURCE_TYPE_FILE": 1, + "RESOURCE_TYPE_FOLDER": 2, + } +) + +func (x GoogleDriveSource_ResourceId_ResourceType) Enum() *GoogleDriveSource_ResourceId_ResourceType { + p := new(GoogleDriveSource_ResourceId_ResourceType) + *p = x + return p +} + +func (x GoogleDriveSource_ResourceId_ResourceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GoogleDriveSource_ResourceId_ResourceType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_io_proto_enumTypes[0].Descriptor() +} + +func (GoogleDriveSource_ResourceId_ResourceType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_io_proto_enumTypes[0] +} + +func (x GoogleDriveSource_ResourceId_ResourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GoogleDriveSource_ResourceId_ResourceType.Descriptor instead. +func (GoogleDriveSource_ResourceId_ResourceType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{9, 0, 0} +} + // The storage details for Avro input content. type AvroSource struct { state protoimpl.MessageState @@ -505,194 +559,1034 @@ func (x *ContainerRegistryDestination) GetOutputUri() string { return "" } -var File_google_cloud_aiplatform_v1_io_proto protoreflect.FileDescriptor +// The Google Drive location for the input content. +type GoogleDriveSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -var file_google_cloud_aiplatform_v1_io_proto_rawDesc = []byte{ - 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, - 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6f, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x49, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x09, 0x43, - 0x73, 0x76, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x24, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x17, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x75, 0x72, 0x69, 0x73, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, - 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x32, 0x0a, 0x0e, - 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, - 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, - 0x22, 0x39, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x6a, 0x0a, 0x0e, 0x43, - 0x73, 0x76, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, - 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x13, 0x54, 0x46, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, - 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x44, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x42, 0xc5, 0x01, 0x0a, - 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, - 0x07, 0x49, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, - 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, - 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + // Required. Google Drive resource IDs. + ResourceIds []*GoogleDriveSource_ResourceId `protobuf:"bytes,1,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"` } -var ( - file_google_cloud_aiplatform_v1_io_proto_rawDescOnce sync.Once - file_google_cloud_aiplatform_v1_io_proto_rawDescData = file_google_cloud_aiplatform_v1_io_proto_rawDesc -) +func (x *GoogleDriveSource) Reset() { + *x = GoogleDriveSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP() []byte { - file_google_cloud_aiplatform_v1_io_proto_rawDescOnce.Do(func() { - file_google_cloud_aiplatform_v1_io_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_io_proto_rawDescData) - }) - return file_google_cloud_aiplatform_v1_io_proto_rawDescData +func (x *GoogleDriveSource) String() string { + return protoimpl.X.MessageStringOf(x) } -var file_google_cloud_aiplatform_v1_io_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_google_cloud_aiplatform_v1_io_proto_goTypes = []any{ - (*AvroSource)(nil), // 0: google.cloud.aiplatform.v1.AvroSource - (*CsvSource)(nil), // 1: google.cloud.aiplatform.v1.CsvSource - (*GcsSource)(nil), // 2: google.cloud.aiplatform.v1.GcsSource - (*GcsDestination)(nil), // 3: google.cloud.aiplatform.v1.GcsDestination - (*BigQuerySource)(nil), // 4: google.cloud.aiplatform.v1.BigQuerySource - (*BigQueryDestination)(nil), // 5: google.cloud.aiplatform.v1.BigQueryDestination - (*CsvDestination)(nil), // 6: google.cloud.aiplatform.v1.CsvDestination - (*TFRecordDestination)(nil), // 7: google.cloud.aiplatform.v1.TFRecordDestination - (*ContainerRegistryDestination)(nil), // 8: google.cloud.aiplatform.v1.ContainerRegistryDestination +func (*GoogleDriveSource) ProtoMessage() {} + +func (x *GoogleDriveSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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) } -var file_google_cloud_aiplatform_v1_io_proto_depIdxs = []int32{ - 2, // 0: google.cloud.aiplatform.v1.AvroSource.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource - 2, // 1: google.cloud.aiplatform.v1.CsvSource.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource - 3, // 2: google.cloud.aiplatform.v1.CsvDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1.GcsDestination - 3, // 3: google.cloud.aiplatform.v1.TFRecordDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1.GcsDestination - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + +// Deprecated: Use GoogleDriveSource.ProtoReflect.Descriptor instead. +func (*GoogleDriveSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{9} } -func init() { file_google_cloud_aiplatform_v1_io_proto_init() } -func file_google_cloud_aiplatform_v1_io_proto_init() { - if File_google_cloud_aiplatform_v1_io_proto != nil { - return +func (x *GoogleDriveSource) GetResourceIds() []*GoogleDriveSource_ResourceId { + if x != nil { + return x.ResourceIds } - if !protoimpl.UnsafeEnabled { - file_google_cloud_aiplatform_v1_io_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*AvroSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*CsvSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*GcsSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return nil +} + +// The input content is encapsulated and uploaded in the request. +type DirectUploadSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DirectUploadSource) Reset() { + *x = DirectUploadSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DirectUploadSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DirectUploadSource) ProtoMessage() {} + +func (x *DirectUploadSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*GcsDestination); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DirectUploadSource.ProtoReflect.Descriptor instead. +func (*DirectUploadSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{10} +} + +// The Slack source for the ImportRagFilesRequest. +type SlackSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Slack channels. + Channels []*SlackSource_SlackChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` +} + +func (x *SlackSource) Reset() { + *x = SlackSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlackSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackSource) ProtoMessage() {} + +func (x *SlackSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*BigQuerySource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlackSource.ProtoReflect.Descriptor instead. +func (*SlackSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{11} +} + +func (x *SlackSource) GetChannels() []*SlackSource_SlackChannels { + if x != nil { + return x.Channels + } + return nil +} + +// The Jira source for the ImportRagFilesRequest. +type JiraSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Jira queries. + JiraQueries []*JiraSource_JiraQueries `protobuf:"bytes,1,rep,name=jira_queries,json=jiraQueries,proto3" json:"jira_queries,omitempty"` +} + +func (x *JiraSource) Reset() { + *x = JiraSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JiraSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JiraSource) ProtoMessage() {} + +func (x *JiraSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*BigQueryDestination); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JiraSource.ProtoReflect.Descriptor instead. +func (*JiraSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{12} +} + +func (x *JiraSource) GetJiraQueries() []*JiraSource_JiraQueries { + if x != nil { + return x.JiraQueries + } + return nil +} + +// The SharePointSources to pass to ImportRagFiles. +type SharePointSources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The SharePoint sources. + SharePointSources []*SharePointSources_SharePointSource `protobuf:"bytes,1,rep,name=share_point_sources,json=sharePointSources,proto3" json:"share_point_sources,omitempty"` +} + +func (x *SharePointSources) Reset() { + *x = SharePointSources{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SharePointSources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SharePointSources) ProtoMessage() {} + +func (x *SharePointSources) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } - file_google_cloud_aiplatform_v1_io_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*CsvDestination); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SharePointSources.ProtoReflect.Descriptor instead. +func (*SharePointSources) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{13} +} + +func (x *SharePointSources) GetSharePointSources() []*SharePointSources_SharePointSource { + if x != nil { + return x.SharePointSources + } + return nil +} + +// The type and ID of the Google Drive resource. +type GoogleDriveSource_ResourceId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The type of the Google Drive resource. + ResourceType GoogleDriveSource_ResourceId_ResourceType `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=google.cloud.aiplatform.v1.GoogleDriveSource_ResourceId_ResourceType" json:"resource_type,omitempty"` + // Required. The ID of the Google Drive resource. + ResourceId string `protobuf:"bytes,2,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` +} + +func (x *GoogleDriveSource_ResourceId) Reset() { + *x = GoogleDriveSource_ResourceId{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleDriveSource_ResourceId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleDriveSource_ResourceId) ProtoMessage() {} + +func (x *GoogleDriveSource_ResourceId) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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 GoogleDriveSource_ResourceId.ProtoReflect.Descriptor instead. +func (*GoogleDriveSource_ResourceId) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *GoogleDriveSource_ResourceId) GetResourceType() GoogleDriveSource_ResourceId_ResourceType { + if x != nil { + return x.ResourceType + } + return GoogleDriveSource_ResourceId_RESOURCE_TYPE_UNSPECIFIED +} + +func (x *GoogleDriveSource_ResourceId) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// SlackChannels contains the Slack channels and corresponding access token. +type SlackSource_SlackChannels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Slack channel IDs. + Channels []*SlackSource_SlackChannels_SlackChannel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + // Required. The SecretManager secret version resource name (e.g. + // projects/{project}/secrets/{secret}/versions/{version}) storing the + // Slack channel access token that has access to the slack channel IDs. + // See: https://api.slack.com/tutorials/tracks/getting-a-token. + ApiKeyConfig *ApiAuth_ApiKeyConfig `protobuf:"bytes,3,opt,name=api_key_config,json=apiKeyConfig,proto3" json:"api_key_config,omitempty"` +} + +func (x *SlackSource_SlackChannels) Reset() { + *x = SlackSource_SlackChannels{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlackSource_SlackChannels) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackSource_SlackChannels) ProtoMessage() {} + +func (x *SlackSource_SlackChannels) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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 SlackSource_SlackChannels.ProtoReflect.Descriptor instead. +func (*SlackSource_SlackChannels) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{11, 0} +} + +func (x *SlackSource_SlackChannels) GetChannels() []*SlackSource_SlackChannels_SlackChannel { + if x != nil { + return x.Channels + } + return nil +} + +func (x *SlackSource_SlackChannels) GetApiKeyConfig() *ApiAuth_ApiKeyConfig { + if x != nil { + return x.ApiKeyConfig + } + return nil +} + +// SlackChannel contains the Slack channel ID and the time range to import. +type SlackSource_SlackChannels_SlackChannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Slack channel ID. + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Optional. The starting timestamp for messages to import. + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Optional. The ending timestamp for messages to import. + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *SlackSource_SlackChannels_SlackChannel) Reset() { + *x = SlackSource_SlackChannels_SlackChannel{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlackSource_SlackChannels_SlackChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlackSource_SlackChannels_SlackChannel) ProtoMessage() {} + +func (x *SlackSource_SlackChannels_SlackChannel) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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 SlackSource_SlackChannels_SlackChannel.ProtoReflect.Descriptor instead. +func (*SlackSource_SlackChannels_SlackChannel) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{11, 0, 0} +} + +func (x *SlackSource_SlackChannels_SlackChannel) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *SlackSource_SlackChannels_SlackChannel) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *SlackSource_SlackChannels_SlackChannel) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +// JiraQueries contains the Jira queries and corresponding authentication. +type JiraSource_JiraQueries struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of Jira projects to import in their entirety. + Projects []string `protobuf:"bytes,3,rep,name=projects,proto3" json:"projects,omitempty"` + // A list of custom Jira queries to import. For information about JQL (Jira + // Query Language), see + // https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/ + CustomQueries []string `protobuf:"bytes,4,rep,name=custom_queries,json=customQueries,proto3" json:"custom_queries,omitempty"` + // Required. The Jira email address. + Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"` + // Required. The Jira server URI. + ServerUri string `protobuf:"bytes,6,opt,name=server_uri,json=serverUri,proto3" json:"server_uri,omitempty"` + // Required. The SecretManager secret version resource name (e.g. + // projects/{project}/secrets/{secret}/versions/{version}) storing the + // Jira API key. See [Manage API tokens for your Atlassian + // account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/). + ApiKeyConfig *ApiAuth_ApiKeyConfig `protobuf:"bytes,7,opt,name=api_key_config,json=apiKeyConfig,proto3" json:"api_key_config,omitempty"` +} + +func (x *JiraSource_JiraQueries) Reset() { + *x = JiraSource_JiraQueries{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JiraSource_JiraQueries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JiraSource_JiraQueries) ProtoMessage() {} + +func (x *JiraSource_JiraQueries) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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 JiraSource_JiraQueries.ProtoReflect.Descriptor instead. +func (*JiraSource_JiraQueries) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *JiraSource_JiraQueries) GetProjects() []string { + if x != nil { + return x.Projects + } + return nil +} + +func (x *JiraSource_JiraQueries) GetCustomQueries() []string { + if x != nil { + return x.CustomQueries + } + return nil +} + +func (x *JiraSource_JiraQueries) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *JiraSource_JiraQueries) GetServerUri() string { + if x != nil { + return x.ServerUri + } + return "" +} + +func (x *JiraSource_JiraQueries) GetApiKeyConfig() *ApiAuth_ApiKeyConfig { + if x != nil { + return x.ApiKeyConfig + } + return nil +} + +// An individual SharePointSource. +type SharePointSources_SharePointSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The SharePoint folder source. If not provided, uses "root". + // + // Types that are assignable to FolderSource: + // + // *SharePointSources_SharePointSource_SharepointFolderPath + // *SharePointSources_SharePointSource_SharepointFolderId + FolderSource isSharePointSources_SharePointSource_FolderSource `protobuf_oneof:"folder_source"` + // The SharePoint drive source. + // + // Types that are assignable to DriveSource: + // + // *SharePointSources_SharePointSource_DriveName + // *SharePointSources_SharePointSource_DriveId + DriveSource isSharePointSources_SharePointSource_DriveSource `protobuf_oneof:"drive_source"` + // The Application ID for the app registered in Microsoft Azure Portal. + // The application must also be configured with MS Graph permissions + // "Files.ReadAll", "Sites.ReadAll" and BrowserSiteLists.Read.All. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The application secret for the app registered in Azure. + ClientSecret *ApiAuth_ApiKeyConfig `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + // Unique identifier of the Azure Active Directory Instance. + TenantId string `protobuf:"bytes,3,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + // The name of the SharePoint site to download from. This can be the site + // name or the site id. + SharepointSiteName string `protobuf:"bytes,4,opt,name=sharepoint_site_name,json=sharepointSiteName,proto3" json:"sharepoint_site_name,omitempty"` + // Output only. The SharePoint file id. Output only. + FileId string `protobuf:"bytes,9,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"` +} + +func (x *SharePointSources_SharePointSource) Reset() { + *x = SharePointSources_SharePointSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_io_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SharePointSources_SharePointSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SharePointSources_SharePointSource) ProtoMessage() {} + +func (x *SharePointSources_SharePointSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_io_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 SharePointSources_SharePointSource.ProtoReflect.Descriptor instead. +func (*SharePointSources_SharePointSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP(), []int{13, 0} +} + +func (m *SharePointSources_SharePointSource) GetFolderSource() isSharePointSources_SharePointSource_FolderSource { + if m != nil { + return m.FolderSource + } + return nil +} + +func (x *SharePointSources_SharePointSource) GetSharepointFolderPath() string { + if x, ok := x.GetFolderSource().(*SharePointSources_SharePointSource_SharepointFolderPath); ok { + return x.SharepointFolderPath + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetSharepointFolderId() string { + if x, ok := x.GetFolderSource().(*SharePointSources_SharePointSource_SharepointFolderId); ok { + return x.SharepointFolderId + } + return "" +} + +func (m *SharePointSources_SharePointSource) GetDriveSource() isSharePointSources_SharePointSource_DriveSource { + if m != nil { + return m.DriveSource + } + return nil +} + +func (x *SharePointSources_SharePointSource) GetDriveName() string { + if x, ok := x.GetDriveSource().(*SharePointSources_SharePointSource_DriveName); ok { + return x.DriveName + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetDriveId() string { + if x, ok := x.GetDriveSource().(*SharePointSources_SharePointSource_DriveId); ok { + return x.DriveId + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetClientSecret() *ApiAuth_ApiKeyConfig { + if x != nil { + return x.ClientSecret + } + return nil +} + +func (x *SharePointSources_SharePointSource) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetSharepointSiteName() string { + if x != nil { + return x.SharepointSiteName + } + return "" +} + +func (x *SharePointSources_SharePointSource) GetFileId() string { + if x != nil { + return x.FileId + } + return "" +} + +type isSharePointSources_SharePointSource_FolderSource interface { + isSharePointSources_SharePointSource_FolderSource() +} + +type SharePointSources_SharePointSource_SharepointFolderPath struct { + // The path of the SharePoint folder to download from. + SharepointFolderPath string `protobuf:"bytes,5,opt,name=sharepoint_folder_path,json=sharepointFolderPath,proto3,oneof"` +} + +type SharePointSources_SharePointSource_SharepointFolderId struct { + // The ID of the SharePoint folder to download from. + SharepointFolderId string `protobuf:"bytes,6,opt,name=sharepoint_folder_id,json=sharepointFolderId,proto3,oneof"` +} + +func (*SharePointSources_SharePointSource_SharepointFolderPath) isSharePointSources_SharePointSource_FolderSource() { +} + +func (*SharePointSources_SharePointSource_SharepointFolderId) isSharePointSources_SharePointSource_FolderSource() { +} + +type isSharePointSources_SharePointSource_DriveSource interface { + isSharePointSources_SharePointSource_DriveSource() +} + +type SharePointSources_SharePointSource_DriveName struct { + // The name of the drive to download from. + DriveName string `protobuf:"bytes,7,opt,name=drive_name,json=driveName,proto3,oneof"` +} + +type SharePointSources_SharePointSource_DriveId struct { + // The ID of the drive to download from. + DriveId string `protobuf:"bytes,8,opt,name=drive_id,json=driveId,proto3,oneof"` +} + +func (*SharePointSources_SharePointSource_DriveName) isSharePointSources_SharePointSource_DriveSource() { +} + +func (*SharePointSources_SharePointSource_DriveId) isSharePointSources_SharePointSource_DriveSource() { +} + +var File_google_cloud_aiplatform_v1_io_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_io_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, + 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, + 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x09, 0x43, 0x73, 0x76, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x24, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x75, 0x72, 0x69, 0x73, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, + 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x32, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x39, 0x0a, 0x13, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x6a, 0x0a, 0x0e, 0x43, 0x73, 0x76, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0f, 0x67, 0x63, 0x73, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x13, 0x54, 0x46, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0f, 0x67, 0x63, + 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0xfc, 0x02, 0x0a, 0x11, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x60, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, + 0x1a, 0x84, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, + 0x6f, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, + 0x14, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, + 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x02, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xea, 0x03, + 0x0a, 0x0b, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x56, 0x0a, + 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, + 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x82, 0x03, 0x0a, 0x0d, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x63, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x5b, 0x0a, 0x0e, + 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xae, 0x01, 0x0a, 0x0c, 0x53, 0x6c, + 0x61, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x3e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x0a, 0x4a, + 0x69, 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x6a, 0x69, 0x72, + 0x61, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x69, 0x72, + 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4a, 0x69, 0x72, 0x61, 0x51, 0x75, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6a, 0x69, 0x72, 0x61, 0x51, 0x75, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xec, 0x01, 0x0a, 0x0b, 0x4a, 0x69, 0x72, 0x61, 0x51, 0x75, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x5b, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, + 0x41, 0x75, 0x74, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc4, 0x04, 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x13, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0xbe, 0x03, 0x0a, 0x10, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x36, 0x0a, 0x16, 0x73, 0x68, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x64, + 0x72, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, + 0x64, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x07, 0x64, 0x72, 0x69, 0x76, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, + 0x74, 0x68, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x07, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x64, + 0x72, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xc5, 0x01, 0x0a, 0x1e, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x07, + 0x49, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1_io_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_io_proto_rawDescData = file_google_cloud_aiplatform_v1_io_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_io_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_io_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_io_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_io_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_io_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_io_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_aiplatform_v1_io_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_google_cloud_aiplatform_v1_io_proto_goTypes = []any{ + (GoogleDriveSource_ResourceId_ResourceType)(0), // 0: google.cloud.aiplatform.v1.GoogleDriveSource.ResourceId.ResourceType + (*AvroSource)(nil), // 1: google.cloud.aiplatform.v1.AvroSource + (*CsvSource)(nil), // 2: google.cloud.aiplatform.v1.CsvSource + (*GcsSource)(nil), // 3: google.cloud.aiplatform.v1.GcsSource + (*GcsDestination)(nil), // 4: google.cloud.aiplatform.v1.GcsDestination + (*BigQuerySource)(nil), // 5: google.cloud.aiplatform.v1.BigQuerySource + (*BigQueryDestination)(nil), // 6: google.cloud.aiplatform.v1.BigQueryDestination + (*CsvDestination)(nil), // 7: google.cloud.aiplatform.v1.CsvDestination + (*TFRecordDestination)(nil), // 8: google.cloud.aiplatform.v1.TFRecordDestination + (*ContainerRegistryDestination)(nil), // 9: google.cloud.aiplatform.v1.ContainerRegistryDestination + (*GoogleDriveSource)(nil), // 10: google.cloud.aiplatform.v1.GoogleDriveSource + (*DirectUploadSource)(nil), // 11: google.cloud.aiplatform.v1.DirectUploadSource + (*SlackSource)(nil), // 12: google.cloud.aiplatform.v1.SlackSource + (*JiraSource)(nil), // 13: google.cloud.aiplatform.v1.JiraSource + (*SharePointSources)(nil), // 14: google.cloud.aiplatform.v1.SharePointSources + (*GoogleDriveSource_ResourceId)(nil), // 15: google.cloud.aiplatform.v1.GoogleDriveSource.ResourceId + (*SlackSource_SlackChannels)(nil), // 16: google.cloud.aiplatform.v1.SlackSource.SlackChannels + (*SlackSource_SlackChannels_SlackChannel)(nil), // 17: google.cloud.aiplatform.v1.SlackSource.SlackChannels.SlackChannel + (*JiraSource_JiraQueries)(nil), // 18: google.cloud.aiplatform.v1.JiraSource.JiraQueries + (*SharePointSources_SharePointSource)(nil), // 19: google.cloud.aiplatform.v1.SharePointSources.SharePointSource + (*ApiAuth_ApiKeyConfig)(nil), // 20: google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig + (*timestamppb.Timestamp)(nil), // 21: google.protobuf.Timestamp +} +var file_google_cloud_aiplatform_v1_io_proto_depIdxs = []int32{ + 3, // 0: google.cloud.aiplatform.v1.AvroSource.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource + 3, // 1: google.cloud.aiplatform.v1.CsvSource.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource + 4, // 2: google.cloud.aiplatform.v1.CsvDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1.GcsDestination + 4, // 3: google.cloud.aiplatform.v1.TFRecordDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1.GcsDestination + 15, // 4: google.cloud.aiplatform.v1.GoogleDriveSource.resource_ids:type_name -> google.cloud.aiplatform.v1.GoogleDriveSource.ResourceId + 16, // 5: google.cloud.aiplatform.v1.SlackSource.channels:type_name -> google.cloud.aiplatform.v1.SlackSource.SlackChannels + 18, // 6: google.cloud.aiplatform.v1.JiraSource.jira_queries:type_name -> google.cloud.aiplatform.v1.JiraSource.JiraQueries + 19, // 7: google.cloud.aiplatform.v1.SharePointSources.share_point_sources:type_name -> google.cloud.aiplatform.v1.SharePointSources.SharePointSource + 0, // 8: google.cloud.aiplatform.v1.GoogleDriveSource.ResourceId.resource_type:type_name -> google.cloud.aiplatform.v1.GoogleDriveSource.ResourceId.ResourceType + 17, // 9: google.cloud.aiplatform.v1.SlackSource.SlackChannels.channels:type_name -> google.cloud.aiplatform.v1.SlackSource.SlackChannels.SlackChannel + 20, // 10: google.cloud.aiplatform.v1.SlackSource.SlackChannels.api_key_config:type_name -> google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig + 21, // 11: google.cloud.aiplatform.v1.SlackSource.SlackChannels.SlackChannel.start_time:type_name -> google.protobuf.Timestamp + 21, // 12: google.cloud.aiplatform.v1.SlackSource.SlackChannels.SlackChannel.end_time:type_name -> google.protobuf.Timestamp + 20, // 13: google.cloud.aiplatform.v1.JiraSource.JiraQueries.api_key_config:type_name -> google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig + 20, // 14: google.cloud.aiplatform.v1.SharePointSources.SharePointSource.client_secret:type_name -> google.cloud.aiplatform.v1.ApiAuth.ApiKeyConfig + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_io_proto_init() } +func file_google_cloud_aiplatform_v1_io_proto_init() { + if File_google_cloud_aiplatform_v1_io_proto != nil { + return + } + file_google_cloud_aiplatform_v1_api_auth_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_io_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*AvroSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*CsvSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*GcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*CsvDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: return &v.unknownFields default: return nil @@ -722,19 +1616,146 @@ func file_google_cloud_aiplatform_v1_io_proto_init() { return nil } } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*GoogleDriveSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*DirectUploadSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*SlackSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*JiraSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*SharePointSources); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*GoogleDriveSource_ResourceId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*SlackSource_SlackChannels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*SlackSource_SlackChannels_SlackChannel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*JiraSource_JiraQueries); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[18].Exporter = func(v any, i int) any { + switch v := v.(*SharePointSources_SharePointSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_io_proto_msgTypes[18].OneofWrappers = []any{ + (*SharePointSources_SharePointSource_SharepointFolderPath)(nil), + (*SharePointSources_SharePointSource_SharepointFolderId)(nil), + (*SharePointSources_SharePointSource_DriveName)(nil), + (*SharePointSources_SharePointSource_DriveId)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1_io_proto_rawDesc, - NumEnums: 0, - NumMessages: 9, + NumEnums: 1, + NumMessages: 19, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_aiplatform_v1_io_proto_goTypes, DependencyIndexes: file_google_cloud_aiplatform_v1_io_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1_io_proto_enumTypes, MessageInfos: file_google_cloud_aiplatform_v1_io_proto_msgTypes, }.Build() File_google_cloud_aiplatform_v1_io_proto = out.File diff --git a/aiplatform/apiv1/aiplatformpb/tool.pb.go b/aiplatform/apiv1/aiplatformpb/tool.pb.go index 6a66d4e92327..14a3179fb28d 100755 --- a/aiplatform/apiv1/aiplatformpb/tool.pb.go +++ b/aiplatform/apiv1/aiplatformpb/tool.pb.go @@ -83,7 +83,7 @@ func (x DynamicRetrievalConfig_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use DynamicRetrievalConfig_Mode.Descriptor instead. func (DynamicRetrievalConfig_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{7, 0} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{8, 0} } // Function calling mode. @@ -145,7 +145,7 @@ func (x FunctionCallingConfig_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use FunctionCallingConfig_Mode.Descriptor instead. func (FunctionCallingConfig_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{9, 0} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{10, 0} } // Tool details that the model may use to generate response. @@ -471,6 +471,7 @@ type Retrieval struct { // Types that are assignable to Source: // // *Retrieval_VertexAiSearch + // *Retrieval_VertexRagStore Source isRetrieval_Source `protobuf_oneof:"source"` // Optional. Deprecated. This option is no longer supported. // @@ -524,6 +525,13 @@ func (x *Retrieval) GetVertexAiSearch() *VertexAISearch { return nil } +func (x *Retrieval) GetVertexRagStore() *VertexRagStore { + if x, ok := x.GetSource().(*Retrieval_VertexRagStore); ok { + return x.VertexRagStore + } + return nil +} + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. func (x *Retrieval) GetDisableAttribution() bool { if x != nil { @@ -541,8 +549,102 @@ type Retrieval_VertexAiSearch struct { VertexAiSearch *VertexAISearch `protobuf:"bytes,2,opt,name=vertex_ai_search,json=vertexAiSearch,proto3,oneof"` } +type Retrieval_VertexRagStore struct { + // Set to use data source powered by Vertex RAG store. + // User data is uploaded via the VertexRagDataService. + VertexRagStore *VertexRagStore `protobuf:"bytes,4,opt,name=vertex_rag_store,json=vertexRagStore,proto3,oneof"` +} + func (*Retrieval_VertexAiSearch) isRetrieval_Source() {} +func (*Retrieval_VertexRagStore) isRetrieval_Source() {} + +// Retrieve from Vertex RAG Store for grounding. +type VertexRagStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The representation of the rag source. It can be used to specify + // corpus only or ragfiles. Currently only support one corpus or multiple + // files from one corpus. In the future we may open up multiple corpora + // support. + RagResources []*VertexRagStore_RagResource `protobuf:"bytes,4,rep,name=rag_resources,json=ragResources,proto3" json:"rag_resources,omitempty"` + // Optional. Number of top k results to return from the selected corpora. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. + SimilarityTopK *int32 `protobuf:"varint,2,opt,name=similarity_top_k,json=similarityTopK,proto3,oneof" json:"similarity_top_k,omitempty"` + // Optional. Only return results with vector distance smaller than the + // threshold. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. + VectorDistanceThreshold *float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof" json:"vector_distance_threshold,omitempty"` + // Optional. The retrieval config for the Rag query. + RagRetrievalConfig *RagRetrievalConfig `protobuf:"bytes,6,opt,name=rag_retrieval_config,json=ragRetrievalConfig,proto3" json:"rag_retrieval_config,omitempty"` +} + +func (x *VertexRagStore) Reset() { + *x = VertexRagStore{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VertexRagStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VertexRagStore) ProtoMessage() {} + +func (x *VertexRagStore) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_tool_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 VertexRagStore.ProtoReflect.Descriptor instead. +func (*VertexRagStore) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{5} +} + +func (x *VertexRagStore) GetRagResources() []*VertexRagStore_RagResource { + if x != nil { + return x.RagResources + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. +func (x *VertexRagStore) GetSimilarityTopK() int32 { + if x != nil && x.SimilarityTopK != nil { + return *x.SimilarityTopK + } + return 0 +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. +func (x *VertexRagStore) GetVectorDistanceThreshold() float64 { + if x != nil && x.VectorDistanceThreshold != nil { + return *x.VectorDistanceThreshold + } + return 0 +} + +func (x *VertexRagStore) GetRagRetrievalConfig() *RagRetrievalConfig { + if x != nil { + return x.RagRetrievalConfig + } + return nil +} + // Retrieve from Vertex AI Search datastore for grounding. // See https://cloud.google.com/products/agent-builder type VertexAISearch struct { @@ -559,7 +661,7 @@ type VertexAISearch struct { func (x *VertexAISearch) Reset() { *x = VertexAISearch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -572,7 +674,7 @@ func (x *VertexAISearch) String() string { func (*VertexAISearch) ProtoMessage() {} func (x *VertexAISearch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -585,7 +687,7 @@ func (x *VertexAISearch) ProtoReflect() protoreflect.Message { // Deprecated: Use VertexAISearch.ProtoReflect.Descriptor instead. func (*VertexAISearch) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{5} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{6} } func (x *VertexAISearch) GetDatastore() string { @@ -608,7 +710,7 @@ type GoogleSearchRetrieval struct { func (x *GoogleSearchRetrieval) Reset() { *x = GoogleSearchRetrieval{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -621,7 +723,7 @@ func (x *GoogleSearchRetrieval) String() string { func (*GoogleSearchRetrieval) ProtoMessage() {} func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -634,7 +736,7 @@ func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { // Deprecated: Use GoogleSearchRetrieval.ProtoReflect.Descriptor instead. func (*GoogleSearchRetrieval) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{6} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{7} } func (x *GoogleSearchRetrieval) GetDynamicRetrievalConfig() *DynamicRetrievalConfig { @@ -660,7 +762,7 @@ type DynamicRetrievalConfig struct { func (x *DynamicRetrievalConfig) Reset() { *x = DynamicRetrievalConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -673,7 +775,7 @@ func (x *DynamicRetrievalConfig) String() string { func (*DynamicRetrievalConfig) ProtoMessage() {} func (x *DynamicRetrievalConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -686,7 +788,7 @@ func (x *DynamicRetrievalConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use DynamicRetrievalConfig.ProtoReflect.Descriptor instead. func (*DynamicRetrievalConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{7} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{8} } func (x *DynamicRetrievalConfig) GetMode() DynamicRetrievalConfig_Mode { @@ -716,7 +818,7 @@ type ToolConfig struct { func (x *ToolConfig) Reset() { *x = ToolConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -729,7 +831,7 @@ func (x *ToolConfig) String() string { func (*ToolConfig) ProtoMessage() {} func (x *ToolConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -742,7 +844,7 @@ func (x *ToolConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolConfig.ProtoReflect.Descriptor instead. func (*ToolConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{8} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{9} } func (x *ToolConfig) GetFunctionCallingConfig() *FunctionCallingConfig { @@ -769,7 +871,7 @@ type FunctionCallingConfig struct { func (x *FunctionCallingConfig) Reset() { *x = FunctionCallingConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -782,7 +884,7 @@ func (x *FunctionCallingConfig) String() string { func (*FunctionCallingConfig) ProtoMessage() {} func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -795,7 +897,7 @@ func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use FunctionCallingConfig.ProtoReflect.Descriptor instead. func (*FunctionCallingConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{9} + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{10} } func (x *FunctionCallingConfig) GetMode() FunctionCallingConfig_Mode { @@ -812,6 +914,225 @@ func (x *FunctionCallingConfig) GetAllowedFunctionNames() []string { return nil } +// Specifies the context retrieval config. +type RagRetrievalConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The number of contexts to retrieve. + TopK int32 `protobuf:"varint,1,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"` + // Optional. Config for filters. + Filter *RagRetrievalConfig_Filter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *RagRetrievalConfig) Reset() { + *x = RagRetrievalConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagRetrievalConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagRetrievalConfig) ProtoMessage() {} + +func (x *RagRetrievalConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_tool_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 RagRetrievalConfig.ProtoReflect.Descriptor instead. +func (*RagRetrievalConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{11} +} + +func (x *RagRetrievalConfig) GetTopK() int32 { + if x != nil { + return x.TopK + } + return 0 +} + +func (x *RagRetrievalConfig) GetFilter() *RagRetrievalConfig_Filter { + if x != nil { + return x.Filter + } + return nil +} + +// The definition of the Rag resource. +type VertexRagStore_RagResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. RagCorpora resource name. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + RagCorpus string `protobuf:"bytes,1,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"` + // Optional. rag_file_id. The files should be in the same rag_corpus set in + // rag_corpus field. + RagFileIds []string `protobuf:"bytes,2,rep,name=rag_file_ids,json=ragFileIds,proto3" json:"rag_file_ids,omitempty"` +} + +func (x *VertexRagStore_RagResource) Reset() { + *x = VertexRagStore_RagResource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VertexRagStore_RagResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VertexRagStore_RagResource) ProtoMessage() {} + +func (x *VertexRagStore_RagResource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_tool_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 VertexRagStore_RagResource.ProtoReflect.Descriptor instead. +func (*VertexRagStore_RagResource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *VertexRagStore_RagResource) GetRagCorpus() string { + if x != nil { + return x.RagCorpus + } + return "" +} + +func (x *VertexRagStore_RagResource) GetRagFileIds() []string { + if x != nil { + return x.RagFileIds + } + return nil +} + +// Config for filters. +type RagRetrievalConfig_Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Filter contexts retrieved from the vector DB based on either vector + // distance or vector similarity. + // + // Types that are assignable to VectorDbThreshold: + // + // *RagRetrievalConfig_Filter_VectorDistanceThreshold + // *RagRetrievalConfig_Filter_VectorSimilarityThreshold + VectorDbThreshold isRagRetrievalConfig_Filter_VectorDbThreshold `protobuf_oneof:"vector_db_threshold"` + // Optional. String for metadata filtering. + MetadataFilter string `protobuf:"bytes,2,opt,name=metadata_filter,json=metadataFilter,proto3" json:"metadata_filter,omitempty"` +} + +func (x *RagRetrievalConfig_Filter) Reset() { + *x = RagRetrievalConfig_Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagRetrievalConfig_Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagRetrievalConfig_Filter) ProtoMessage() {} + +func (x *RagRetrievalConfig_Filter) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_tool_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 RagRetrievalConfig_Filter.ProtoReflect.Descriptor instead. +func (*RagRetrievalConfig_Filter) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{11, 0} +} + +func (m *RagRetrievalConfig_Filter) GetVectorDbThreshold() isRagRetrievalConfig_Filter_VectorDbThreshold { + if m != nil { + return m.VectorDbThreshold + } + return nil +} + +func (x *RagRetrievalConfig_Filter) GetVectorDistanceThreshold() float64 { + if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorDistanceThreshold); ok { + return x.VectorDistanceThreshold + } + return 0 +} + +func (x *RagRetrievalConfig_Filter) GetVectorSimilarityThreshold() float64 { + if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorSimilarityThreshold); ok { + return x.VectorSimilarityThreshold + } + return 0 +} + +func (x *RagRetrievalConfig_Filter) GetMetadataFilter() string { + if x != nil { + return x.MetadataFilter + } + return "" +} + +type isRagRetrievalConfig_Filter_VectorDbThreshold interface { + isRagRetrievalConfig_Filter_VectorDbThreshold() +} + +type RagRetrievalConfig_Filter_VectorDistanceThreshold struct { + // Optional. Only returns contexts with vector distance smaller than the + // threshold. + VectorDistanceThreshold float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof"` +} + +type RagRetrievalConfig_Filter_VectorSimilarityThreshold struct { + // Optional. Only returns contexts with vector similarity larger than the + // threshold. + VectorSimilarityThreshold float64 `protobuf:"fixed64,4,opt,name=vector_similarity_threshold,json=vectorSimilarityThreshold,proto3,oneof"` +} + +func (*RagRetrievalConfig_Filter_VectorDistanceThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() { +} + +func (*RagRetrievalConfig_Filter_VectorSimilarityThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() { +} + var File_google_cloud_aiplatform_v1_tool_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1_tool_proto_rawDesc = []byte{ @@ -872,79 +1193,139 @@ var file_google_cloud_aiplatform_v1_tool_proto_rawDesc = []byte{ 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x01, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x56, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x61, 0x69, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x69, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x12, 0x36, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x33, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, - 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x15, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x61, 0x6c, 0x12, 0x6c, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x12, 0x56, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, + 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x36, 0x0a, 0x13, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, + 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8d, 0x04, + 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x60, 0x0a, 0x0d, 0x72, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x12, 0x34, 0x0a, 0x10, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xe0, 0x41, + 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x54, 0x6f, 0x70, 0x4b, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xe0, 0x41, 0x01, + 0x18, 0x01, 0x48, 0x01, 0x52, 0x17, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x65, 0x0a, 0x14, 0x72, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, + 0x6f, 0x72, 0x70, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x01, + 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, + 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, + 0x70, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, + 0x1c, 0x0a, 0x1a, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x33, 0x0a, + 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x21, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x6c, 0x0a, 0x18, + 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x22, 0xe2, 0x01, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x69, 0x67, 0x52, 0x16, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe2, 0x01, 0x0a, 0x16, 0x44, + 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x12, 0x35, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22, 0x2e, 0x0a, 0x04, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, + 0x7c, 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, + 0x17, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xde, 0x01, + 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, + 0x4e, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 0xdc, + 0x02, 0x0a, 0x12, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, + 0x52, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x11, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x64, 0x79, - 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, - 0x01, 0x22, 0x2e, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, - 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x7c, 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x17, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x4f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x12, 0x39, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x04, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, - 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x42, 0xc7, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, - 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x1a, 0xd7, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, + 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x17, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x12, 0x45, 0x0a, 0x1b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x6d, 0x69, + 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x19, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x64, 0x62, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0xc7, 0x01, + 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, + 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -960,41 +1341,49 @@ func file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP() []byte { } var file_google_cloud_aiplatform_v1_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_google_cloud_aiplatform_v1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_google_cloud_aiplatform_v1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_google_cloud_aiplatform_v1_tool_proto_goTypes = []any{ - (DynamicRetrievalConfig_Mode)(0), // 0: google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode - (FunctionCallingConfig_Mode)(0), // 1: google.cloud.aiplatform.v1.FunctionCallingConfig.Mode - (*Tool)(nil), // 2: google.cloud.aiplatform.v1.Tool - (*FunctionDeclaration)(nil), // 3: google.cloud.aiplatform.v1.FunctionDeclaration - (*FunctionCall)(nil), // 4: google.cloud.aiplatform.v1.FunctionCall - (*FunctionResponse)(nil), // 5: google.cloud.aiplatform.v1.FunctionResponse - (*Retrieval)(nil), // 6: google.cloud.aiplatform.v1.Retrieval - (*VertexAISearch)(nil), // 7: google.cloud.aiplatform.v1.VertexAISearch - (*GoogleSearchRetrieval)(nil), // 8: google.cloud.aiplatform.v1.GoogleSearchRetrieval - (*DynamicRetrievalConfig)(nil), // 9: google.cloud.aiplatform.v1.DynamicRetrievalConfig - (*ToolConfig)(nil), // 10: google.cloud.aiplatform.v1.ToolConfig - (*FunctionCallingConfig)(nil), // 11: google.cloud.aiplatform.v1.FunctionCallingConfig - (*Schema)(nil), // 12: google.cloud.aiplatform.v1.Schema - (*structpb.Struct)(nil), // 13: google.protobuf.Struct + (DynamicRetrievalConfig_Mode)(0), // 0: google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode + (FunctionCallingConfig_Mode)(0), // 1: google.cloud.aiplatform.v1.FunctionCallingConfig.Mode + (*Tool)(nil), // 2: google.cloud.aiplatform.v1.Tool + (*FunctionDeclaration)(nil), // 3: google.cloud.aiplatform.v1.FunctionDeclaration + (*FunctionCall)(nil), // 4: google.cloud.aiplatform.v1.FunctionCall + (*FunctionResponse)(nil), // 5: google.cloud.aiplatform.v1.FunctionResponse + (*Retrieval)(nil), // 6: google.cloud.aiplatform.v1.Retrieval + (*VertexRagStore)(nil), // 7: google.cloud.aiplatform.v1.VertexRagStore + (*VertexAISearch)(nil), // 8: google.cloud.aiplatform.v1.VertexAISearch + (*GoogleSearchRetrieval)(nil), // 9: google.cloud.aiplatform.v1.GoogleSearchRetrieval + (*DynamicRetrievalConfig)(nil), // 10: google.cloud.aiplatform.v1.DynamicRetrievalConfig + (*ToolConfig)(nil), // 11: google.cloud.aiplatform.v1.ToolConfig + (*FunctionCallingConfig)(nil), // 12: google.cloud.aiplatform.v1.FunctionCallingConfig + (*RagRetrievalConfig)(nil), // 13: google.cloud.aiplatform.v1.RagRetrievalConfig + (*VertexRagStore_RagResource)(nil), // 14: google.cloud.aiplatform.v1.VertexRagStore.RagResource + (*RagRetrievalConfig_Filter)(nil), // 15: google.cloud.aiplatform.v1.RagRetrievalConfig.Filter + (*Schema)(nil), // 16: google.cloud.aiplatform.v1.Schema + (*structpb.Struct)(nil), // 17: google.protobuf.Struct } var file_google_cloud_aiplatform_v1_tool_proto_depIdxs = []int32{ 3, // 0: google.cloud.aiplatform.v1.Tool.function_declarations:type_name -> google.cloud.aiplatform.v1.FunctionDeclaration 6, // 1: google.cloud.aiplatform.v1.Tool.retrieval:type_name -> google.cloud.aiplatform.v1.Retrieval - 8, // 2: google.cloud.aiplatform.v1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1.GoogleSearchRetrieval - 12, // 3: google.cloud.aiplatform.v1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1.Schema - 12, // 4: google.cloud.aiplatform.v1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1.Schema - 13, // 5: google.cloud.aiplatform.v1.FunctionCall.args:type_name -> google.protobuf.Struct - 13, // 6: google.cloud.aiplatform.v1.FunctionResponse.response:type_name -> google.protobuf.Struct - 7, // 7: google.cloud.aiplatform.v1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1.VertexAISearch - 9, // 8: google.cloud.aiplatform.v1.GoogleSearchRetrieval.dynamic_retrieval_config:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig - 0, // 9: google.cloud.aiplatform.v1.DynamicRetrievalConfig.mode:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode - 11, // 10: google.cloud.aiplatform.v1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig - 1, // 11: google.cloud.aiplatform.v1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig.Mode - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 9, // 2: google.cloud.aiplatform.v1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1.GoogleSearchRetrieval + 16, // 3: google.cloud.aiplatform.v1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1.Schema + 16, // 4: google.cloud.aiplatform.v1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1.Schema + 17, // 5: google.cloud.aiplatform.v1.FunctionCall.args:type_name -> google.protobuf.Struct + 17, // 6: google.cloud.aiplatform.v1.FunctionResponse.response:type_name -> google.protobuf.Struct + 8, // 7: google.cloud.aiplatform.v1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1.VertexAISearch + 7, // 8: google.cloud.aiplatform.v1.Retrieval.vertex_rag_store:type_name -> google.cloud.aiplatform.v1.VertexRagStore + 14, // 9: google.cloud.aiplatform.v1.VertexRagStore.rag_resources:type_name -> google.cloud.aiplatform.v1.VertexRagStore.RagResource + 13, // 10: google.cloud.aiplatform.v1.VertexRagStore.rag_retrieval_config:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig + 10, // 11: google.cloud.aiplatform.v1.GoogleSearchRetrieval.dynamic_retrieval_config:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig + 0, // 12: google.cloud.aiplatform.v1.DynamicRetrievalConfig.mode:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode + 12, // 13: google.cloud.aiplatform.v1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig + 1, // 14: google.cloud.aiplatform.v1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig.Mode + 15, // 15: google.cloud.aiplatform.v1.RagRetrievalConfig.filter:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig.Filter + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1_tool_proto_init() } @@ -1065,7 +1454,7 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*VertexAISearch); i { + switch v := v.(*VertexRagStore); i { case 0: return &v.state case 1: @@ -1077,7 +1466,7 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*GoogleSearchRetrieval); i { + switch v := v.(*VertexAISearch); i { case 0: return &v.state case 1: @@ -1089,7 +1478,7 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*DynamicRetrievalConfig); i { + switch v := v.(*GoogleSearchRetrieval); i { case 0: return &v.state case 1: @@ -1101,7 +1490,7 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*ToolConfig); i { + switch v := v.(*DynamicRetrievalConfig); i { case 0: return &v.state case 1: @@ -1113,6 +1502,18 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*ToolConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*FunctionCallingConfig); i { case 0: return &v.state @@ -1124,18 +1525,60 @@ func file_google_cloud_aiplatform_v1_tool_proto_init() { return nil } } + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*RagRetrievalConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*VertexRagStore_RagResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*RagRetrievalConfig_Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_aiplatform_v1_tool_proto_msgTypes[4].OneofWrappers = []any{ (*Retrieval_VertexAiSearch)(nil), + (*Retrieval_VertexRagStore)(nil), + } + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13].OneofWrappers = []any{ + (*RagRetrievalConfig_Filter_VectorDistanceThreshold)(nil), + (*RagRetrievalConfig_Filter_VectorSimilarityThreshold)(nil), } - file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1_tool_proto_rawDesc, NumEnums: 2, - NumMessages: 10, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1/aiplatformpb/vertex_rag_data.pb.go b/aiplatform/apiv1/aiplatformpb/vertex_rag_data.pb.go new file mode 100755 index 000000000000..e4caa8453461 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/vertex_rag_data.pb.go @@ -0,0 +1,2106 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v4.25.3 +// source: google/cloud/aiplatform/v1/vertex_rag_data.proto + +package aiplatformpb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RagFile state. +type FileStatus_State int32 + +const ( + // RagFile state is unspecified. + FileStatus_STATE_UNSPECIFIED FileStatus_State = 0 + // RagFile resource has been created and indexed successfully. + FileStatus_ACTIVE FileStatus_State = 1 + // RagFile resource is in a problematic state. + // See `error_message` field for details. + FileStatus_ERROR FileStatus_State = 2 +) + +// Enum value maps for FileStatus_State. +var ( + FileStatus_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "ERROR", + } + FileStatus_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "ERROR": 2, + } +) + +func (x FileStatus_State) Enum() *FileStatus_State { + p := new(FileStatus_State) + *p = x + return p +} + +func (x FileStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FileStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes[0].Descriptor() +} + +func (FileStatus_State) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes[0] +} + +func (x FileStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FileStatus_State.Descriptor instead. +func (FileStatus_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{2, 0} +} + +// RagCorpus life state. +type CorpusStatus_State int32 + +const ( + // This state is not supposed to happen. + CorpusStatus_UNKNOWN CorpusStatus_State = 0 + // RagCorpus resource entry is initialized, but hasn't done validation. + CorpusStatus_INITIALIZED CorpusStatus_State = 1 + // RagCorpus is provisioned successfully and is ready to serve. + CorpusStatus_ACTIVE CorpusStatus_State = 2 + // RagCorpus is in a problematic situation. + // See `error_message` field for details. + CorpusStatus_ERROR CorpusStatus_State = 3 +) + +// Enum value maps for CorpusStatus_State. +var ( + CorpusStatus_State_name = map[int32]string{ + 0: "UNKNOWN", + 1: "INITIALIZED", + 2: "ACTIVE", + 3: "ERROR", + } + CorpusStatus_State_value = map[string]int32{ + "UNKNOWN": 0, + "INITIALIZED": 1, + "ACTIVE": 2, + "ERROR": 3, + } +) + +func (x CorpusStatus_State) Enum() *CorpusStatus_State { + p := new(CorpusStatus_State) + *p = x + return p +} + +func (x CorpusStatus_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CorpusStatus_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes[1].Descriptor() +} + +func (CorpusStatus_State) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes[1] +} + +func (x CorpusStatus_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CorpusStatus_State.Descriptor instead. +func (CorpusStatus_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{3, 0} +} + +// Config for the embedding model to use for RAG. +type RagEmbeddingModelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The model config to use. + // + // Types that are assignable to ModelConfig: + // + // *RagEmbeddingModelConfig_VertexPredictionEndpoint_ + ModelConfig isRagEmbeddingModelConfig_ModelConfig `protobuf_oneof:"model_config"` +} + +func (x *RagEmbeddingModelConfig) Reset() { + *x = RagEmbeddingModelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagEmbeddingModelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagEmbeddingModelConfig) ProtoMessage() {} + +func (x *RagEmbeddingModelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagEmbeddingModelConfig.ProtoReflect.Descriptor instead. +func (*RagEmbeddingModelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{0} +} + +func (m *RagEmbeddingModelConfig) GetModelConfig() isRagEmbeddingModelConfig_ModelConfig { + if m != nil { + return m.ModelConfig + } + return nil +} + +func (x *RagEmbeddingModelConfig) GetVertexPredictionEndpoint() *RagEmbeddingModelConfig_VertexPredictionEndpoint { + if x, ok := x.GetModelConfig().(*RagEmbeddingModelConfig_VertexPredictionEndpoint_); ok { + return x.VertexPredictionEndpoint + } + return nil +} + +type isRagEmbeddingModelConfig_ModelConfig interface { + isRagEmbeddingModelConfig_ModelConfig() +} + +type RagEmbeddingModelConfig_VertexPredictionEndpoint_ struct { + // The Vertex AI Prediction Endpoint that either refers to a publisher model + // or an endpoint that is hosting a 1P fine-tuned text embedding model. + // Endpoints hosting non-1P fine-tuned text embedding models are + // currently not supported. + // This is used for dense vector search. + VertexPredictionEndpoint *RagEmbeddingModelConfig_VertexPredictionEndpoint `protobuf:"bytes,1,opt,name=vertex_prediction_endpoint,json=vertexPredictionEndpoint,proto3,oneof"` +} + +func (*RagEmbeddingModelConfig_VertexPredictionEndpoint_) isRagEmbeddingModelConfig_ModelConfig() {} + +// Config for the Vector DB to use for RAG. +type RagVectorDbConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The config for the Vector DB. + // + // Types that are assignable to VectorDb: + // + // *RagVectorDbConfig_RagManagedDb_ + // *RagVectorDbConfig_Pinecone_ + // *RagVectorDbConfig_VertexVectorSearch_ + VectorDb isRagVectorDbConfig_VectorDb `protobuf_oneof:"vector_db"` + // Authentication config for the chosen Vector DB. + ApiAuth *ApiAuth `protobuf:"bytes,5,opt,name=api_auth,json=apiAuth,proto3" json:"api_auth,omitempty"` + // Optional. Immutable. The embedding model config of the Vector DB. + RagEmbeddingModelConfig *RagEmbeddingModelConfig `protobuf:"bytes,7,opt,name=rag_embedding_model_config,json=ragEmbeddingModelConfig,proto3" json:"rag_embedding_model_config,omitempty"` +} + +func (x *RagVectorDbConfig) Reset() { + *x = RagVectorDbConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagVectorDbConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagVectorDbConfig) ProtoMessage() {} + +func (x *RagVectorDbConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagVectorDbConfig.ProtoReflect.Descriptor instead. +func (*RagVectorDbConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{1} +} + +func (m *RagVectorDbConfig) GetVectorDb() isRagVectorDbConfig_VectorDb { + if m != nil { + return m.VectorDb + } + return nil +} + +func (x *RagVectorDbConfig) GetRagManagedDb() *RagVectorDbConfig_RagManagedDb { + if x, ok := x.GetVectorDb().(*RagVectorDbConfig_RagManagedDb_); ok { + return x.RagManagedDb + } + return nil +} + +func (x *RagVectorDbConfig) GetPinecone() *RagVectorDbConfig_Pinecone { + if x, ok := x.GetVectorDb().(*RagVectorDbConfig_Pinecone_); ok { + return x.Pinecone + } + return nil +} + +func (x *RagVectorDbConfig) GetVertexVectorSearch() *RagVectorDbConfig_VertexVectorSearch { + if x, ok := x.GetVectorDb().(*RagVectorDbConfig_VertexVectorSearch_); ok { + return x.VertexVectorSearch + } + return nil +} + +func (x *RagVectorDbConfig) GetApiAuth() *ApiAuth { + if x != nil { + return x.ApiAuth + } + return nil +} + +func (x *RagVectorDbConfig) GetRagEmbeddingModelConfig() *RagEmbeddingModelConfig { + if x != nil { + return x.RagEmbeddingModelConfig + } + return nil +} + +type isRagVectorDbConfig_VectorDb interface { + isRagVectorDbConfig_VectorDb() +} + +type RagVectorDbConfig_RagManagedDb_ struct { + // The config for the RAG-managed Vector DB. + RagManagedDb *RagVectorDbConfig_RagManagedDb `protobuf:"bytes,1,opt,name=rag_managed_db,json=ragManagedDb,proto3,oneof"` +} + +type RagVectorDbConfig_Pinecone_ struct { + // The config for the Pinecone. + Pinecone *RagVectorDbConfig_Pinecone `protobuf:"bytes,3,opt,name=pinecone,proto3,oneof"` +} + +type RagVectorDbConfig_VertexVectorSearch_ struct { + // The config for the Vertex Vector Search. + VertexVectorSearch *RagVectorDbConfig_VertexVectorSearch `protobuf:"bytes,6,opt,name=vertex_vector_search,json=vertexVectorSearch,proto3,oneof"` +} + +func (*RagVectorDbConfig_RagManagedDb_) isRagVectorDbConfig_VectorDb() {} + +func (*RagVectorDbConfig_Pinecone_) isRagVectorDbConfig_VectorDb() {} + +func (*RagVectorDbConfig_VertexVectorSearch_) isRagVectorDbConfig_VectorDb() {} + +// RagFile status. +type FileStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. RagFile state. + State FileStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.FileStatus_State" json:"state,omitempty"` + // Output only. Only when the `state` field is ERROR. + ErrorStatus string `protobuf:"bytes,2,opt,name=error_status,json=errorStatus,proto3" json:"error_status,omitempty"` +} + +func (x *FileStatus) Reset() { + *x = FileStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileStatus) ProtoMessage() {} + +func (x *FileStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 FileStatus.ProtoReflect.Descriptor instead. +func (*FileStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{2} +} + +func (x *FileStatus) GetState() FileStatus_State { + if x != nil { + return x.State + } + return FileStatus_STATE_UNSPECIFIED +} + +func (x *FileStatus) GetErrorStatus() string { + if x != nil { + return x.ErrorStatus + } + return "" +} + +// RagCorpus status. +type CorpusStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. RagCorpus life state. + State CorpusStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.CorpusStatus_State" json:"state,omitempty"` + // Output only. Only when the `state` field is ERROR. + ErrorStatus string `protobuf:"bytes,2,opt,name=error_status,json=errorStatus,proto3" json:"error_status,omitempty"` +} + +func (x *CorpusStatus) Reset() { + *x = CorpusStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CorpusStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CorpusStatus) ProtoMessage() {} + +func (x *CorpusStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 CorpusStatus.ProtoReflect.Descriptor instead. +func (*CorpusStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{3} +} + +func (x *CorpusStatus) GetState() CorpusStatus_State { + if x != nil { + return x.State + } + return CorpusStatus_UNKNOWN +} + +func (x *CorpusStatus) GetErrorStatus() string { + if x != nil { + return x.ErrorStatus + } + return "" +} + +// A RagCorpus is a RagFile container and a project can have multiple +// RagCorpora. +type RagCorpus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the RagCorpus. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the RagCorpus. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The description of the RagCorpus. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when this RagCorpus was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this RagCorpus was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. RagCorpus state. + CorpusStatus *CorpusStatus `protobuf:"bytes,8,opt,name=corpus_status,json=corpusStatus,proto3" json:"corpus_status,omitempty"` + // The backend config of the RagCorpus. + // It can be data store and/or retrieval engine. + // + // Types that are assignable to BackendConfig: + // + // *RagCorpus_VectorDbConfig + BackendConfig isRagCorpus_BackendConfig `protobuf_oneof:"backend_config"` +} + +func (x *RagCorpus) Reset() { + *x = RagCorpus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagCorpus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagCorpus) ProtoMessage() {} + +func (x *RagCorpus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagCorpus.ProtoReflect.Descriptor instead. +func (*RagCorpus) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{4} +} + +func (x *RagCorpus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RagCorpus) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *RagCorpus) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *RagCorpus) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *RagCorpus) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *RagCorpus) GetCorpusStatus() *CorpusStatus { + if x != nil { + return x.CorpusStatus + } + return nil +} + +func (m *RagCorpus) GetBackendConfig() isRagCorpus_BackendConfig { + if m != nil { + return m.BackendConfig + } + return nil +} + +func (x *RagCorpus) GetVectorDbConfig() *RagVectorDbConfig { + if x, ok := x.GetBackendConfig().(*RagCorpus_VectorDbConfig); ok { + return x.VectorDbConfig + } + return nil +} + +type isRagCorpus_BackendConfig interface { + isRagCorpus_BackendConfig() +} + +type RagCorpus_VectorDbConfig struct { + // Optional. Immutable. The config for the Vector DBs. + VectorDbConfig *RagVectorDbConfig `protobuf:"bytes,9,opt,name=vector_db_config,json=vectorDbConfig,proto3,oneof"` +} + +func (*RagCorpus_VectorDbConfig) isRagCorpus_BackendConfig() {} + +// A RagFile contains user data for chunking, embedding and indexing. +type RagFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The origin location of the RagFile if it is imported from Google Cloud + // Storage or Google Drive. + // + // Types that are assignable to RagFileSource: + // + // *RagFile_GcsSource + // *RagFile_GoogleDriveSource + // *RagFile_DirectUploadSource + // *RagFile_SlackSource + // *RagFile_JiraSource + // *RagFile_SharePointSources + RagFileSource isRagFile_RagFileSource `protobuf_oneof:"rag_file_source"` + // Output only. The resource name of the RagFile. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the RagFile. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The description of the RagFile. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when this RagFile was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this RagFile was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. State of the RagFile. + FileStatus *FileStatus `protobuf:"bytes,13,opt,name=file_status,json=fileStatus,proto3" json:"file_status,omitempty"` +} + +func (x *RagFile) Reset() { + *x = RagFile{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagFile) ProtoMessage() {} + +func (x *RagFile) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagFile.ProtoReflect.Descriptor instead. +func (*RagFile) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{5} +} + +func (m *RagFile) GetRagFileSource() isRagFile_RagFileSource { + if m != nil { + return m.RagFileSource + } + return nil +} + +func (x *RagFile) GetGcsSource() *GcsSource { + if x, ok := x.GetRagFileSource().(*RagFile_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *RagFile) GetGoogleDriveSource() *GoogleDriveSource { + if x, ok := x.GetRagFileSource().(*RagFile_GoogleDriveSource); ok { + return x.GoogleDriveSource + } + return nil +} + +func (x *RagFile) GetDirectUploadSource() *DirectUploadSource { + if x, ok := x.GetRagFileSource().(*RagFile_DirectUploadSource); ok { + return x.DirectUploadSource + } + return nil +} + +func (x *RagFile) GetSlackSource() *SlackSource { + if x, ok := x.GetRagFileSource().(*RagFile_SlackSource); ok { + return x.SlackSource + } + return nil +} + +func (x *RagFile) GetJiraSource() *JiraSource { + if x, ok := x.GetRagFileSource().(*RagFile_JiraSource); ok { + return x.JiraSource + } + return nil +} + +func (x *RagFile) GetSharePointSources() *SharePointSources { + if x, ok := x.GetRagFileSource().(*RagFile_SharePointSources); ok { + return x.SharePointSources + } + return nil +} + +func (x *RagFile) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RagFile) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *RagFile) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *RagFile) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *RagFile) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *RagFile) GetFileStatus() *FileStatus { + if x != nil { + return x.FileStatus + } + return nil +} + +type isRagFile_RagFileSource interface { + isRagFile_RagFileSource() +} + +type RagFile_GcsSource struct { + // Output only. Google Cloud Storage location of the RagFile. + // It does not support wildcards in the Cloud Storage uri for now. + GcsSource *GcsSource `protobuf:"bytes,8,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type RagFile_GoogleDriveSource struct { + // Output only. Google Drive location. Supports importing individual files + // as well as Google Drive folders. + GoogleDriveSource *GoogleDriveSource `protobuf:"bytes,9,opt,name=google_drive_source,json=googleDriveSource,proto3,oneof"` +} + +type RagFile_DirectUploadSource struct { + // Output only. The RagFile is encapsulated and uploaded in the + // UploadRagFile request. + DirectUploadSource *DirectUploadSource `protobuf:"bytes,10,opt,name=direct_upload_source,json=directUploadSource,proto3,oneof"` +} + +type RagFile_SlackSource struct { + // The RagFile is imported from a Slack channel. + SlackSource *SlackSource `protobuf:"bytes,11,opt,name=slack_source,json=slackSource,proto3,oneof"` +} + +type RagFile_JiraSource struct { + // The RagFile is imported from a Jira query. + JiraSource *JiraSource `protobuf:"bytes,12,opt,name=jira_source,json=jiraSource,proto3,oneof"` +} + +type RagFile_SharePointSources struct { + // The RagFile is imported from a SharePoint source. + SharePointSources *SharePointSources `protobuf:"bytes,14,opt,name=share_point_sources,json=sharePointSources,proto3,oneof"` +} + +func (*RagFile_GcsSource) isRagFile_RagFileSource() {} + +func (*RagFile_GoogleDriveSource) isRagFile_RagFileSource() {} + +func (*RagFile_DirectUploadSource) isRagFile_RagFileSource() {} + +func (*RagFile_SlackSource) isRagFile_RagFileSource() {} + +func (*RagFile_JiraSource) isRagFile_RagFileSource() {} + +func (*RagFile_SharePointSources) isRagFile_RagFileSource() {} + +// Specifies the size and overlap of chunks for RagFiles. +type RagFileChunkingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies the chunking config for RagFiles. + // + // Types that are assignable to ChunkingConfig: + // + // *RagFileChunkingConfig_FixedLengthChunking_ + ChunkingConfig isRagFileChunkingConfig_ChunkingConfig `protobuf_oneof:"chunking_config"` +} + +func (x *RagFileChunkingConfig) Reset() { + *x = RagFileChunkingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagFileChunkingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagFileChunkingConfig) ProtoMessage() {} + +func (x *RagFileChunkingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagFileChunkingConfig.ProtoReflect.Descriptor instead. +func (*RagFileChunkingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{6} +} + +func (m *RagFileChunkingConfig) GetChunkingConfig() isRagFileChunkingConfig_ChunkingConfig { + if m != nil { + return m.ChunkingConfig + } + return nil +} + +func (x *RagFileChunkingConfig) GetFixedLengthChunking() *RagFileChunkingConfig_FixedLengthChunking { + if x, ok := x.GetChunkingConfig().(*RagFileChunkingConfig_FixedLengthChunking_); ok { + return x.FixedLengthChunking + } + return nil +} + +type isRagFileChunkingConfig_ChunkingConfig interface { + isRagFileChunkingConfig_ChunkingConfig() +} + +type RagFileChunkingConfig_FixedLengthChunking_ struct { + // Specifies the fixed length chunking config. + FixedLengthChunking *RagFileChunkingConfig_FixedLengthChunking `protobuf:"bytes,3,opt,name=fixed_length_chunking,json=fixedLengthChunking,proto3,oneof"` +} + +func (*RagFileChunkingConfig_FixedLengthChunking_) isRagFileChunkingConfig_ChunkingConfig() {} + +// Specifies the transformation config for RagFiles. +type RagFileTransformationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies the chunking config for RagFiles. + RagFileChunkingConfig *RagFileChunkingConfig `protobuf:"bytes,1,opt,name=rag_file_chunking_config,json=ragFileChunkingConfig,proto3" json:"rag_file_chunking_config,omitempty"` +} + +func (x *RagFileTransformationConfig) Reset() { + *x = RagFileTransformationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagFileTransformationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagFileTransformationConfig) ProtoMessage() {} + +func (x *RagFileTransformationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagFileTransformationConfig.ProtoReflect.Descriptor instead. +func (*RagFileTransformationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{7} +} + +func (x *RagFileTransformationConfig) GetRagFileChunkingConfig() *RagFileChunkingConfig { + if x != nil { + return x.RagFileChunkingConfig + } + return nil +} + +// Config for uploading RagFile. +type UploadRagFileConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies the transformation config for RagFiles. + RagFileTransformationConfig *RagFileTransformationConfig `protobuf:"bytes,3,opt,name=rag_file_transformation_config,json=ragFileTransformationConfig,proto3" json:"rag_file_transformation_config,omitempty"` +} + +func (x *UploadRagFileConfig) Reset() { + *x = UploadRagFileConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadRagFileConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadRagFileConfig) ProtoMessage() {} + +func (x *UploadRagFileConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 UploadRagFileConfig.ProtoReflect.Descriptor instead. +func (*UploadRagFileConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{8} +} + +func (x *UploadRagFileConfig) GetRagFileTransformationConfig() *RagFileTransformationConfig { + if x != nil { + return x.RagFileTransformationConfig + } + return nil +} + +// Config for importing RagFiles. +type ImportRagFilesConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the import. + // + // Types that are assignable to ImportSource: + // + // *ImportRagFilesConfig_GcsSource + // *ImportRagFilesConfig_GoogleDriveSource + // *ImportRagFilesConfig_SlackSource + // *ImportRagFilesConfig_JiraSource + // *ImportRagFilesConfig_SharePointSources + ImportSource isImportRagFilesConfig_ImportSource `protobuf_oneof:"import_source"` + // Optional. If provided, all partial failures are written to the sink. + // Deprecated. Prefer to use the `import_result_sink`. + // + // Types that are assignable to PartialFailureSink: + // + // *ImportRagFilesConfig_PartialFailureGcsSink + // *ImportRagFilesConfig_PartialFailureBigquerySink + PartialFailureSink isImportRagFilesConfig_PartialFailureSink `protobuf_oneof:"partial_failure_sink"` + // Specifies the transformation config for RagFiles. + RagFileTransformationConfig *RagFileTransformationConfig `protobuf:"bytes,16,opt,name=rag_file_transformation_config,json=ragFileTransformationConfig,proto3" json:"rag_file_transformation_config,omitempty"` + // Optional. The max number of queries per minute that this job is allowed to + // make to the embedding model specified on the corpus. This value is specific + // to this job and not shared across other import jobs. Consult the Quotas + // page on the project to set an appropriate value here. + // If unspecified, a default value of 1,000 QPM would be used. + MaxEmbeddingRequestsPerMin int32 `protobuf:"varint,5,opt,name=max_embedding_requests_per_min,json=maxEmbeddingRequestsPerMin,proto3" json:"max_embedding_requests_per_min,omitempty"` +} + +func (x *ImportRagFilesConfig) Reset() { + *x = ImportRagFilesConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportRagFilesConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportRagFilesConfig) ProtoMessage() {} + +func (x *ImportRagFilesConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ImportRagFilesConfig.ProtoReflect.Descriptor instead. +func (*ImportRagFilesConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{9} +} + +func (m *ImportRagFilesConfig) GetImportSource() isImportRagFilesConfig_ImportSource { + if m != nil { + return m.ImportSource + } + return nil +} + +func (x *ImportRagFilesConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetImportSource().(*ImportRagFilesConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ImportRagFilesConfig) GetGoogleDriveSource() *GoogleDriveSource { + if x, ok := x.GetImportSource().(*ImportRagFilesConfig_GoogleDriveSource); ok { + return x.GoogleDriveSource + } + return nil +} + +func (x *ImportRagFilesConfig) GetSlackSource() *SlackSource { + if x, ok := x.GetImportSource().(*ImportRagFilesConfig_SlackSource); ok { + return x.SlackSource + } + return nil +} + +func (x *ImportRagFilesConfig) GetJiraSource() *JiraSource { + if x, ok := x.GetImportSource().(*ImportRagFilesConfig_JiraSource); ok { + return x.JiraSource + } + return nil +} + +func (x *ImportRagFilesConfig) GetSharePointSources() *SharePointSources { + if x, ok := x.GetImportSource().(*ImportRagFilesConfig_SharePointSources); ok { + return x.SharePointSources + } + return nil +} + +func (m *ImportRagFilesConfig) GetPartialFailureSink() isImportRagFilesConfig_PartialFailureSink { + if m != nil { + return m.PartialFailureSink + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_data.proto. +func (x *ImportRagFilesConfig) GetPartialFailureGcsSink() *GcsDestination { + if x, ok := x.GetPartialFailureSink().(*ImportRagFilesConfig_PartialFailureGcsSink); ok { + return x.PartialFailureGcsSink + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_data.proto. +func (x *ImportRagFilesConfig) GetPartialFailureBigquerySink() *BigQueryDestination { + if x, ok := x.GetPartialFailureSink().(*ImportRagFilesConfig_PartialFailureBigquerySink); ok { + return x.PartialFailureBigquerySink + } + return nil +} + +func (x *ImportRagFilesConfig) GetRagFileTransformationConfig() *RagFileTransformationConfig { + if x != nil { + return x.RagFileTransformationConfig + } + return nil +} + +func (x *ImportRagFilesConfig) GetMaxEmbeddingRequestsPerMin() int32 { + if x != nil { + return x.MaxEmbeddingRequestsPerMin + } + return 0 +} + +type isImportRagFilesConfig_ImportSource interface { + isImportRagFilesConfig_ImportSource() +} + +type ImportRagFilesConfig_GcsSource struct { + // Google Cloud Storage location. Supports importing individual files as + // well as entire Google Cloud Storage directories. Sample formats: + // - `gs://bucket_name/my_directory/object_name/my_file.txt` + // - `gs://bucket_name/my_directory` + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type ImportRagFilesConfig_GoogleDriveSource struct { + // Google Drive location. Supports importing individual files as + // well as Google Drive folders. + GoogleDriveSource *GoogleDriveSource `protobuf:"bytes,3,opt,name=google_drive_source,json=googleDriveSource,proto3,oneof"` +} + +type ImportRagFilesConfig_SlackSource struct { + // Slack channels with their corresponding access tokens. + SlackSource *SlackSource `protobuf:"bytes,6,opt,name=slack_source,json=slackSource,proto3,oneof"` +} + +type ImportRagFilesConfig_JiraSource struct { + // Jira queries with their corresponding authentication. + JiraSource *JiraSource `protobuf:"bytes,7,opt,name=jira_source,json=jiraSource,proto3,oneof"` +} + +type ImportRagFilesConfig_SharePointSources struct { + // SharePoint sources. + SharePointSources *SharePointSources `protobuf:"bytes,13,opt,name=share_point_sources,json=sharePointSources,proto3,oneof"` +} + +func (*ImportRagFilesConfig_GcsSource) isImportRagFilesConfig_ImportSource() {} + +func (*ImportRagFilesConfig_GoogleDriveSource) isImportRagFilesConfig_ImportSource() {} + +func (*ImportRagFilesConfig_SlackSource) isImportRagFilesConfig_ImportSource() {} + +func (*ImportRagFilesConfig_JiraSource) isImportRagFilesConfig_ImportSource() {} + +func (*ImportRagFilesConfig_SharePointSources) isImportRagFilesConfig_ImportSource() {} + +type isImportRagFilesConfig_PartialFailureSink interface { + isImportRagFilesConfig_PartialFailureSink() +} + +type ImportRagFilesConfig_PartialFailureGcsSink struct { + // The Cloud Storage path to write partial failures to. + // Deprecated. Prefer to use `import_result_gcs_sink`. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_data.proto. + PartialFailureGcsSink *GcsDestination `protobuf:"bytes,11,opt,name=partial_failure_gcs_sink,json=partialFailureGcsSink,proto3,oneof"` +} + +type ImportRagFilesConfig_PartialFailureBigquerySink struct { + // The BigQuery destination to write partial failures to. It should be a + // bigquery table resource name (e.g. + // "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the + // table does not exist, it will be created with the expected schema. If the + // table exists, the schema will be validated and data will be added to this + // existing table. + // Deprecated. Prefer to use `import_result_bq_sink`. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_data.proto. + PartialFailureBigquerySink *BigQueryDestination `protobuf:"bytes,12,opt,name=partial_failure_bigquery_sink,json=partialFailureBigquerySink,proto3,oneof"` +} + +func (*ImportRagFilesConfig_PartialFailureGcsSink) isImportRagFilesConfig_PartialFailureSink() {} + +func (*ImportRagFilesConfig_PartialFailureBigquerySink) isImportRagFilesConfig_PartialFailureSink() {} + +// Config representing a model hosted on Vertex Prediction Endpoint. +type RagEmbeddingModelConfig_VertexPredictionEndpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The endpoint resource name. + // Format: + // `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` + // or + // `projects/{project}/locations/{location}/endpoints/{endpoint}` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Output only. The resource name of the model that is deployed on the + // endpoint. Present only when the endpoint is not a publisher model. + // Pattern: + // `projects/{project}/locations/{location}/models/{model}` + Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` + // Output only. Version ID of the model that is deployed on the endpoint. + // Present only when the endpoint is not a publisher model. + ModelVersionId string `protobuf:"bytes,3,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"` +} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) Reset() { + *x = RagEmbeddingModelConfig_VertexPredictionEndpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagEmbeddingModelConfig_VertexPredictionEndpoint) ProtoMessage() {} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagEmbeddingModelConfig_VertexPredictionEndpoint.ProtoReflect.Descriptor instead. +func (*RagEmbeddingModelConfig_VertexPredictionEndpoint) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *RagEmbeddingModelConfig_VertexPredictionEndpoint) GetModelVersionId() string { + if x != nil { + return x.ModelVersionId + } + return "" +} + +// The config for the default RAG-managed Vector DB. +type RagVectorDbConfig_RagManagedDb struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RagVectorDbConfig_RagManagedDb) Reset() { + *x = RagVectorDbConfig_RagManagedDb{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagVectorDbConfig_RagManagedDb) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagVectorDbConfig_RagManagedDb) ProtoMessage() {} + +func (x *RagVectorDbConfig_RagManagedDb) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagVectorDbConfig_RagManagedDb.ProtoReflect.Descriptor instead. +func (*RagVectorDbConfig_RagManagedDb) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{1, 0} +} + +// The config for the Pinecone. +type RagVectorDbConfig_Pinecone struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pinecone index name. + // This value cannot be changed after it's set. + IndexName string `protobuf:"bytes,1,opt,name=index_name,json=indexName,proto3" json:"index_name,omitempty"` +} + +func (x *RagVectorDbConfig_Pinecone) Reset() { + *x = RagVectorDbConfig_Pinecone{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagVectorDbConfig_Pinecone) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagVectorDbConfig_Pinecone) ProtoMessage() {} + +func (x *RagVectorDbConfig_Pinecone) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagVectorDbConfig_Pinecone.ProtoReflect.Descriptor instead. +func (*RagVectorDbConfig_Pinecone) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *RagVectorDbConfig_Pinecone) GetIndexName() string { + if x != nil { + return x.IndexName + } + return "" +} + +// The config for the Vertex Vector Search. +type RagVectorDbConfig_VertexVectorSearch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resource name of the Index Endpoint. + // Format: + // `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` + IndexEndpoint string `protobuf:"bytes,1,opt,name=index_endpoint,json=indexEndpoint,proto3" json:"index_endpoint,omitempty"` + // The resource name of the Index. + // Format: + // `projects/{project}/locations/{location}/indexes/{index}` + Index string `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` +} + +func (x *RagVectorDbConfig_VertexVectorSearch) Reset() { + *x = RagVectorDbConfig_VertexVectorSearch{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagVectorDbConfig_VertexVectorSearch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagVectorDbConfig_VertexVectorSearch) ProtoMessage() {} + +func (x *RagVectorDbConfig_VertexVectorSearch) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagVectorDbConfig_VertexVectorSearch.ProtoReflect.Descriptor instead. +func (*RagVectorDbConfig_VertexVectorSearch) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *RagVectorDbConfig_VertexVectorSearch) GetIndexEndpoint() string { + if x != nil { + return x.IndexEndpoint + } + return "" +} + +func (x *RagVectorDbConfig_VertexVectorSearch) GetIndex() string { + if x != nil { + return x.Index + } + return "" +} + +// Specifies the fixed length chunking config. +type RagFileChunkingConfig_FixedLengthChunking struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The size of the chunks. + ChunkSize int32 `protobuf:"varint,1,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` + // The overlap between chunks. + ChunkOverlap int32 `protobuf:"varint,2,opt,name=chunk_overlap,json=chunkOverlap,proto3" json:"chunk_overlap,omitempty"` +} + +func (x *RagFileChunkingConfig_FixedLengthChunking) Reset() { + *x = RagFileChunkingConfig_FixedLengthChunking{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagFileChunkingConfig_FixedLengthChunking) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagFileChunkingConfig_FixedLengthChunking) ProtoMessage() {} + +func (x *RagFileChunkingConfig_FixedLengthChunking) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 RagFileChunkingConfig_FixedLengthChunking.ProtoReflect.Descriptor instead. +func (*RagFileChunkingConfig_FixedLengthChunking) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *RagFileChunkingConfig_FixedLengthChunking) GetChunkSize() int32 { + if x != nil { + return x.ChunkSize + } + return 0 +} + +func (x *RagFileChunkingConfig_FixedLengthChunking) GetChunkOverlap() int32 { + if x != nil { + return x.ChunkOverlap + } + return 0 +} + +var File_google_cloud_aiplatform_v1_vertex_rag_data_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x2f, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x03, 0x0a, 0x17, + 0x52, 0x61, 0x67, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8c, 0x01, 0x0a, 0x1a, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x45, 0x6d, 0x62, + 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x18, 0x76, 0x65, + 0x72, 0x74, 0x65, 0x78, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0xd0, 0x01, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x03, 0xfa, + 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x98, 0x05, 0x0a, 0x11, 0x52, 0x61, + 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x62, 0x0a, 0x0e, 0x72, 0x61, 0x67, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x64, + 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x44, 0x62, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x61, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x44, 0x62, 0x12, 0x54, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x48, 0x00, 0x52, + 0x08, 0x70, 0x69, 0x6e, 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x12, 0x74, 0x0a, 0x14, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x56, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x12, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x3e, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x52, 0x07, 0x61, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x78, 0x0a, 0x1a, 0x72, 0x61, 0x67, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x61, 0x67, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, + 0x52, 0x17, 0x72, 0x61, 0x67, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x0e, 0x0a, 0x0c, 0x52, 0x61, 0x67, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x44, 0x62, 0x1a, 0x29, 0x0a, 0x08, 0x50, 0x69, 0x6e, + 0x65, 0x63, 0x6f, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x51, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x56, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x76, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x5f, 0x64, 0x62, 0x22, 0xb4, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, + 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, + 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x22, 0xbf, 0x01, 0x0a, 0x0c, + 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x3c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, + 0x49, 0x5a, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xc3, 0x04, + 0x0a, 0x09, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x63, 0x6f, 0x72, 0x70, 0x75, + 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x72, 0x70, + 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, + 0x6f, 0x72, 0x70, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x61, 0x0a, 0x10, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x0e, + 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x80, + 0x01, 0xea, 0x41, 0x7d, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, 0x7b, 0x72, + 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x7d, 0x2a, 0x0a, 0x72, 0x61, 0x67, 0x43, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x32, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, + 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0xfe, 0x07, 0x0a, 0x07, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x4b, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x13, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, + 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, + 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x67, 0x0a, 0x14, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x12, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x73, + 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x6c, + 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x6a, 0x69, 0x72, + 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x69, 0x72, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x69, 0x72, 0x61, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, + 0x8f, 0x01, 0xea, 0x41, 0x8b, 0x01, 0x0a, 0x21, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, 0x7b, 0x72, + 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x7d, 0x2a, 0x08, + 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x32, 0x07, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x15, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, + 0x0a, 0x15, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x43, 0x68, 0x75, 0x6e, + 0x6b, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x13, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x1a, 0x59, 0x0a, 0x13, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, + 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x6c, + 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, + 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x42, 0x11, 0x0a, 0x0f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x52, 0x61, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x18, 0x72, 0x61, 0x67, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, + 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x93, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7c, 0x0a, + 0x1e, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, + 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8e, 0x07, 0x0a, 0x14, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x13, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, + 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x11, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, 0x0a, + 0x0c, 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x6a, + 0x69, 0x72, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x69, + 0x72, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x6a, 0x69, 0x72, 0x61, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x18, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, 0x52, 0x15, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x47, 0x63, 0x73, 0x53, 0x69, + 0x6e, 0x6b, 0x12, 0x78, 0x0a, 0x1d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, + 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x48, 0x01, + 0x52, 0x1a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x42, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x7c, 0x0a, 0x1e, + 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1b, 0x72, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1e, 0x6d, 0x61, + 0x78, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x6d, 0x61, 0x78, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, + 0x4d, 0x69, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x42, 0xd0, 0x01, 0x0a, + 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, + 0x12, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, + 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescData = file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_aiplatform_v1_vertex_rag_data_proto_goTypes = []any{ + (FileStatus_State)(0), // 0: google.cloud.aiplatform.v1.FileStatus.State + (CorpusStatus_State)(0), // 1: google.cloud.aiplatform.v1.CorpusStatus.State + (*RagEmbeddingModelConfig)(nil), // 2: google.cloud.aiplatform.v1.RagEmbeddingModelConfig + (*RagVectorDbConfig)(nil), // 3: google.cloud.aiplatform.v1.RagVectorDbConfig + (*FileStatus)(nil), // 4: google.cloud.aiplatform.v1.FileStatus + (*CorpusStatus)(nil), // 5: google.cloud.aiplatform.v1.CorpusStatus + (*RagCorpus)(nil), // 6: google.cloud.aiplatform.v1.RagCorpus + (*RagFile)(nil), // 7: google.cloud.aiplatform.v1.RagFile + (*RagFileChunkingConfig)(nil), // 8: google.cloud.aiplatform.v1.RagFileChunkingConfig + (*RagFileTransformationConfig)(nil), // 9: google.cloud.aiplatform.v1.RagFileTransformationConfig + (*UploadRagFileConfig)(nil), // 10: google.cloud.aiplatform.v1.UploadRagFileConfig + (*ImportRagFilesConfig)(nil), // 11: google.cloud.aiplatform.v1.ImportRagFilesConfig + (*RagEmbeddingModelConfig_VertexPredictionEndpoint)(nil), // 12: google.cloud.aiplatform.v1.RagEmbeddingModelConfig.VertexPredictionEndpoint + (*RagVectorDbConfig_RagManagedDb)(nil), // 13: google.cloud.aiplatform.v1.RagVectorDbConfig.RagManagedDb + (*RagVectorDbConfig_Pinecone)(nil), // 14: google.cloud.aiplatform.v1.RagVectorDbConfig.Pinecone + (*RagVectorDbConfig_VertexVectorSearch)(nil), // 15: google.cloud.aiplatform.v1.RagVectorDbConfig.VertexVectorSearch + (*RagFileChunkingConfig_FixedLengthChunking)(nil), // 16: google.cloud.aiplatform.v1.RagFileChunkingConfig.FixedLengthChunking + (*ApiAuth)(nil), // 17: google.cloud.aiplatform.v1.ApiAuth + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*GcsSource)(nil), // 19: google.cloud.aiplatform.v1.GcsSource + (*GoogleDriveSource)(nil), // 20: google.cloud.aiplatform.v1.GoogleDriveSource + (*DirectUploadSource)(nil), // 21: google.cloud.aiplatform.v1.DirectUploadSource + (*SlackSource)(nil), // 22: google.cloud.aiplatform.v1.SlackSource + (*JiraSource)(nil), // 23: google.cloud.aiplatform.v1.JiraSource + (*SharePointSources)(nil), // 24: google.cloud.aiplatform.v1.SharePointSources + (*GcsDestination)(nil), // 25: google.cloud.aiplatform.v1.GcsDestination + (*BigQueryDestination)(nil), // 26: google.cloud.aiplatform.v1.BigQueryDestination +} +var file_google_cloud_aiplatform_v1_vertex_rag_data_proto_depIdxs = []int32{ + 12, // 0: google.cloud.aiplatform.v1.RagEmbeddingModelConfig.vertex_prediction_endpoint:type_name -> google.cloud.aiplatform.v1.RagEmbeddingModelConfig.VertexPredictionEndpoint + 13, // 1: google.cloud.aiplatform.v1.RagVectorDbConfig.rag_managed_db:type_name -> google.cloud.aiplatform.v1.RagVectorDbConfig.RagManagedDb + 14, // 2: google.cloud.aiplatform.v1.RagVectorDbConfig.pinecone:type_name -> google.cloud.aiplatform.v1.RagVectorDbConfig.Pinecone + 15, // 3: google.cloud.aiplatform.v1.RagVectorDbConfig.vertex_vector_search:type_name -> google.cloud.aiplatform.v1.RagVectorDbConfig.VertexVectorSearch + 17, // 4: google.cloud.aiplatform.v1.RagVectorDbConfig.api_auth:type_name -> google.cloud.aiplatform.v1.ApiAuth + 2, // 5: google.cloud.aiplatform.v1.RagVectorDbConfig.rag_embedding_model_config:type_name -> google.cloud.aiplatform.v1.RagEmbeddingModelConfig + 0, // 6: google.cloud.aiplatform.v1.FileStatus.state:type_name -> google.cloud.aiplatform.v1.FileStatus.State + 1, // 7: google.cloud.aiplatform.v1.CorpusStatus.state:type_name -> google.cloud.aiplatform.v1.CorpusStatus.State + 18, // 8: google.cloud.aiplatform.v1.RagCorpus.create_time:type_name -> google.protobuf.Timestamp + 18, // 9: google.cloud.aiplatform.v1.RagCorpus.update_time:type_name -> google.protobuf.Timestamp + 5, // 10: google.cloud.aiplatform.v1.RagCorpus.corpus_status:type_name -> google.cloud.aiplatform.v1.CorpusStatus + 3, // 11: google.cloud.aiplatform.v1.RagCorpus.vector_db_config:type_name -> google.cloud.aiplatform.v1.RagVectorDbConfig + 19, // 12: google.cloud.aiplatform.v1.RagFile.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource + 20, // 13: google.cloud.aiplatform.v1.RagFile.google_drive_source:type_name -> google.cloud.aiplatform.v1.GoogleDriveSource + 21, // 14: google.cloud.aiplatform.v1.RagFile.direct_upload_source:type_name -> google.cloud.aiplatform.v1.DirectUploadSource + 22, // 15: google.cloud.aiplatform.v1.RagFile.slack_source:type_name -> google.cloud.aiplatform.v1.SlackSource + 23, // 16: google.cloud.aiplatform.v1.RagFile.jira_source:type_name -> google.cloud.aiplatform.v1.JiraSource + 24, // 17: google.cloud.aiplatform.v1.RagFile.share_point_sources:type_name -> google.cloud.aiplatform.v1.SharePointSources + 18, // 18: google.cloud.aiplatform.v1.RagFile.create_time:type_name -> google.protobuf.Timestamp + 18, // 19: google.cloud.aiplatform.v1.RagFile.update_time:type_name -> google.protobuf.Timestamp + 4, // 20: google.cloud.aiplatform.v1.RagFile.file_status:type_name -> google.cloud.aiplatform.v1.FileStatus + 16, // 21: google.cloud.aiplatform.v1.RagFileChunkingConfig.fixed_length_chunking:type_name -> google.cloud.aiplatform.v1.RagFileChunkingConfig.FixedLengthChunking + 8, // 22: google.cloud.aiplatform.v1.RagFileTransformationConfig.rag_file_chunking_config:type_name -> google.cloud.aiplatform.v1.RagFileChunkingConfig + 9, // 23: google.cloud.aiplatform.v1.UploadRagFileConfig.rag_file_transformation_config:type_name -> google.cloud.aiplatform.v1.RagFileTransformationConfig + 19, // 24: google.cloud.aiplatform.v1.ImportRagFilesConfig.gcs_source:type_name -> google.cloud.aiplatform.v1.GcsSource + 20, // 25: google.cloud.aiplatform.v1.ImportRagFilesConfig.google_drive_source:type_name -> google.cloud.aiplatform.v1.GoogleDriveSource + 22, // 26: google.cloud.aiplatform.v1.ImportRagFilesConfig.slack_source:type_name -> google.cloud.aiplatform.v1.SlackSource + 23, // 27: google.cloud.aiplatform.v1.ImportRagFilesConfig.jira_source:type_name -> google.cloud.aiplatform.v1.JiraSource + 24, // 28: google.cloud.aiplatform.v1.ImportRagFilesConfig.share_point_sources:type_name -> google.cloud.aiplatform.v1.SharePointSources + 25, // 29: google.cloud.aiplatform.v1.ImportRagFilesConfig.partial_failure_gcs_sink:type_name -> google.cloud.aiplatform.v1.GcsDestination + 26, // 30: google.cloud.aiplatform.v1.ImportRagFilesConfig.partial_failure_bigquery_sink:type_name -> google.cloud.aiplatform.v1.BigQueryDestination + 9, // 31: google.cloud.aiplatform.v1.ImportRagFilesConfig.rag_file_transformation_config:type_name -> google.cloud.aiplatform.v1.RagFileTransformationConfig + 32, // [32:32] is the sub-list for method output_type + 32, // [32:32] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_vertex_rag_data_proto_init() } +func file_google_cloud_aiplatform_v1_vertex_rag_data_proto_init() { + if File_google_cloud_aiplatform_v1_vertex_rag_data_proto != nil { + return + } + file_google_cloud_aiplatform_v1_api_auth_proto_init() + file_google_cloud_aiplatform_v1_io_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*RagEmbeddingModelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*RagVectorDbConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*FileStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*CorpusStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*RagCorpus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*RagFile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*RagFileChunkingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*RagFileTransformationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*UploadRagFileConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*ImportRagFilesConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*RagEmbeddingModelConfig_VertexPredictionEndpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*RagVectorDbConfig_RagManagedDb); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*RagVectorDbConfig_Pinecone); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*RagVectorDbConfig_VertexVectorSearch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*RagFileChunkingConfig_FixedLengthChunking); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[0].OneofWrappers = []any{ + (*RagEmbeddingModelConfig_VertexPredictionEndpoint_)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[1].OneofWrappers = []any{ + (*RagVectorDbConfig_RagManagedDb_)(nil), + (*RagVectorDbConfig_Pinecone_)(nil), + (*RagVectorDbConfig_VertexVectorSearch_)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[4].OneofWrappers = []any{ + (*RagCorpus_VectorDbConfig)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[5].OneofWrappers = []any{ + (*RagFile_GcsSource)(nil), + (*RagFile_GoogleDriveSource)(nil), + (*RagFile_DirectUploadSource)(nil), + (*RagFile_SlackSource)(nil), + (*RagFile_JiraSource)(nil), + (*RagFile_SharePointSources)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[6].OneofWrappers = []any{ + (*RagFileChunkingConfig_FixedLengthChunking_)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes[9].OneofWrappers = []any{ + (*ImportRagFilesConfig_GcsSource)(nil), + (*ImportRagFilesConfig_GoogleDriveSource)(nil), + (*ImportRagFilesConfig_SlackSource)(nil), + (*ImportRagFilesConfig_JiraSource)(nil), + (*ImportRagFilesConfig_SharePointSources)(nil), + (*ImportRagFilesConfig_PartialFailureGcsSink)(nil), + (*ImportRagFilesConfig_PartialFailureBigquerySink)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDesc, + NumEnums: 2, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_vertex_rag_data_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_vertex_rag_data_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1_vertex_rag_data_proto_enumTypes, + MessageInfos: file_google_cloud_aiplatform_v1_vertex_rag_data_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_vertex_rag_data_proto = out.File + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_goTypes = nil + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/vertex_rag_data_service.pb.go b/aiplatform/apiv1/aiplatformpb/vertex_rag_data_service.pb.go new file mode 100755 index 000000000000..ef6a5cca7cce --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/vertex_rag_data_service.pb.go @@ -0,0 +1,2268 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v4.25.3 +// source: google/cloud/aiplatform/v1/vertex_rag_data_service.proto + +package aiplatformpb + +import ( + context "context" + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status1 "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/emptypb" +) + +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 +// [VertexRagDataService.CreateRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.CreateRagCorpus]. +type CreateRagCorpusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the RagCorpus in. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The RagCorpus to create. + RagCorpus *RagCorpus `protobuf:"bytes,2,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"` +} + +func (x *CreateRagCorpusRequest) Reset() { + *x = CreateRagCorpusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRagCorpusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRagCorpusRequest) ProtoMessage() {} + +func (x *CreateRagCorpusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 CreateRagCorpusRequest.ProtoReflect.Descriptor instead. +func (*CreateRagCorpusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateRagCorpusRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateRagCorpusRequest) GetRagCorpus() *RagCorpus { + if x != nil { + return x.RagCorpus + } + return nil +} + +// Request message for +// [VertexRagDataService.GetRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.GetRagCorpus] +type GetRagCorpusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagCorpus resource. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetRagCorpusRequest) Reset() { + *x = GetRagCorpusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRagCorpusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRagCorpusRequest) ProtoMessage() {} + +func (x *GetRagCorpusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 GetRagCorpusRequest.ProtoReflect.Descriptor instead. +func (*GetRagCorpusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetRagCorpusRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VertexRagDataService.ListRagCorpora][google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora]. +type ListRagCorporaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // RagCorpora. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListRagCorporaResponse.next_page_token][google.cloud.aiplatform.v1.ListRagCorporaResponse.next_page_token] + // of the previous + // [VertexRagDataService.ListRagCorpora][google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListRagCorporaRequest) Reset() { + *x = ListRagCorporaRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRagCorporaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRagCorporaRequest) ProtoMessage() {} + +func (x *ListRagCorporaRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ListRagCorporaRequest.ProtoReflect.Descriptor instead. +func (*ListRagCorporaRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListRagCorporaRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListRagCorporaRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListRagCorporaRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [VertexRagDataService.ListRagCorpora][google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora]. +type ListRagCorporaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of RagCorpora in the requested page. + RagCorpora []*RagCorpus `protobuf:"bytes,1,rep,name=rag_corpora,json=ragCorpora,proto3" json:"rag_corpora,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListRagCorporaRequest.page_token][google.cloud.aiplatform.v1.ListRagCorporaRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListRagCorporaResponse) Reset() { + *x = ListRagCorporaResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRagCorporaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRagCorporaResponse) ProtoMessage() {} + +func (x *ListRagCorporaResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ListRagCorporaResponse.ProtoReflect.Descriptor instead. +func (*ListRagCorporaResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListRagCorporaResponse) GetRagCorpora() []*RagCorpus { + if x != nil { + return x.RagCorpora + } + return nil +} + +func (x *ListRagCorporaResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [VertexRagDataService.DeleteRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagCorpus]. +type DeleteRagCorpusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagCorpus resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. If set to true, any RagFiles in this RagCorpus will also be + // deleted. Otherwise, the request will only work if the RagCorpus has no + // RagFiles. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteRagCorpusRequest) Reset() { + *x = DeleteRagCorpusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRagCorpusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRagCorpusRequest) ProtoMessage() {} + +func (x *DeleteRagCorpusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 DeleteRagCorpusRequest.ProtoReflect.Descriptor instead. +func (*DeleteRagCorpusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteRagCorpusRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteRagCorpusRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for +// [VertexRagDataService.UploadRagFile][google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile]. +type UploadRagFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagCorpus resource into which to upload the file. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The RagFile to upload. + RagFile *RagFile `protobuf:"bytes,2,opt,name=rag_file,json=ragFile,proto3" json:"rag_file,omitempty"` + // Required. The config for the RagFiles to be uploaded into the RagCorpus. + // [VertexRagDataService.UploadRagFile][google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile]. + UploadRagFileConfig *UploadRagFileConfig `protobuf:"bytes,5,opt,name=upload_rag_file_config,json=uploadRagFileConfig,proto3" json:"upload_rag_file_config,omitempty"` +} + +func (x *UploadRagFileRequest) Reset() { + *x = UploadRagFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadRagFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadRagFileRequest) ProtoMessage() {} + +func (x *UploadRagFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 UploadRagFileRequest.ProtoReflect.Descriptor instead. +func (*UploadRagFileRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UploadRagFileRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *UploadRagFileRequest) GetRagFile() *RagFile { + if x != nil { + return x.RagFile + } + return nil +} + +func (x *UploadRagFileRequest) GetUploadRagFileConfig() *UploadRagFileConfig { + if x != nil { + return x.UploadRagFileConfig + } + return nil +} + +// Response message for +// [VertexRagDataService.UploadRagFile][google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile]. +type UploadRagFileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the upload. + // + // Types that are assignable to Result: + // + // *UploadRagFileResponse_RagFile + // *UploadRagFileResponse_Error + Result isUploadRagFileResponse_Result `protobuf_oneof:"result"` +} + +func (x *UploadRagFileResponse) Reset() { + *x = UploadRagFileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadRagFileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadRagFileResponse) ProtoMessage() {} + +func (x *UploadRagFileResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 UploadRagFileResponse.ProtoReflect.Descriptor instead. +func (*UploadRagFileResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{6} +} + +func (m *UploadRagFileResponse) GetResult() isUploadRagFileResponse_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *UploadRagFileResponse) GetRagFile() *RagFile { + if x, ok := x.GetResult().(*UploadRagFileResponse_RagFile); ok { + return x.RagFile + } + return nil +} + +func (x *UploadRagFileResponse) GetError() *status.Status { + if x, ok := x.GetResult().(*UploadRagFileResponse_Error); ok { + return x.Error + } + return nil +} + +type isUploadRagFileResponse_Result interface { + isUploadRagFileResponse_Result() +} + +type UploadRagFileResponse_RagFile struct { + // The RagFile that had been uploaded into the RagCorpus. + RagFile *RagFile `protobuf:"bytes,1,opt,name=rag_file,json=ragFile,proto3,oneof"` +} + +type UploadRagFileResponse_Error struct { + // The error that occurred while processing the RagFile. + Error *status.Status `protobuf:"bytes,4,opt,name=error,proto3,oneof"` +} + +func (*UploadRagFileResponse_RagFile) isUploadRagFileResponse_Result() {} + +func (*UploadRagFileResponse_Error) isUploadRagFileResponse_Result() {} + +// Request message for +// [VertexRagDataService.ImportRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles]. +type ImportRagFilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagCorpus resource into which to import files. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The config for the RagFiles to be synced and imported into the + // RagCorpus. + // [VertexRagDataService.ImportRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles]. + ImportRagFilesConfig *ImportRagFilesConfig `protobuf:"bytes,2,opt,name=import_rag_files_config,json=importRagFilesConfig,proto3" json:"import_rag_files_config,omitempty"` +} + +func (x *ImportRagFilesRequest) Reset() { + *x = ImportRagFilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportRagFilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportRagFilesRequest) ProtoMessage() {} + +func (x *ImportRagFilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ImportRagFilesRequest.ProtoReflect.Descriptor instead. +func (*ImportRagFilesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ImportRagFilesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportRagFilesRequest) GetImportRagFilesConfig() *ImportRagFilesConfig { + if x != nil { + return x.ImportRagFilesConfig + } + return nil +} + +// Response message for +// [VertexRagDataService.ImportRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles]. +type ImportRagFilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The location into which the partial failures were written. + // + // Types that are assignable to PartialFailureSink: + // + // *ImportRagFilesResponse_PartialFailuresGcsPath + // *ImportRagFilesResponse_PartialFailuresBigqueryTable + PartialFailureSink isImportRagFilesResponse_PartialFailureSink `protobuf_oneof:"partial_failure_sink"` + // The number of RagFiles that had been imported into the RagCorpus. + ImportedRagFilesCount int64 `protobuf:"varint,1,opt,name=imported_rag_files_count,json=importedRagFilesCount,proto3" json:"imported_rag_files_count,omitempty"` + // The number of RagFiles that had failed while importing into the RagCorpus. + FailedRagFilesCount int64 `protobuf:"varint,2,opt,name=failed_rag_files_count,json=failedRagFilesCount,proto3" json:"failed_rag_files_count,omitempty"` + // The number of RagFiles that was skipped while importing into the RagCorpus. + SkippedRagFilesCount int64 `protobuf:"varint,3,opt,name=skipped_rag_files_count,json=skippedRagFilesCount,proto3" json:"skipped_rag_files_count,omitempty"` +} + +func (x *ImportRagFilesResponse) Reset() { + *x = ImportRagFilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportRagFilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportRagFilesResponse) ProtoMessage() {} + +func (x *ImportRagFilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ImportRagFilesResponse.ProtoReflect.Descriptor instead. +func (*ImportRagFilesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{8} +} + +func (m *ImportRagFilesResponse) GetPartialFailureSink() isImportRagFilesResponse_PartialFailureSink { + if m != nil { + return m.PartialFailureSink + } + return nil +} + +func (x *ImportRagFilesResponse) GetPartialFailuresGcsPath() string { + if x, ok := x.GetPartialFailureSink().(*ImportRagFilesResponse_PartialFailuresGcsPath); ok { + return x.PartialFailuresGcsPath + } + return "" +} + +func (x *ImportRagFilesResponse) GetPartialFailuresBigqueryTable() string { + if x, ok := x.GetPartialFailureSink().(*ImportRagFilesResponse_PartialFailuresBigqueryTable); ok { + return x.PartialFailuresBigqueryTable + } + return "" +} + +func (x *ImportRagFilesResponse) GetImportedRagFilesCount() int64 { + if x != nil { + return x.ImportedRagFilesCount + } + return 0 +} + +func (x *ImportRagFilesResponse) GetFailedRagFilesCount() int64 { + if x != nil { + return x.FailedRagFilesCount + } + return 0 +} + +func (x *ImportRagFilesResponse) GetSkippedRagFilesCount() int64 { + if x != nil { + return x.SkippedRagFilesCount + } + return 0 +} + +type isImportRagFilesResponse_PartialFailureSink interface { + isImportRagFilesResponse_PartialFailureSink() +} + +type ImportRagFilesResponse_PartialFailuresGcsPath struct { + // The Google Cloud Storage path into which the partial failures were + // written. + PartialFailuresGcsPath string `protobuf:"bytes,4,opt,name=partial_failures_gcs_path,json=partialFailuresGcsPath,proto3,oneof"` +} + +type ImportRagFilesResponse_PartialFailuresBigqueryTable struct { + // The BigQuery table into which the partial failures were written. + PartialFailuresBigqueryTable string `protobuf:"bytes,5,opt,name=partial_failures_bigquery_table,json=partialFailuresBigqueryTable,proto3,oneof"` +} + +func (*ImportRagFilesResponse_PartialFailuresGcsPath) isImportRagFilesResponse_PartialFailureSink() {} + +func (*ImportRagFilesResponse_PartialFailuresBigqueryTable) isImportRagFilesResponse_PartialFailureSink() { +} + +// Request message for +// [VertexRagDataService.GetRagFile][google.cloud.aiplatform.v1.VertexRagDataService.GetRagFile] +type GetRagFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagFile resource. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetRagFileRequest) Reset() { + *x = GetRagFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRagFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRagFileRequest) ProtoMessage() {} + +func (x *GetRagFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 GetRagFileRequest.ProtoReflect.Descriptor instead. +func (*GetRagFileRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{9} +} + +func (x *GetRagFileRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VertexRagDataService.ListRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles]. +type ListRagFilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the RagCorpus from which to list the + // RagFiles. Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListRagFilesResponse.next_page_token][google.cloud.aiplatform.v1.ListRagFilesResponse.next_page_token] + // of the previous + // [VertexRagDataService.ListRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListRagFilesRequest) Reset() { + *x = ListRagFilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRagFilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRagFilesRequest) ProtoMessage() {} + +func (x *ListRagFilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ListRagFilesRequest.ProtoReflect.Descriptor instead. +func (*ListRagFilesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListRagFilesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListRagFilesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListRagFilesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [VertexRagDataService.ListRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles]. +type ListRagFilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of RagFiles in the requested page. + RagFiles []*RagFile `protobuf:"bytes,1,rep,name=rag_files,json=ragFiles,proto3" json:"rag_files,omitempty"` + // A token to retrieve the next page of results. + // Pass to + // [ListRagFilesRequest.page_token][google.cloud.aiplatform.v1.ListRagFilesRequest.page_token] + // to obtain that page. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListRagFilesResponse) Reset() { + *x = ListRagFilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRagFilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRagFilesResponse) ProtoMessage() {} + +func (x *ListRagFilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ListRagFilesResponse.ProtoReflect.Descriptor instead. +func (*ListRagFilesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{11} +} + +func (x *ListRagFilesResponse) GetRagFiles() []*RagFile { + if x != nil { + return x.RagFiles + } + return nil +} + +func (x *ListRagFilesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [VertexRagDataService.DeleteRagFile][google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagFile]. +type DeleteRagFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the RagFile resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteRagFileRequest) Reset() { + *x = DeleteRagFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteRagFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRagFileRequest) ProtoMessage() {} + +func (x *DeleteRagFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 DeleteRagFileRequest.ProtoReflect.Descriptor instead. +func (*DeleteRagFileRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteRagFileRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Runtime operation information for +// [VertexRagDataService.CreateRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.CreateRagCorpus]. +type CreateRagCorpusOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *CreateRagCorpusOperationMetadata) Reset() { + *x = CreateRagCorpusOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRagCorpusOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRagCorpusOperationMetadata) ProtoMessage() {} + +func (x *CreateRagCorpusOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 CreateRagCorpusOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateRagCorpusOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateRagCorpusOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [VertexRagDataService.UpdateRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.UpdateRagCorpus]. +type UpdateRagCorpusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The RagCorpus which replaces the resource on the server. + RagCorpus *RagCorpus `protobuf:"bytes,1,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"` +} + +func (x *UpdateRagCorpusRequest) Reset() { + *x = UpdateRagCorpusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRagCorpusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRagCorpusRequest) ProtoMessage() {} + +func (x *UpdateRagCorpusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 UpdateRagCorpusRequest.ProtoReflect.Descriptor instead. +func (*UpdateRagCorpusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{14} +} + +func (x *UpdateRagCorpusRequest) GetRagCorpus() *RagCorpus { + if x != nil { + return x.RagCorpus + } + return nil +} + +// Runtime operation information for +// [VertexRagDataService.UpdateRagCorpus][google.cloud.aiplatform.v1.VertexRagDataService.UpdateRagCorpus]. +type UpdateRagCorpusOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` +} + +func (x *UpdateRagCorpusOperationMetadata) Reset() { + *x = UpdateRagCorpusOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRagCorpusOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRagCorpusOperationMetadata) ProtoMessage() {} + +func (x *UpdateRagCorpusOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 UpdateRagCorpusOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdateRagCorpusOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{15} +} + +func (x *UpdateRagCorpusOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Runtime operation information for +// [VertexRagDataService.ImportRagFiles][google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles]. +type ImportRagFilesOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The operation generic information. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // The resource ID of RagCorpus that this operation is executed on. + RagCorpusId int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"` + // Output only. The config that was passed in the ImportRagFilesRequest. + ImportRagFilesConfig *ImportRagFilesConfig `protobuf:"bytes,3,opt,name=import_rag_files_config,json=importRagFilesConfig,proto3" json:"import_rag_files_config,omitempty"` + // The progress percentage of the operation. Value is in the range [0, 100]. + // This percentage is calculated as follows: + // + // progress_percentage = 100 * (successes + failures + skips) / total + ProgressPercentage int32 `protobuf:"varint,4,opt,name=progress_percentage,json=progressPercentage,proto3" json:"progress_percentage,omitempty"` +} + +func (x *ImportRagFilesOperationMetadata) Reset() { + *x = ImportRagFilesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportRagFilesOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportRagFilesOperationMetadata) ProtoMessage() {} + +func (x *ImportRagFilesOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_data_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 ImportRagFilesOperationMetadata.ProtoReflect.Descriptor instead. +func (*ImportRagFilesOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP(), []int{16} +} + +func (x *ImportRagFilesOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *ImportRagFilesOperationMetadata) GetRagCorpusId() int64 { + if x != nil { + return x.RagCorpusId + } + return 0 +} + +func (x *ImportRagFilesOperationMetadata) GetImportRagFilesConfig() *ImportRagFilesConfig { + if x != nil { + return x.ImportRagFilesConfig + } + return nil +} + +func (x *ImportRagFilesOperationMetadata) GetProgressPercentage() int32 { + if x != nil { + return x.ProgressPercentage + } + return 0 +} + +var File_google_cloud_aiplatform_v1_vertex_rag_data_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, + 0x31, 0x2f, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, + 0x43, 0x6f, 0x72, 0x70, 0x75, 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, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x49, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x56, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 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, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x0a, 0x72, + 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 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, 0x74, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, + 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, + 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x69, 0x0a, 0x16, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x13, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x40, 0x0a, 0x08, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x08, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6c, 0x0a, 0x17, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdb, 0x02, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3b, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x73, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, + 0x6c, 0x75, 0x72, 0x65, 0x73, 0x47, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x1f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, + 0x5f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x42, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, + 0x0a, 0x16, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, + 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x69, + 0x6e, 0x6b, 0x22, 0x52, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 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, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x61, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x55, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 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, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, + 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x63, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x83, + 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, + 0x75, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xc5, 0x02, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x61, 0x67, + 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x49, 0x64, 0x12, 0x6c, 0x0a, + 0x17, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x32, 0xcf, 0x11, 0x0a, + 0x14, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xed, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, + 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, 0xca, + 0x41, 0x2d, 0x0a, 0x09, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, + 0x70, 0x75, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, + 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x2e, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, + 0x72, 0x70, 0x6f, 0x72, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, + 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xca, + 0x41, 0x2d, 0x0a, 0x09, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x20, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x47, 0x3a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x32, 0x39, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 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, 0x72, 0x61, 0x67, 0x43, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xa5, 0x01, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, + 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, + 0x75, 0x73, 0x22, 0x3d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x30, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, 0x2a, + 0x7d, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, + 0x70, 0x6f, 0x72, 0x61, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, + 0x6f, 0x72, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x12, 0xd6, 0x01, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, + 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x70, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x2a, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, + 0x72, 0x61, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0xda, 0x41, + 0x26, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x2c, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, + 0x22, 0x40, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, + 0x2a, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x8d, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xca, 0x41, 0x39, 0x0a, 0x16, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, + 0x22, 0x40, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x2f, + 0x2a, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0xaa, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, + 0x67, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3b, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x2f, 0x2a, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xbd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, + 0x6f, 0x72, 0x61, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0xdd, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x7b, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3b, 0x2a, 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, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x2f, 0x2a, 0x2f, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, + 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xd7, + 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x42, 0x19, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescData = file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_goTypes = []any{ + (*CreateRagCorpusRequest)(nil), // 0: google.cloud.aiplatform.v1.CreateRagCorpusRequest + (*GetRagCorpusRequest)(nil), // 1: google.cloud.aiplatform.v1.GetRagCorpusRequest + (*ListRagCorporaRequest)(nil), // 2: google.cloud.aiplatform.v1.ListRagCorporaRequest + (*ListRagCorporaResponse)(nil), // 3: google.cloud.aiplatform.v1.ListRagCorporaResponse + (*DeleteRagCorpusRequest)(nil), // 4: google.cloud.aiplatform.v1.DeleteRagCorpusRequest + (*UploadRagFileRequest)(nil), // 5: google.cloud.aiplatform.v1.UploadRagFileRequest + (*UploadRagFileResponse)(nil), // 6: google.cloud.aiplatform.v1.UploadRagFileResponse + (*ImportRagFilesRequest)(nil), // 7: google.cloud.aiplatform.v1.ImportRagFilesRequest + (*ImportRagFilesResponse)(nil), // 8: google.cloud.aiplatform.v1.ImportRagFilesResponse + (*GetRagFileRequest)(nil), // 9: google.cloud.aiplatform.v1.GetRagFileRequest + (*ListRagFilesRequest)(nil), // 10: google.cloud.aiplatform.v1.ListRagFilesRequest + (*ListRagFilesResponse)(nil), // 11: google.cloud.aiplatform.v1.ListRagFilesResponse + (*DeleteRagFileRequest)(nil), // 12: google.cloud.aiplatform.v1.DeleteRagFileRequest + (*CreateRagCorpusOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1.CreateRagCorpusOperationMetadata + (*UpdateRagCorpusRequest)(nil), // 14: google.cloud.aiplatform.v1.UpdateRagCorpusRequest + (*UpdateRagCorpusOperationMetadata)(nil), // 15: google.cloud.aiplatform.v1.UpdateRagCorpusOperationMetadata + (*ImportRagFilesOperationMetadata)(nil), // 16: google.cloud.aiplatform.v1.ImportRagFilesOperationMetadata + (*RagCorpus)(nil), // 17: google.cloud.aiplatform.v1.RagCorpus + (*RagFile)(nil), // 18: google.cloud.aiplatform.v1.RagFile + (*UploadRagFileConfig)(nil), // 19: google.cloud.aiplatform.v1.UploadRagFileConfig + (*status.Status)(nil), // 20: google.rpc.Status + (*ImportRagFilesConfig)(nil), // 21: google.cloud.aiplatform.v1.ImportRagFilesConfig + (*GenericOperationMetadata)(nil), // 22: google.cloud.aiplatform.v1.GenericOperationMetadata + (*longrunningpb.Operation)(nil), // 23: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_depIdxs = []int32{ + 17, // 0: google.cloud.aiplatform.v1.CreateRagCorpusRequest.rag_corpus:type_name -> google.cloud.aiplatform.v1.RagCorpus + 17, // 1: google.cloud.aiplatform.v1.ListRagCorporaResponse.rag_corpora:type_name -> google.cloud.aiplatform.v1.RagCorpus + 18, // 2: google.cloud.aiplatform.v1.UploadRagFileRequest.rag_file:type_name -> google.cloud.aiplatform.v1.RagFile + 19, // 3: google.cloud.aiplatform.v1.UploadRagFileRequest.upload_rag_file_config:type_name -> google.cloud.aiplatform.v1.UploadRagFileConfig + 18, // 4: google.cloud.aiplatform.v1.UploadRagFileResponse.rag_file:type_name -> google.cloud.aiplatform.v1.RagFile + 20, // 5: google.cloud.aiplatform.v1.UploadRagFileResponse.error:type_name -> google.rpc.Status + 21, // 6: google.cloud.aiplatform.v1.ImportRagFilesRequest.import_rag_files_config:type_name -> google.cloud.aiplatform.v1.ImportRagFilesConfig + 18, // 7: google.cloud.aiplatform.v1.ListRagFilesResponse.rag_files:type_name -> google.cloud.aiplatform.v1.RagFile + 22, // 8: google.cloud.aiplatform.v1.CreateRagCorpusOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 17, // 9: google.cloud.aiplatform.v1.UpdateRagCorpusRequest.rag_corpus:type_name -> google.cloud.aiplatform.v1.RagCorpus + 22, // 10: google.cloud.aiplatform.v1.UpdateRagCorpusOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 22, // 11: google.cloud.aiplatform.v1.ImportRagFilesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 21, // 12: google.cloud.aiplatform.v1.ImportRagFilesOperationMetadata.import_rag_files_config:type_name -> google.cloud.aiplatform.v1.ImportRagFilesConfig + 0, // 13: google.cloud.aiplatform.v1.VertexRagDataService.CreateRagCorpus:input_type -> google.cloud.aiplatform.v1.CreateRagCorpusRequest + 14, // 14: google.cloud.aiplatform.v1.VertexRagDataService.UpdateRagCorpus:input_type -> google.cloud.aiplatform.v1.UpdateRagCorpusRequest + 1, // 15: google.cloud.aiplatform.v1.VertexRagDataService.GetRagCorpus:input_type -> google.cloud.aiplatform.v1.GetRagCorpusRequest + 2, // 16: google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora:input_type -> google.cloud.aiplatform.v1.ListRagCorporaRequest + 4, // 17: google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagCorpus:input_type -> google.cloud.aiplatform.v1.DeleteRagCorpusRequest + 5, // 18: google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile:input_type -> google.cloud.aiplatform.v1.UploadRagFileRequest + 7, // 19: google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles:input_type -> google.cloud.aiplatform.v1.ImportRagFilesRequest + 9, // 20: google.cloud.aiplatform.v1.VertexRagDataService.GetRagFile:input_type -> google.cloud.aiplatform.v1.GetRagFileRequest + 10, // 21: google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles:input_type -> google.cloud.aiplatform.v1.ListRagFilesRequest + 12, // 22: google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagFile:input_type -> google.cloud.aiplatform.v1.DeleteRagFileRequest + 23, // 23: google.cloud.aiplatform.v1.VertexRagDataService.CreateRagCorpus:output_type -> google.longrunning.Operation + 23, // 24: google.cloud.aiplatform.v1.VertexRagDataService.UpdateRagCorpus:output_type -> google.longrunning.Operation + 17, // 25: google.cloud.aiplatform.v1.VertexRagDataService.GetRagCorpus:output_type -> google.cloud.aiplatform.v1.RagCorpus + 3, // 26: google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora:output_type -> google.cloud.aiplatform.v1.ListRagCorporaResponse + 23, // 27: google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagCorpus:output_type -> google.longrunning.Operation + 6, // 28: google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile:output_type -> google.cloud.aiplatform.v1.UploadRagFileResponse + 23, // 29: google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles:output_type -> google.longrunning.Operation + 18, // 30: google.cloud.aiplatform.v1.VertexRagDataService.GetRagFile:output_type -> google.cloud.aiplatform.v1.RagFile + 11, // 31: google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles:output_type -> google.cloud.aiplatform.v1.ListRagFilesResponse + 23, // 32: google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagFile:output_type -> google.longrunning.Operation + 23, // [23:33] is the sub-list for method output_type + 13, // [13:23] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_init() } +func file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_init() { + if File_google_cloud_aiplatform_v1_vertex_rag_data_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1_operation_proto_init() + file_google_cloud_aiplatform_v1_vertex_rag_data_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*CreateRagCorpusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*GetRagCorpusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*ListRagCorporaRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*ListRagCorporaResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*DeleteRagCorpusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*UploadRagFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*UploadRagFileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*ImportRagFilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*ImportRagFilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*GetRagFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*ListRagFilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*ListRagFilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*DeleteRagFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*CreateRagCorpusOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*UpdateRagCorpusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[15].Exporter = func(v any, i int) any { + switch v := v.(*UpdateRagCorpusOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*ImportRagFilesOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[6].OneofWrappers = []any{ + (*UploadRagFileResponse_RagFile)(nil), + (*UploadRagFileResponse_Error)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes[8].OneofWrappers = []any{ + (*ImportRagFilesResponse_PartialFailuresGcsPath)(nil), + (*ImportRagFilesResponse_PartialFailuresBigqueryTable)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 17, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_vertex_rag_data_service_proto = out.File + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_vertex_rag_data_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1_vertex_rag_data_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 + +// VertexRagDataServiceClient is the client API for VertexRagDataService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type VertexRagDataServiceClient interface { + // Creates a RagCorpus. + CreateRagCorpus(ctx context.Context, in *CreateRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a RagCorpus. + UpdateRagCorpus(ctx context.Context, in *UpdateRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a RagCorpus. + GetRagCorpus(ctx context.Context, in *GetRagCorpusRequest, opts ...grpc.CallOption) (*RagCorpus, error) + // Lists RagCorpora in a Location. + ListRagCorpora(ctx context.Context, in *ListRagCorporaRequest, opts ...grpc.CallOption) (*ListRagCorporaResponse, error) + // Deletes a RagCorpus. + DeleteRagCorpus(ctx context.Context, in *DeleteRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Upload a file into a RagCorpus. + UploadRagFile(ctx context.Context, in *UploadRagFileRequest, opts ...grpc.CallOption) (*UploadRagFileResponse, error) + // Import files from Google Cloud Storage or Google Drive into a RagCorpus. + ImportRagFiles(ctx context.Context, in *ImportRagFilesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a RagFile. + GetRagFile(ctx context.Context, in *GetRagFileRequest, opts ...grpc.CallOption) (*RagFile, error) + // Lists RagFiles in a RagCorpus. + ListRagFiles(ctx context.Context, in *ListRagFilesRequest, opts ...grpc.CallOption) (*ListRagFilesResponse, error) + // Deletes a RagFile. + DeleteRagFile(ctx context.Context, in *DeleteRagFileRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type vertexRagDataServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewVertexRagDataServiceClient(cc grpc.ClientConnInterface) VertexRagDataServiceClient { + return &vertexRagDataServiceClient{cc} +} + +func (c *vertexRagDataServiceClient) CreateRagCorpus(ctx context.Context, in *CreateRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/CreateRagCorpus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) UpdateRagCorpus(ctx context.Context, in *UpdateRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/UpdateRagCorpus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) GetRagCorpus(ctx context.Context, in *GetRagCorpusRequest, opts ...grpc.CallOption) (*RagCorpus, error) { + out := new(RagCorpus) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/GetRagCorpus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) ListRagCorpora(ctx context.Context, in *ListRagCorporaRequest, opts ...grpc.CallOption) (*ListRagCorporaResponse, error) { + out := new(ListRagCorporaResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/ListRagCorpora", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) DeleteRagCorpus(ctx context.Context, in *DeleteRagCorpusRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/DeleteRagCorpus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) UploadRagFile(ctx context.Context, in *UploadRagFileRequest, opts ...grpc.CallOption) (*UploadRagFileResponse, error) { + out := new(UploadRagFileResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/UploadRagFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) ImportRagFiles(ctx context.Context, in *ImportRagFilesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/ImportRagFiles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) GetRagFile(ctx context.Context, in *GetRagFileRequest, opts ...grpc.CallOption) (*RagFile, error) { + out := new(RagFile) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/GetRagFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) ListRagFiles(ctx context.Context, in *ListRagFilesRequest, opts ...grpc.CallOption) (*ListRagFilesResponse, error) { + out := new(ListRagFilesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/ListRagFiles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagDataServiceClient) DeleteRagFile(ctx context.Context, in *DeleteRagFileRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagDataService/DeleteRagFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// VertexRagDataServiceServer is the server API for VertexRagDataService service. +type VertexRagDataServiceServer interface { + // Creates a RagCorpus. + CreateRagCorpus(context.Context, *CreateRagCorpusRequest) (*longrunningpb.Operation, error) + // Updates a RagCorpus. + UpdateRagCorpus(context.Context, *UpdateRagCorpusRequest) (*longrunningpb.Operation, error) + // Gets a RagCorpus. + GetRagCorpus(context.Context, *GetRagCorpusRequest) (*RagCorpus, error) + // Lists RagCorpora in a Location. + ListRagCorpora(context.Context, *ListRagCorporaRequest) (*ListRagCorporaResponse, error) + // Deletes a RagCorpus. + DeleteRagCorpus(context.Context, *DeleteRagCorpusRequest) (*longrunningpb.Operation, error) + // Upload a file into a RagCorpus. + UploadRagFile(context.Context, *UploadRagFileRequest) (*UploadRagFileResponse, error) + // Import files from Google Cloud Storage or Google Drive into a RagCorpus. + ImportRagFiles(context.Context, *ImportRagFilesRequest) (*longrunningpb.Operation, error) + // Gets a RagFile. + GetRagFile(context.Context, *GetRagFileRequest) (*RagFile, error) + // Lists RagFiles in a RagCorpus. + ListRagFiles(context.Context, *ListRagFilesRequest) (*ListRagFilesResponse, error) + // Deletes a RagFile. + DeleteRagFile(context.Context, *DeleteRagFileRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedVertexRagDataServiceServer can be embedded to have forward compatible implementations. +type UnimplementedVertexRagDataServiceServer struct { +} + +func (*UnimplementedVertexRagDataServiceServer) CreateRagCorpus(context.Context, *CreateRagCorpusRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method CreateRagCorpus not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) UpdateRagCorpus(context.Context, *UpdateRagCorpusRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method UpdateRagCorpus not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) GetRagCorpus(context.Context, *GetRagCorpusRequest) (*RagCorpus, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GetRagCorpus not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) ListRagCorpora(context.Context, *ListRagCorporaRequest) (*ListRagCorporaResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListRagCorpora not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) DeleteRagCorpus(context.Context, *DeleteRagCorpusRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method DeleteRagCorpus not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) UploadRagFile(context.Context, *UploadRagFileRequest) (*UploadRagFileResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method UploadRagFile not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) ImportRagFiles(context.Context, *ImportRagFilesRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ImportRagFiles not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) GetRagFile(context.Context, *GetRagFileRequest) (*RagFile, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GetRagFile not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) ListRagFiles(context.Context, *ListRagFilesRequest) (*ListRagFilesResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListRagFiles not implemented") +} +func (*UnimplementedVertexRagDataServiceServer) DeleteRagFile(context.Context, *DeleteRagFileRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method DeleteRagFile not implemented") +} + +func RegisterVertexRagDataServiceServer(s *grpc.Server, srv VertexRagDataServiceServer) { + s.RegisterService(&_VertexRagDataService_serviceDesc, srv) +} + +func _VertexRagDataService_CreateRagCorpus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateRagCorpusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).CreateRagCorpus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/CreateRagCorpus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).CreateRagCorpus(ctx, req.(*CreateRagCorpusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_UpdateRagCorpus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRagCorpusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).UpdateRagCorpus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/UpdateRagCorpus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).UpdateRagCorpus(ctx, req.(*UpdateRagCorpusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_GetRagCorpus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRagCorpusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).GetRagCorpus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/GetRagCorpus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).GetRagCorpus(ctx, req.(*GetRagCorpusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_ListRagCorpora_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRagCorporaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).ListRagCorpora(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/ListRagCorpora", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).ListRagCorpora(ctx, req.(*ListRagCorporaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_DeleteRagCorpus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRagCorpusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).DeleteRagCorpus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/DeleteRagCorpus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).DeleteRagCorpus(ctx, req.(*DeleteRagCorpusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_UploadRagFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadRagFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).UploadRagFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/UploadRagFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).UploadRagFile(ctx, req.(*UploadRagFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_ImportRagFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportRagFilesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).ImportRagFiles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/ImportRagFiles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).ImportRagFiles(ctx, req.(*ImportRagFilesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_GetRagFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRagFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).GetRagFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/GetRagFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).GetRagFile(ctx, req.(*GetRagFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_ListRagFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRagFilesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).ListRagFiles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/ListRagFiles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).ListRagFiles(ctx, req.(*ListRagFilesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagDataService_DeleteRagFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRagFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagDataServiceServer).DeleteRagFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagDataService/DeleteRagFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagDataServiceServer).DeleteRagFile(ctx, req.(*DeleteRagFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _VertexRagDataService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1.VertexRagDataService", + HandlerType: (*VertexRagDataServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateRagCorpus", + Handler: _VertexRagDataService_CreateRagCorpus_Handler, + }, + { + MethodName: "UpdateRagCorpus", + Handler: _VertexRagDataService_UpdateRagCorpus_Handler, + }, + { + MethodName: "GetRagCorpus", + Handler: _VertexRagDataService_GetRagCorpus_Handler, + }, + { + MethodName: "ListRagCorpora", + Handler: _VertexRagDataService_ListRagCorpora_Handler, + }, + { + MethodName: "DeleteRagCorpus", + Handler: _VertexRagDataService_DeleteRagCorpus_Handler, + }, + { + MethodName: "UploadRagFile", + Handler: _VertexRagDataService_UploadRagFile_Handler, + }, + { + MethodName: "ImportRagFiles", + Handler: _VertexRagDataService_ImportRagFiles_Handler, + }, + { + MethodName: "GetRagFile", + Handler: _VertexRagDataService_GetRagFile_Handler, + }, + { + MethodName: "ListRagFiles", + Handler: _VertexRagDataService_ListRagFiles_Handler, + }, + { + MethodName: "DeleteRagFile", + Handler: _VertexRagDataService_DeleteRagFile_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1/vertex_rag_data_service.proto", +} diff --git a/aiplatform/apiv1/aiplatformpb/vertex_rag_service.pb.go b/aiplatform/apiv1/aiplatformpb/vertex_rag_service.pb.go new file mode 100755 index 000000000000..752c9c983af5 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/vertex_rag_service.pb.go @@ -0,0 +1,1823 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v4.25.3 +// source: google/cloud/aiplatform/v1/vertex_rag_service.proto + +package aiplatformpb + +import ( + context "context" + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A query to retrieve relevant contexts. +type RagQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The query to retrieve contexts. + // Currently only text query is supported. + // + // Types that are assignable to Query: + // + // *RagQuery_Text + Query isRagQuery_Query `protobuf_oneof:"query"` + // Optional. The retrieval config for the query. + RagRetrievalConfig *RagRetrievalConfig `protobuf:"bytes,6,opt,name=rag_retrieval_config,json=ragRetrievalConfig,proto3" json:"rag_retrieval_config,omitempty"` +} + +func (x *RagQuery) Reset() { + *x = RagQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagQuery) ProtoMessage() {} + +func (x *RagQuery) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RagQuery.ProtoReflect.Descriptor instead. +func (*RagQuery) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{0} +} + +func (m *RagQuery) GetQuery() isRagQuery_Query { + if m != nil { + return m.Query + } + return nil +} + +func (x *RagQuery) GetText() string { + if x, ok := x.GetQuery().(*RagQuery_Text); ok { + return x.Text + } + return "" +} + +func (x *RagQuery) GetRagRetrievalConfig() *RagRetrievalConfig { + if x != nil { + return x.RagRetrievalConfig + } + return nil +} + +type isRagQuery_Query interface { + isRagQuery_Query() +} + +type RagQuery_Text struct { + // Optional. The query in text format to get relevant contexts. + Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` +} + +func (*RagQuery_Text) isRagQuery_Query() {} + +// Request message for +// [VertexRagService.RetrieveContexts][google.cloud.aiplatform.v1.VertexRagService.RetrieveContexts]. +type RetrieveContextsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Data Source to retrieve contexts. + // + // Types that are assignable to DataSource: + // + // *RetrieveContextsRequest_VertexRagStore_ + DataSource isRetrieveContextsRequest_DataSource `protobuf_oneof:"data_source"` + // Required. The resource name of the Location from which to retrieve + // RagContexts. The users must have permission to make a call in the project. + // Format: + // `projects/{project}/locations/{location}`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Single RAG retrieve query. + Query *RagQuery `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *RetrieveContextsRequest) Reset() { + *x = RetrieveContextsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveContextsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveContextsRequest) ProtoMessage() {} + +func (x *RetrieveContextsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RetrieveContextsRequest.ProtoReflect.Descriptor instead. +func (*RetrieveContextsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{1} +} + +func (m *RetrieveContextsRequest) GetDataSource() isRetrieveContextsRequest_DataSource { + if m != nil { + return m.DataSource + } + return nil +} + +func (x *RetrieveContextsRequest) GetVertexRagStore() *RetrieveContextsRequest_VertexRagStore { + if x, ok := x.GetDataSource().(*RetrieveContextsRequest_VertexRagStore_); ok { + return x.VertexRagStore + } + return nil +} + +func (x *RetrieveContextsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *RetrieveContextsRequest) GetQuery() *RagQuery { + if x != nil { + return x.Query + } + return nil +} + +type isRetrieveContextsRequest_DataSource interface { + isRetrieveContextsRequest_DataSource() +} + +type RetrieveContextsRequest_VertexRagStore_ struct { + // The data source for Vertex RagStore. + VertexRagStore *RetrieveContextsRequest_VertexRagStore `protobuf:"bytes,2,opt,name=vertex_rag_store,json=vertexRagStore,proto3,oneof"` +} + +func (*RetrieveContextsRequest_VertexRagStore_) isRetrieveContextsRequest_DataSource() {} + +// Relevant contexts for one query. +type RagContexts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All its contexts. + Contexts []*RagContexts_Context `protobuf:"bytes,1,rep,name=contexts,proto3" json:"contexts,omitempty"` +} + +func (x *RagContexts) Reset() { + *x = RagContexts{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagContexts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagContexts) ProtoMessage() {} + +func (x *RagContexts) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RagContexts.ProtoReflect.Descriptor instead. +func (*RagContexts) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{2} +} + +func (x *RagContexts) GetContexts() []*RagContexts_Context { + if x != nil { + return x.Contexts + } + return nil +} + +// Response message for +// [VertexRagService.RetrieveContexts][google.cloud.aiplatform.v1.VertexRagService.RetrieveContexts]. +type RetrieveContextsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The contexts of the query. + Contexts *RagContexts `protobuf:"bytes,1,opt,name=contexts,proto3" json:"contexts,omitempty"` +} + +func (x *RetrieveContextsResponse) Reset() { + *x = RetrieveContextsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveContextsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveContextsResponse) ProtoMessage() {} + +func (x *RetrieveContextsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RetrieveContextsResponse.ProtoReflect.Descriptor instead. +func (*RetrieveContextsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RetrieveContextsResponse) GetContexts() *RagContexts { + if x != nil { + return x.Contexts + } + return nil +} + +// Request message for AugmentPrompt. +type AugmentPromptRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The data source for retrieving contexts. + // + // Types that are assignable to DataSource: + // + // *AugmentPromptRequest_VertexRagStore + DataSource isAugmentPromptRequest_DataSource `protobuf_oneof:"data_source"` + // Required. The resource name of the Location from which to augment prompt. + // The users must have permission to make a call in the project. + // Format: + // `projects/{project}/locations/{location}`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Input content to augment, only text format is supported for now. + Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` + // Optional. Metadata of the backend deployed model. + Model *AugmentPromptRequest_Model `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` +} + +func (x *AugmentPromptRequest) Reset() { + *x = AugmentPromptRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AugmentPromptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AugmentPromptRequest) ProtoMessage() {} + +func (x *AugmentPromptRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 AugmentPromptRequest.ProtoReflect.Descriptor instead. +func (*AugmentPromptRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{4} +} + +func (m *AugmentPromptRequest) GetDataSource() isAugmentPromptRequest_DataSource { + if m != nil { + return m.DataSource + } + return nil +} + +func (x *AugmentPromptRequest) GetVertexRagStore() *VertexRagStore { + if x, ok := x.GetDataSource().(*AugmentPromptRequest_VertexRagStore); ok { + return x.VertexRagStore + } + return nil +} + +func (x *AugmentPromptRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *AugmentPromptRequest) GetContents() []*Content { + if x != nil { + return x.Contents + } + return nil +} + +func (x *AugmentPromptRequest) GetModel() *AugmentPromptRequest_Model { + if x != nil { + return x.Model + } + return nil +} + +type isAugmentPromptRequest_DataSource interface { + isAugmentPromptRequest_DataSource() +} + +type AugmentPromptRequest_VertexRagStore struct { + // Optional. Retrieves contexts from the Vertex RagStore. + VertexRagStore *VertexRagStore `protobuf:"bytes,4,opt,name=vertex_rag_store,json=vertexRagStore,proto3,oneof"` +} + +func (*AugmentPromptRequest_VertexRagStore) isAugmentPromptRequest_DataSource() {} + +// Response message for AugmentPrompt. +type AugmentPromptResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Augmented prompt, only text format is supported for now. + AugmentedPrompt []*Content `protobuf:"bytes,1,rep,name=augmented_prompt,json=augmentedPrompt,proto3" json:"augmented_prompt,omitempty"` + // Retrieved facts from RAG data sources. + Facts []*Fact `protobuf:"bytes,2,rep,name=facts,proto3" json:"facts,omitempty"` +} + +func (x *AugmentPromptResponse) Reset() { + *x = AugmentPromptResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AugmentPromptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AugmentPromptResponse) ProtoMessage() {} + +func (x *AugmentPromptResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 AugmentPromptResponse.ProtoReflect.Descriptor instead. +func (*AugmentPromptResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{5} +} + +func (x *AugmentPromptResponse) GetAugmentedPrompt() []*Content { + if x != nil { + return x.AugmentedPrompt + } + return nil +} + +func (x *AugmentPromptResponse) GetFacts() []*Fact { + if x != nil { + return x.Facts + } + return nil +} + +// Request message for CorroborateContent. +type CorroborateContentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to corroborate text. + // The users must have permission to make a call in the project. + // Format: + // `projects/{project}/locations/{location}`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Input content to corroborate, only text format is supported for + // now. + Content *Content `protobuf:"bytes,2,opt,name=content,proto3,oneof" json:"content,omitempty"` + // Optional. Facts used to generate the text can also be used to corroborate + // the text. + Facts []*Fact `protobuf:"bytes,3,rep,name=facts,proto3" json:"facts,omitempty"` + // Optional. Parameters that can be set to override default settings per + // request. + Parameters *CorroborateContentRequest_Parameters `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *CorroborateContentRequest) Reset() { + *x = CorroborateContentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CorroborateContentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CorroborateContentRequest) ProtoMessage() {} + +func (x *CorroborateContentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 CorroborateContentRequest.ProtoReflect.Descriptor instead. +func (*CorroborateContentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{6} +} + +func (x *CorroborateContentRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CorroborateContentRequest) GetContent() *Content { + if x != nil { + return x.Content + } + return nil +} + +func (x *CorroborateContentRequest) GetFacts() []*Fact { + if x != nil { + return x.Facts + } + return nil +} + +func (x *CorroborateContentRequest) GetParameters() *CorroborateContentRequest_Parameters { + if x != nil { + return x.Parameters + } + return nil +} + +// Response message for CorroborateContent. +type CorroborateContentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Confidence score of corroborating content. Value is [0,1] with 1 is the + // most confidence. + CorroborationScore *float32 `protobuf:"fixed32,1,opt,name=corroboration_score,json=corroborationScore,proto3,oneof" json:"corroboration_score,omitempty"` + // Claims that are extracted from the input content and facts that support the + // claims. + Claims []*Claim `protobuf:"bytes,2,rep,name=claims,proto3" json:"claims,omitempty"` +} + +func (x *CorroborateContentResponse) Reset() { + *x = CorroborateContentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CorroborateContentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CorroborateContentResponse) ProtoMessage() {} + +func (x *CorroborateContentResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 CorroborateContentResponse.ProtoReflect.Descriptor instead. +func (*CorroborateContentResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{7} +} + +func (x *CorroborateContentResponse) GetCorroborationScore() float32 { + if x != nil && x.CorroborationScore != nil { + return *x.CorroborationScore + } + return 0 +} + +func (x *CorroborateContentResponse) GetClaims() []*Claim { + if x != nil { + return x.Claims + } + return nil +} + +// The fact used in grounding. +type Fact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Query that is used to retrieve this fact. + Query *string `protobuf:"bytes,1,opt,name=query,proto3,oneof" json:"query,omitempty"` + // If present, it refers to the title of this fact. + Title *string `protobuf:"bytes,2,opt,name=title,proto3,oneof" json:"title,omitempty"` + // If present, this uri links to the source of the fact. + Uri *string `protobuf:"bytes,3,opt,name=uri,proto3,oneof" json:"uri,omitempty"` + // If present, the summary/snippet of the fact. + Summary *string `protobuf:"bytes,4,opt,name=summary,proto3,oneof" json:"summary,omitempty"` + // If present, the distance between the query vector and this fact vector. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_service.proto. + VectorDistance *float64 `protobuf:"fixed64,5,opt,name=vector_distance,json=vectorDistance,proto3,oneof" json:"vector_distance,omitempty"` + // If present, according to the underlying Vector DB and the selected metric + // type, the score can be either the distance or the similarity between the + // query and the fact and its range depends on the metric type. + // + // For example, if the metric type is COSINE_DISTANCE, it represents the + // distance between the query and the fact. The larger the distance, the less + // relevant the fact is to the query. The range is [0, 2], while 0 means the + // most relevant and 2 means the least relevant. + Score *float64 `protobuf:"fixed64,6,opt,name=score,proto3,oneof" json:"score,omitempty"` +} + +func (x *Fact) Reset() { + *x = Fact{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Fact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fact) ProtoMessage() {} + +func (x *Fact) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 Fact.ProtoReflect.Descriptor instead. +func (*Fact) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{8} +} + +func (x *Fact) GetQuery() string { + if x != nil && x.Query != nil { + return *x.Query + } + return "" +} + +func (x *Fact) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *Fact) GetUri() string { + if x != nil && x.Uri != nil { + return *x.Uri + } + return "" +} + +func (x *Fact) GetSummary() string { + if x != nil && x.Summary != nil { + return *x.Summary + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_service.proto. +func (x *Fact) GetVectorDistance() float64 { + if x != nil && x.VectorDistance != nil { + return *x.VectorDistance + } + return 0 +} + +func (x *Fact) GetScore() float64 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +// Claim that is extracted from the input text and facts that support it. +type Claim struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Index in the input text where the claim starts (inclusive). + StartIndex *int32 `protobuf:"varint,1,opt,name=start_index,json=startIndex,proto3,oneof" json:"start_index,omitempty"` + // Index in the input text where the claim ends (exclusive). + EndIndex *int32 `protobuf:"varint,2,opt,name=end_index,json=endIndex,proto3,oneof" json:"end_index,omitempty"` + // Indexes of the facts supporting this claim. + FactIndexes []int32 `protobuf:"varint,3,rep,packed,name=fact_indexes,json=factIndexes,proto3" json:"fact_indexes,omitempty"` + // Confidence score of this corroboration. + Score *float32 `protobuf:"fixed32,4,opt,name=score,proto3,oneof" json:"score,omitempty"` +} + +func (x *Claim) Reset() { + *x = Claim{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Claim) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Claim) ProtoMessage() {} + +func (x *Claim) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 Claim.ProtoReflect.Descriptor instead. +func (*Claim) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{9} +} + +func (x *Claim) GetStartIndex() int32 { + if x != nil && x.StartIndex != nil { + return *x.StartIndex + } + return 0 +} + +func (x *Claim) GetEndIndex() int32 { + if x != nil && x.EndIndex != nil { + return *x.EndIndex + } + return 0 +} + +func (x *Claim) GetFactIndexes() []int32 { + if x != nil { + return x.FactIndexes + } + return nil +} + +func (x *Claim) GetScore() float32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +// The data source for Vertex RagStore. +type RetrieveContextsRequest_VertexRagStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The representation of the rag source. It can be used to specify + // corpus only or ragfiles. Currently only support one corpus or multiple + // files from one corpus. In the future we may open up multiple corpora + // support. + RagResources []*RetrieveContextsRequest_VertexRagStore_RagResource `protobuf:"bytes,3,rep,name=rag_resources,json=ragResources,proto3" json:"rag_resources,omitempty"` + // Optional. Only return contexts with vector distance smaller than the + // threshold. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_service.proto. + VectorDistanceThreshold *float64 `protobuf:"fixed64,2,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof" json:"vector_distance_threshold,omitempty"` +} + +func (x *RetrieveContextsRequest_VertexRagStore) Reset() { + *x = RetrieveContextsRequest_VertexRagStore{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveContextsRequest_VertexRagStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveContextsRequest_VertexRagStore) ProtoMessage() {} + +func (x *RetrieveContextsRequest_VertexRagStore) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RetrieveContextsRequest_VertexRagStore.ProtoReflect.Descriptor instead. +func (*RetrieveContextsRequest_VertexRagStore) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *RetrieveContextsRequest_VertexRagStore) GetRagResources() []*RetrieveContextsRequest_VertexRagStore_RagResource { + if x != nil { + return x.RagResources + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/vertex_rag_service.proto. +func (x *RetrieveContextsRequest_VertexRagStore) GetVectorDistanceThreshold() float64 { + if x != nil && x.VectorDistanceThreshold != nil { + return *x.VectorDistanceThreshold + } + return 0 +} + +// The definition of the Rag resource. +type RetrieveContextsRequest_VertexRagStore_RagResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. RagCorpora resource name. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + RagCorpus string `protobuf:"bytes,1,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"` + // Optional. rag_file_id. The files should be in the same rag_corpus set + // in rag_corpus field. + RagFileIds []string `protobuf:"bytes,2,rep,name=rag_file_ids,json=ragFileIds,proto3" json:"rag_file_ids,omitempty"` +} + +func (x *RetrieveContextsRequest_VertexRagStore_RagResource) Reset() { + *x = RetrieveContextsRequest_VertexRagStore_RagResource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RetrieveContextsRequest_VertexRagStore_RagResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveContextsRequest_VertexRagStore_RagResource) ProtoMessage() {} + +func (x *RetrieveContextsRequest_VertexRagStore_RagResource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RetrieveContextsRequest_VertexRagStore_RagResource.ProtoReflect.Descriptor instead. +func (*RetrieveContextsRequest_VertexRagStore_RagResource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{1, 0, 0} +} + +func (x *RetrieveContextsRequest_VertexRagStore_RagResource) GetRagCorpus() string { + if x != nil { + return x.RagCorpus + } + return "" +} + +func (x *RetrieveContextsRequest_VertexRagStore_RagResource) GetRagFileIds() []string { + if x != nil { + return x.RagFileIds + } + return nil +} + +// A context of the query. +type RagContexts_Context struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If the file is imported from Cloud Storage or Google Drive, source_uri + // will be original file URI in Cloud Storage or Google Drive; if file is + // uploaded, source_uri will be file display name. + SourceUri string `protobuf:"bytes,1,opt,name=source_uri,json=sourceUri,proto3" json:"source_uri,omitempty"` + // The file display name. + SourceDisplayName string `protobuf:"bytes,5,opt,name=source_display_name,json=sourceDisplayName,proto3" json:"source_display_name,omitempty"` + // The text chunk. + Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` + // According to the underlying Vector DB and the selected metric type, the + // score can be either the distance or the similarity between the query and + // the context and its range depends on the metric type. + // + // For example, if the metric type is COSINE_DISTANCE, it represents the + // distance between the query and the context. The larger the distance, the + // less relevant the context is to the query. The range is [0, 2], while 0 + // means the most relevant and 2 means the least relevant. + Score *float64 `protobuf:"fixed64,6,opt,name=score,proto3,oneof" json:"score,omitempty"` +} + +func (x *RagContexts_Context) Reset() { + *x = RagContexts_Context{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RagContexts_Context) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RagContexts_Context) ProtoMessage() {} + +func (x *RagContexts_Context) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 RagContexts_Context.ProtoReflect.Descriptor instead. +func (*RagContexts_Context) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *RagContexts_Context) GetSourceUri() string { + if x != nil { + return x.SourceUri + } + return "" +} + +func (x *RagContexts_Context) GetSourceDisplayName() string { + if x != nil { + return x.SourceDisplayName + } + return "" +} + +func (x *RagContexts_Context) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *RagContexts_Context) GetScore() float64 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +// Metadata of the backend deployed model. +type AugmentPromptRequest_Model struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The model that the user will send the augmented prompt for + // content generation. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Optional. The model version of the backend deployed model. + ModelVersion string `protobuf:"bytes,2,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"` +} + +func (x *AugmentPromptRequest_Model) Reset() { + *x = AugmentPromptRequest_Model{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AugmentPromptRequest_Model) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AugmentPromptRequest_Model) ProtoMessage() {} + +func (x *AugmentPromptRequest_Model) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 AugmentPromptRequest_Model.ProtoReflect.Descriptor instead. +func (*AugmentPromptRequest_Model) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *AugmentPromptRequest_Model) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *AugmentPromptRequest_Model) GetModelVersion() string { + if x != nil { + return x.ModelVersion + } + return "" +} + +// Parameters that can be overrided per request. +type CorroborateContentRequest_Parameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Only return claims with citation score larger than the + // threshold. + CitationThreshold float64 `protobuf:"fixed64,1,opt,name=citation_threshold,json=citationThreshold,proto3" json:"citation_threshold,omitempty"` +} + +func (x *CorroborateContentRequest_Parameters) Reset() { + *x = CorroborateContentRequest_Parameters{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CorroborateContentRequest_Parameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CorroborateContentRequest_Parameters) ProtoMessage() {} + +func (x *CorroborateContentRequest_Parameters) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_vertex_rag_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 CorroborateContentRequest_Parameters.ProtoReflect.Descriptor instead. +func (*CorroborateContentRequest_Parameters) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *CorroborateContentRequest_Parameters) GetCitationThreshold() float64 { + if x != nil { + return x.CitationThreshold + } + return 0 +} + +var File_google_cloud_aiplatform_v1_vertex_rag_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x19, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x65, 0x0a, + 0x14, 0x72, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x12, 0x72, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x92, 0x05, + 0x0a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x10, 0x76, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, + 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x1a, 0xf3, 0x02, + 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x12, 0x78, 0x0a, 0x0d, 0x72, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x19, 0x76, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xe0, + 0x41, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x17, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, + 0x01, 0x01, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x25, 0x0a, 0x23, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, + 0x70, 0x75, 0x73, 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x25, + 0x0a, 0x0c, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x49, 0x64, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x1a, + 0x91, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x22, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x43, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x14, 0x41, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, + 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, + 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, + 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x1a, 0x4c, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x15, 0x41, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, + 0x10, 0x61, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x61, 0x75, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x36, 0x0a, + 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x74, 0x52, 0x05, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x99, 0x03, 0x0a, 0x19, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x62, + 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 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, 0x0a, 0x21, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x3b, 0x0a, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x65, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x11, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x34, 0x0a, 0x13, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, + 0x12, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, + 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x85, 0x02, 0x0a, 0x04, 0x46, 0x61, + 0x63, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x88, 0x01, 0x01, 0x12, + 0x1d, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x30, + 0x0a, 0x0f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x02, 0x18, 0x01, 0x48, 0x04, 0x52, 0x0e, 0x76, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, + 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x69, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x05, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x24, 0x0a, 0x0b, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x61, 0x63, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x32, 0xe6, 0x05, 0x0a, 0x10, 0x56, 0x65, + 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xcd, + 0x01, 0x0a, 0x10, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 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, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 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, 0x7d, 0x3a, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0xd2, + 0x01, 0x0a, 0x0d, 0x41, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, + 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, + 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, 0x2a, + 0x22, 0x31, 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, 0x3a, 0x61, 0x75, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x14, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 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, 0x7d, + 0x3a, 0x63, 0x6f, 0x72, 0x72, 0x6f, 0x62, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x42, 0xd3, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x15, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, + 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, + 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescData = file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_aiplatform_v1_vertex_rag_service_proto_goTypes = []any{ + (*RagQuery)(nil), // 0: google.cloud.aiplatform.v1.RagQuery + (*RetrieveContextsRequest)(nil), // 1: google.cloud.aiplatform.v1.RetrieveContextsRequest + (*RagContexts)(nil), // 2: google.cloud.aiplatform.v1.RagContexts + (*RetrieveContextsResponse)(nil), // 3: google.cloud.aiplatform.v1.RetrieveContextsResponse + (*AugmentPromptRequest)(nil), // 4: google.cloud.aiplatform.v1.AugmentPromptRequest + (*AugmentPromptResponse)(nil), // 5: google.cloud.aiplatform.v1.AugmentPromptResponse + (*CorroborateContentRequest)(nil), // 6: google.cloud.aiplatform.v1.CorroborateContentRequest + (*CorroborateContentResponse)(nil), // 7: google.cloud.aiplatform.v1.CorroborateContentResponse + (*Fact)(nil), // 8: google.cloud.aiplatform.v1.Fact + (*Claim)(nil), // 9: google.cloud.aiplatform.v1.Claim + (*RetrieveContextsRequest_VertexRagStore)(nil), // 10: google.cloud.aiplatform.v1.RetrieveContextsRequest.VertexRagStore + (*RetrieveContextsRequest_VertexRagStore_RagResource)(nil), // 11: google.cloud.aiplatform.v1.RetrieveContextsRequest.VertexRagStore.RagResource + (*RagContexts_Context)(nil), // 12: google.cloud.aiplatform.v1.RagContexts.Context + (*AugmentPromptRequest_Model)(nil), // 13: google.cloud.aiplatform.v1.AugmentPromptRequest.Model + (*CorroborateContentRequest_Parameters)(nil), // 14: google.cloud.aiplatform.v1.CorroborateContentRequest.Parameters + (*RagRetrievalConfig)(nil), // 15: google.cloud.aiplatform.v1.RagRetrievalConfig + (*VertexRagStore)(nil), // 16: google.cloud.aiplatform.v1.VertexRagStore + (*Content)(nil), // 17: google.cloud.aiplatform.v1.Content +} +var file_google_cloud_aiplatform_v1_vertex_rag_service_proto_depIdxs = []int32{ + 15, // 0: google.cloud.aiplatform.v1.RagQuery.rag_retrieval_config:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig + 10, // 1: google.cloud.aiplatform.v1.RetrieveContextsRequest.vertex_rag_store:type_name -> google.cloud.aiplatform.v1.RetrieveContextsRequest.VertexRagStore + 0, // 2: google.cloud.aiplatform.v1.RetrieveContextsRequest.query:type_name -> google.cloud.aiplatform.v1.RagQuery + 12, // 3: google.cloud.aiplatform.v1.RagContexts.contexts:type_name -> google.cloud.aiplatform.v1.RagContexts.Context + 2, // 4: google.cloud.aiplatform.v1.RetrieveContextsResponse.contexts:type_name -> google.cloud.aiplatform.v1.RagContexts + 16, // 5: google.cloud.aiplatform.v1.AugmentPromptRequest.vertex_rag_store:type_name -> google.cloud.aiplatform.v1.VertexRagStore + 17, // 6: google.cloud.aiplatform.v1.AugmentPromptRequest.contents:type_name -> google.cloud.aiplatform.v1.Content + 13, // 7: google.cloud.aiplatform.v1.AugmentPromptRequest.model:type_name -> google.cloud.aiplatform.v1.AugmentPromptRequest.Model + 17, // 8: google.cloud.aiplatform.v1.AugmentPromptResponse.augmented_prompt:type_name -> google.cloud.aiplatform.v1.Content + 8, // 9: google.cloud.aiplatform.v1.AugmentPromptResponse.facts:type_name -> google.cloud.aiplatform.v1.Fact + 17, // 10: google.cloud.aiplatform.v1.CorroborateContentRequest.content:type_name -> google.cloud.aiplatform.v1.Content + 8, // 11: google.cloud.aiplatform.v1.CorroborateContentRequest.facts:type_name -> google.cloud.aiplatform.v1.Fact + 14, // 12: google.cloud.aiplatform.v1.CorroborateContentRequest.parameters:type_name -> google.cloud.aiplatform.v1.CorroborateContentRequest.Parameters + 9, // 13: google.cloud.aiplatform.v1.CorroborateContentResponse.claims:type_name -> google.cloud.aiplatform.v1.Claim + 11, // 14: google.cloud.aiplatform.v1.RetrieveContextsRequest.VertexRagStore.rag_resources:type_name -> google.cloud.aiplatform.v1.RetrieveContextsRequest.VertexRagStore.RagResource + 1, // 15: google.cloud.aiplatform.v1.VertexRagService.RetrieveContexts:input_type -> google.cloud.aiplatform.v1.RetrieveContextsRequest + 4, // 16: google.cloud.aiplatform.v1.VertexRagService.AugmentPrompt:input_type -> google.cloud.aiplatform.v1.AugmentPromptRequest + 6, // 17: google.cloud.aiplatform.v1.VertexRagService.CorroborateContent:input_type -> google.cloud.aiplatform.v1.CorroborateContentRequest + 3, // 18: google.cloud.aiplatform.v1.VertexRagService.RetrieveContexts:output_type -> google.cloud.aiplatform.v1.RetrieveContextsResponse + 5, // 19: google.cloud.aiplatform.v1.VertexRagService.AugmentPrompt:output_type -> google.cloud.aiplatform.v1.AugmentPromptResponse + 7, // 20: google.cloud.aiplatform.v1.VertexRagService.CorroborateContent:output_type -> google.cloud.aiplatform.v1.CorroborateContentResponse + 18, // [18:21] is the sub-list for method output_type + 15, // [15:18] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_vertex_rag_service_proto_init() } +func file_google_cloud_aiplatform_v1_vertex_rag_service_proto_init() { + if File_google_cloud_aiplatform_v1_vertex_rag_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1_content_proto_init() + file_google_cloud_aiplatform_v1_tool_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*RagQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*RetrieveContextsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*RagContexts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*RetrieveContextsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*AugmentPromptRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*AugmentPromptResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*CorroborateContentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*CorroborateContentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*Fact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*Claim); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*RetrieveContextsRequest_VertexRagStore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*RetrieveContextsRequest_VertexRagStore_RagResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[12].Exporter = func(v any, i int) any { + switch v := v.(*RagContexts_Context); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*AugmentPromptRequest_Model); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*CorroborateContentRequest_Parameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[0].OneofWrappers = []any{ + (*RagQuery_Text)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[1].OneofWrappers = []any{ + (*RetrieveContextsRequest_VertexRagStore_)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[4].OneofWrappers = []any{ + (*AugmentPromptRequest_VertexRagStore)(nil), + } + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[6].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[7].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[8].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[9].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[10].OneofWrappers = []any{} + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes[12].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 15, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1_vertex_rag_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_vertex_rag_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_vertex_rag_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_vertex_rag_service_proto = out.File + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_vertex_rag_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1_vertex_rag_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 + +// VertexRagServiceClient is the client API for VertexRagService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type VertexRagServiceClient interface { + // Retrieves relevant contexts for a query. + RetrieveContexts(ctx context.Context, in *RetrieveContextsRequest, opts ...grpc.CallOption) (*RetrieveContextsResponse, error) + // Given an input prompt, it returns augmented prompt from vertex rag store + // + // to guide LLM towards generating grounded responses. + AugmentPrompt(ctx context.Context, in *AugmentPromptRequest, opts ...grpc.CallOption) (*AugmentPromptResponse, error) + // Given an input text, it returns a score that evaluates the factuality of + // the text. It also extracts and returns claims from the text and provides + // supporting facts. + CorroborateContent(ctx context.Context, in *CorroborateContentRequest, opts ...grpc.CallOption) (*CorroborateContentResponse, error) +} + +type vertexRagServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewVertexRagServiceClient(cc grpc.ClientConnInterface) VertexRagServiceClient { + return &vertexRagServiceClient{cc} +} + +func (c *vertexRagServiceClient) RetrieveContexts(ctx context.Context, in *RetrieveContextsRequest, opts ...grpc.CallOption) (*RetrieveContextsResponse, error) { + out := new(RetrieveContextsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagService/RetrieveContexts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagServiceClient) AugmentPrompt(ctx context.Context, in *AugmentPromptRequest, opts ...grpc.CallOption) (*AugmentPromptResponse, error) { + out := new(AugmentPromptResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagService/AugmentPrompt", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vertexRagServiceClient) CorroborateContent(ctx context.Context, in *CorroborateContentRequest, opts ...grpc.CallOption) (*CorroborateContentResponse, error) { + out := new(CorroborateContentResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.VertexRagService/CorroborateContent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// VertexRagServiceServer is the server API for VertexRagService service. +type VertexRagServiceServer interface { + // Retrieves relevant contexts for a query. + RetrieveContexts(context.Context, *RetrieveContextsRequest) (*RetrieveContextsResponse, error) + // Given an input prompt, it returns augmented prompt from vertex rag store + // + // to guide LLM towards generating grounded responses. + AugmentPrompt(context.Context, *AugmentPromptRequest) (*AugmentPromptResponse, error) + // Given an input text, it returns a score that evaluates the factuality of + // the text. It also extracts and returns claims from the text and provides + // supporting facts. + CorroborateContent(context.Context, *CorroborateContentRequest) (*CorroborateContentResponse, error) +} + +// UnimplementedVertexRagServiceServer can be embedded to have forward compatible implementations. +type UnimplementedVertexRagServiceServer struct { +} + +func (*UnimplementedVertexRagServiceServer) RetrieveContexts(context.Context, *RetrieveContextsRequest) (*RetrieveContextsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RetrieveContexts not implemented") +} +func (*UnimplementedVertexRagServiceServer) AugmentPrompt(context.Context, *AugmentPromptRequest) (*AugmentPromptResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AugmentPrompt not implemented") +} +func (*UnimplementedVertexRagServiceServer) CorroborateContent(context.Context, *CorroborateContentRequest) (*CorroborateContentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CorroborateContent not implemented") +} + +func RegisterVertexRagServiceServer(s *grpc.Server, srv VertexRagServiceServer) { + s.RegisterService(&_VertexRagService_serviceDesc, srv) +} + +func _VertexRagService_RetrieveContexts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RetrieveContextsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagServiceServer).RetrieveContexts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagService/RetrieveContexts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagServiceServer).RetrieveContexts(ctx, req.(*RetrieveContextsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagService_AugmentPrompt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AugmentPromptRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagServiceServer).AugmentPrompt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagService/AugmentPrompt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagServiceServer).AugmentPrompt(ctx, req.(*AugmentPromptRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VertexRagService_CorroborateContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CorroborateContentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VertexRagServiceServer).CorroborateContent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.VertexRagService/CorroborateContent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagServiceServer).CorroborateContent(ctx, req.(*CorroborateContentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _VertexRagService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1.VertexRagService", + HandlerType: (*VertexRagServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RetrieveContexts", + Handler: _VertexRagService_RetrieveContexts_Handler, + }, + { + MethodName: "AugmentPrompt", + Handler: _VertexRagService_AugmentPrompt_Handler, + }, + { + MethodName: "CorroborateContent", + Handler: _VertexRagService_CorroborateContent_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1/vertex_rag_service.proto", +} diff --git a/aiplatform/apiv1/auxiliary.go b/aiplatform/apiv1/auxiliary.go index 1434f90658ff..c5f7772755e7 100755 --- a/aiplatform/apiv1/auxiliary.go +++ b/aiplatform/apiv1/auxiliary.go @@ -1492,6 +1492,67 @@ func (op *CreatePersistentResourceOperation) Name() string { return op.lro.Name() } +// CreateRagCorpusOperation manages a long-running operation from CreateRagCorpus. +type CreateRagCorpusOperation struct { + lro *longrunning.Operation +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateRagCorpusOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + var resp aiplatformpb.RagCorpus + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateRagCorpusOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + var resp aiplatformpb.RagCorpus + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateRagCorpusOperation) Metadata() (*aiplatformpb.CreateRagCorpusOperationMetadata, error) { + var meta aiplatformpb.CreateRagCorpusOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateRagCorpusOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateRagCorpusOperation) Name() string { + return op.lro.Name() +} + // CreateSpecialistPoolOperation manages a long-running operation from CreateSpecialistPool. type CreateSpecialistPoolOperation struct { lro *longrunning.Operation @@ -3125,6 +3186,106 @@ func (op *DeletePipelineJobOperation) Name() string { return op.lro.Name() } +// DeleteRagCorpusOperation manages a long-running operation from DeleteRagCorpus. +type DeleteRagCorpusOperation struct { + lro *longrunning.Operation +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteRagCorpusOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteRagCorpusOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteRagCorpusOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { + var meta aiplatformpb.DeleteOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteRagCorpusOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteRagCorpusOperation) Name() string { + return op.lro.Name() +} + +// DeleteRagFileOperation manages a long-running operation from DeleteRagFile. +type DeleteRagFileOperation struct { + lro *longrunning.Operation +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteRagFileOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteRagFileOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteRagFileOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { + var meta aiplatformpb.DeleteOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteRagFileOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteRagFileOperation) Name() string { + return op.lro.Name() +} + // DeleteSavedQueryOperation manages a long-running operation from DeleteSavedQuery. type DeleteSavedQueryOperation struct { lro *longrunning.Operation @@ -3952,6 +4113,67 @@ func (op *ImportFeatureValuesOperation) Name() string { return op.lro.Name() } +// ImportRagFilesOperation manages a long-running operation from ImportRagFiles. +type ImportRagFilesOperation struct { + lro *longrunning.Operation +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ImportRagFilesOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.ImportRagFilesResponse, error) { + var resp aiplatformpb.ImportRagFilesResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ImportRagFilesOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.ImportRagFilesResponse, error) { + var resp aiplatformpb.ImportRagFilesResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ImportRagFilesOperation) Metadata() (*aiplatformpb.ImportRagFilesOperationMetadata, error) { + var meta aiplatformpb.ImportRagFilesOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ImportRagFilesOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ImportRagFilesOperation) Name() string { + return op.lro.Name() +} + // MutateDeployedIndexOperation manages a long-running operation from MutateDeployedIndex. type MutateDeployedIndexOperation struct { lro *longrunning.Operation @@ -5416,6 +5638,67 @@ func (op *UpdatePersistentResourceOperation) Name() string { return op.lro.Name() } +// UpdateRagCorpusOperation manages a long-running operation from UpdateRagCorpus. +type UpdateRagCorpusOperation struct { + lro *longrunning.Operation +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateRagCorpusOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + var resp aiplatformpb.RagCorpus + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *UpdateRagCorpusOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + var resp aiplatformpb.RagCorpus + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *UpdateRagCorpusOperation) Metadata() (*aiplatformpb.UpdateRagCorpusOperationMetadata, error) { + var meta aiplatformpb.UpdateRagCorpusOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateRagCorpusOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *UpdateRagCorpusOperation) Name() string { + return op.lro.Name() +} + // UpdateSpecialistPoolOperation manages a long-running operation from UpdateSpecialistPool. type UpdateSpecialistPoolOperation struct { lro *longrunning.Operation @@ -7587,6 +7870,100 @@ func (it *PipelineJobIterator) takeBuf() interface{} { return b } +// RagCorpusIterator manages a stream of *aiplatformpb.RagCorpus. +type RagCorpusIterator struct { + items []*aiplatformpb.RagCorpus + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*aiplatformpb.RagCorpus, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *RagCorpusIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RagCorpusIterator) Next() (*aiplatformpb.RagCorpus, error) { + var item *aiplatformpb.RagCorpus + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RagCorpusIterator) bufLen() int { + return len(it.items) +} + +func (it *RagCorpusIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// RagFileIterator manages a stream of *aiplatformpb.RagFile. +type RagFileIterator struct { + items []*aiplatformpb.RagFile + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*aiplatformpb.RagFile, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *RagFileIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RagFileIterator) Next() (*aiplatformpb.RagFile, error) { + var item *aiplatformpb.RagFile + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RagFileIterator) bufLen() int { + return len(it.items) +} + +func (it *RagFileIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // SavedQueryIterator manages a stream of *aiplatformpb.SavedQuery. type SavedQueryIterator struct { items []*aiplatformpb.SavedQuery diff --git a/aiplatform/apiv1/auxiliary_go123.go b/aiplatform/apiv1/auxiliary_go123.go index 9c4443af031c..084be520a4ab 100755 --- a/aiplatform/apiv1/auxiliary_go123.go +++ b/aiplatform/apiv1/auxiliary_go123.go @@ -273,6 +273,18 @@ func (it *PipelineJobIterator) All() iter.Seq2[*aiplatformpb.PipelineJob, error] return iterator.RangeAdapter(it.Next) } +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *RagCorpusIterator) All() iter.Seq2[*aiplatformpb.RagCorpus, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *RagFileIterator) All() iter.Seq2[*aiplatformpb.RagFile, error] { + return iterator.RangeAdapter(it.Next) +} + // All returns an iterator. If an error is returned by the iterator, the // iterator will stop after that iteration. func (it *SavedQueryIterator) All() iter.Seq2[*aiplatformpb.SavedQuery, error] { diff --git a/aiplatform/apiv1/gapic_metadata.json b/aiplatform/apiv1/gapic_metadata.json index 1217ea4c1f1e..1bba3386b4d5 100644 --- a/aiplatform/apiv1/gapic_metadata.json +++ b/aiplatform/apiv1/gapic_metadata.json @@ -2969,6 +2969,189 @@ } } }, + "VertexRagDataService": { + "clients": { + "grpc": { + "libraryClient": "VertexRagDataClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateRagCorpus": { + "methods": [ + "CreateRagCorpus" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteRagCorpus": { + "methods": [ + "DeleteRagCorpus" + ] + }, + "DeleteRagFile": { + "methods": [ + "DeleteRagFile" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetRagCorpus": { + "methods": [ + "GetRagCorpus" + ] + }, + "GetRagFile": { + "methods": [ + "GetRagFile" + ] + }, + "ImportRagFiles": { + "methods": [ + "ImportRagFiles" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListRagCorpora": { + "methods": [ + "ListRagCorpora" + ] + }, + "ListRagFiles": { + "methods": [ + "ListRagFiles" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpdateRagCorpus": { + "methods": [ + "UpdateRagCorpus" + ] + }, + "UploadRagFile": { + "methods": [ + "UploadRagFile" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, + "VertexRagService": { + "clients": { + "grpc": { + "libraryClient": "VertexRagClient", + "rpcs": { + "AugmentPrompt": { + "methods": [ + "AugmentPrompt" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CorroborateContent": { + "methods": [ + "CorroborateContent" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "RetrieveContexts": { + "methods": [ + "RetrieveContexts" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, "VizierService": { "clients": { "grpc": { diff --git a/aiplatform/apiv1/vertex_rag_client.go b/aiplatform/apiv1/vertex_rag_client.go new file mode 100755 index 000000000000..7a16c17a41b5 --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_client.go @@ -0,0 +1,587 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +package aiplatform + +import ( + "context" + "fmt" + "math" + "net/url" + + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/proto" +) + +var newVertexRagClientHook clientHook + +// VertexRagCallOptions contains the retry settings for each method of VertexRagClient. +type VertexRagCallOptions struct { + RetrieveContexts []gax.CallOption + AugmentPrompt []gax.CallOption + CorroborateContent []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption + WaitOperation []gax.CallOption +} + +func defaultVertexRagGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("aiplatform.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("aiplatform.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("aiplatform.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://aiplatform.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultVertexRagCallOptions() *VertexRagCallOptions { + return &VertexRagCallOptions{ + RetrieveContexts: []gax.CallOption{}, + AugmentPrompt: []gax.CallOption{}, + CorroborateContent: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + WaitOperation: []gax.CallOption{}, + } +} + +// internalVertexRagClient is an interface that defines the methods available from Vertex AI API. +type internalVertexRagClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + RetrieveContexts(context.Context, *aiplatformpb.RetrieveContextsRequest, ...gax.CallOption) (*aiplatformpb.RetrieveContextsResponse, error) + AugmentPrompt(context.Context, *aiplatformpb.AugmentPromptRequest, ...gax.CallOption) (*aiplatformpb.AugmentPromptResponse, error) + CorroborateContent(context.Context, *aiplatformpb.CorroborateContentRequest, ...gax.CallOption) (*aiplatformpb.CorroborateContentResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator + WaitOperation(context.Context, *longrunningpb.WaitOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) +} + +// VertexRagClient is a client for interacting with Vertex AI API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// A service for retrieving relevant contexts. +type VertexRagClient struct { + // The internal transport-dependent client. + internalClient internalVertexRagClient + + // The call options for this service. + CallOptions *VertexRagCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *VertexRagClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *VertexRagClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *VertexRagClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// RetrieveContexts retrieves relevant contexts for a query. +func (c *VertexRagClient) RetrieveContexts(ctx context.Context, req *aiplatformpb.RetrieveContextsRequest, opts ...gax.CallOption) (*aiplatformpb.RetrieveContextsResponse, error) { + return c.internalClient.RetrieveContexts(ctx, req, opts...) +} + +// AugmentPrompt given an input prompt, it returns augmented prompt from vertex rag store +// to guide LLM towards generating grounded responses. +func (c *VertexRagClient) AugmentPrompt(ctx context.Context, req *aiplatformpb.AugmentPromptRequest, opts ...gax.CallOption) (*aiplatformpb.AugmentPromptResponse, error) { + return c.internalClient.AugmentPrompt(ctx, req, opts...) +} + +// CorroborateContent given an input text, it returns a score that evaluates the factuality of +// the text. It also extracts and returns claims from the text and provides +// supporting facts. +func (c *VertexRagClient) CorroborateContent(ctx context.Context, req *aiplatformpb.CorroborateContentRequest, opts ...gax.CallOption) (*aiplatformpb.CorroborateContentResponse, error) { + return c.internalClient.CorroborateContent(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *VertexRagClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +func (c *VertexRagClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// GetIamPolicy gets the access control policy for a resource. Returns an empty policy +// if the resource exists and does not have a policy set. +func (c *VertexRagClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(ctx, req, opts...) +} + +// SetIamPolicy sets the access control policy on the specified resource. Replaces +// any existing policy. +// +// Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED +// errors. +func (c *VertexRagClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(ctx, req, opts...) +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. If the +// resource does not exist, this will return an empty set of +// permissions, not a NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware UIs and command-line tools, not for authorization +// checking. This operation may “fail open” without warning. +func (c *VertexRagClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *VertexRagClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// WaitOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.WaitOperation(ctx, req, opts...) +} + +// vertexRagGRPCClient is a client for interacting with Vertex AI API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type vertexRagGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing VertexRagClient + CallOptions **VertexRagCallOptions + + // The gRPC API client. + vertexRagClient aiplatformpb.VertexRagServiceClient + + operationsClient longrunningpb.OperationsClient + + iamPolicyClient iampb.IAMPolicyClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string +} + +// NewVertexRagClient creates a new vertex rag service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// A service for retrieving relevant contexts. +func NewVertexRagClient(ctx context.Context, opts ...option.ClientOption) (*VertexRagClient, error) { + clientOpts := defaultVertexRagGRPCClientOptions() + if newVertexRagClientHook != nil { + hookOpts, err := newVertexRagClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := VertexRagClient{CallOptions: defaultVertexRagCallOptions()} + + c := &vertexRagGRPCClient{ + connPool: connPool, + vertexRagClient: aiplatformpb.NewVertexRagServiceClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *vertexRagGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *vertexRagGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *vertexRagGRPCClient) Close() error { + return c.connPool.Close() +} + +func (c *vertexRagGRPCClient) RetrieveContexts(ctx context.Context, req *aiplatformpb.RetrieveContextsRequest, opts ...gax.CallOption) (*aiplatformpb.RetrieveContextsResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RetrieveContexts[0:len((*c.CallOptions).RetrieveContexts):len((*c.CallOptions).RetrieveContexts)], opts...) + var resp *aiplatformpb.RetrieveContextsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagClient.RetrieveContexts(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) AugmentPrompt(ctx context.Context, req *aiplatformpb.AugmentPromptRequest, opts ...gax.CallOption) (*aiplatformpb.AugmentPromptResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).AugmentPrompt[0:len((*c.CallOptions).AugmentPrompt):len((*c.CallOptions).AugmentPrompt)], opts...) + var resp *aiplatformpb.AugmentPromptResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagClient.AugmentPrompt(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) CorroborateContent(ctx context.Context, req *aiplatformpb.CorroborateContentRequest, opts ...gax.CallOption) (*aiplatformpb.CorroborateContentResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CorroborateContent[0:len((*c.CallOptions).CorroborateContent):len((*c.CallOptions).CorroborateContent)], opts...) + var resp *aiplatformpb.CorroborateContentResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagClient.CorroborateContent(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.GetLocation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.ListLocations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.GetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.SetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + var resp *iampb.TestIamPermissionsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.TestIamPermissions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.CancelOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *vertexRagGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.DeleteOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *vertexRagGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagGRPCClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).WaitOperation[0:len((*c.CallOptions).WaitOperation):len((*c.CallOptions).WaitOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.WaitOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/aiplatform/apiv1/vertex_rag_client_example_go123_test.go b/aiplatform/apiv1/vertex_rag_client_example_go123_test.go new file mode 100644 index 000000000000..9ec7cf3d2f01 --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_client_example_go123_test.go @@ -0,0 +1,79 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +//go:build go1.23 + +package aiplatform_test + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleVertexRagClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleVertexRagClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/aiplatform/apiv1/vertex_rag_client_example_test.go b/aiplatform/apiv1/vertex_rag_client_example_test.go new file mode 100644 index 000000000000..038e9a038b45 --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_client_example_test.go @@ -0,0 +1,390 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +package aiplatform_test + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewVertexRagClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleVertexRagClient_AugmentPrompt() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AugmentPromptRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#AugmentPromptRequest. + } + resp, err := c.AugmentPrompt(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_CorroborateContent() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CorroborateContentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CorroborateContentRequest. + } + resp, err := c.CorroborateContent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_RetrieveContexts() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.RetrieveContextsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#RetrieveContextsRequest. + } + resp, err := c.RetrieveContexts(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleVertexRagClient_GetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_SetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_TestIamPermissions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +func ExampleVertexRagClient_WaitOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.WaitOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. + } + resp, err := c.WaitOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/aiplatform/apiv1/vertex_rag_data_client.go b/aiplatform/apiv1/vertex_rag_data_client.go new file mode 100755 index 000000000000..e30703208f38 --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_data_client.go @@ -0,0 +1,930 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +package aiplatform + +import ( + "context" + "fmt" + "math" + "net/url" + + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + iampb "cloud.google.com/go/iam/apiv1/iampb" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/proto" +) + +var newVertexRagDataClientHook clientHook + +// VertexRagDataCallOptions contains the retry settings for each method of VertexRagDataClient. +type VertexRagDataCallOptions struct { + CreateRagCorpus []gax.CallOption + UpdateRagCorpus []gax.CallOption + GetRagCorpus []gax.CallOption + ListRagCorpora []gax.CallOption + DeleteRagCorpus []gax.CallOption + UploadRagFile []gax.CallOption + ImportRagFiles []gax.CallOption + GetRagFile []gax.CallOption + ListRagFiles []gax.CallOption + DeleteRagFile []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption + WaitOperation []gax.CallOption +} + +func defaultVertexRagDataGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("aiplatform.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("aiplatform.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("aiplatform.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://aiplatform.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultVertexRagDataCallOptions() *VertexRagDataCallOptions { + return &VertexRagDataCallOptions{ + CreateRagCorpus: []gax.CallOption{}, + UpdateRagCorpus: []gax.CallOption{}, + GetRagCorpus: []gax.CallOption{}, + ListRagCorpora: []gax.CallOption{}, + DeleteRagCorpus: []gax.CallOption{}, + UploadRagFile: []gax.CallOption{}, + ImportRagFiles: []gax.CallOption{}, + GetRagFile: []gax.CallOption{}, + ListRagFiles: []gax.CallOption{}, + DeleteRagFile: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + WaitOperation: []gax.CallOption{}, + } +} + +// internalVertexRagDataClient is an interface that defines the methods available from Vertex AI API. +type internalVertexRagDataClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreateRagCorpus(context.Context, *aiplatformpb.CreateRagCorpusRequest, ...gax.CallOption) (*CreateRagCorpusOperation, error) + CreateRagCorpusOperation(name string) *CreateRagCorpusOperation + UpdateRagCorpus(context.Context, *aiplatformpb.UpdateRagCorpusRequest, ...gax.CallOption) (*UpdateRagCorpusOperation, error) + UpdateRagCorpusOperation(name string) *UpdateRagCorpusOperation + GetRagCorpus(context.Context, *aiplatformpb.GetRagCorpusRequest, ...gax.CallOption) (*aiplatformpb.RagCorpus, error) + ListRagCorpora(context.Context, *aiplatformpb.ListRagCorporaRequest, ...gax.CallOption) *RagCorpusIterator + DeleteRagCorpus(context.Context, *aiplatformpb.DeleteRagCorpusRequest, ...gax.CallOption) (*DeleteRagCorpusOperation, error) + DeleteRagCorpusOperation(name string) *DeleteRagCorpusOperation + UploadRagFile(context.Context, *aiplatformpb.UploadRagFileRequest, ...gax.CallOption) (*aiplatformpb.UploadRagFileResponse, error) + ImportRagFiles(context.Context, *aiplatformpb.ImportRagFilesRequest, ...gax.CallOption) (*ImportRagFilesOperation, error) + ImportRagFilesOperation(name string) *ImportRagFilesOperation + GetRagFile(context.Context, *aiplatformpb.GetRagFileRequest, ...gax.CallOption) (*aiplatformpb.RagFile, error) + ListRagFiles(context.Context, *aiplatformpb.ListRagFilesRequest, ...gax.CallOption) *RagFileIterator + DeleteRagFile(context.Context, *aiplatformpb.DeleteRagFileRequest, ...gax.CallOption) (*DeleteRagFileOperation, error) + DeleteRagFileOperation(name string) *DeleteRagFileOperation + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator + WaitOperation(context.Context, *longrunningpb.WaitOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) +} + +// VertexRagDataClient is a client for interacting with Vertex AI API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// A service for managing user data for RAG. +type VertexRagDataClient struct { + // The internal transport-dependent client. + internalClient internalVertexRagDataClient + + // The call options for this service. + CallOptions *VertexRagDataCallOptions + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *VertexRagDataClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *VertexRagDataClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *VertexRagDataClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreateRagCorpus creates a RagCorpus. +func (c *VertexRagDataClient) CreateRagCorpus(ctx context.Context, req *aiplatformpb.CreateRagCorpusRequest, opts ...gax.CallOption) (*CreateRagCorpusOperation, error) { + return c.internalClient.CreateRagCorpus(ctx, req, opts...) +} + +// CreateRagCorpusOperation returns a new CreateRagCorpusOperation from a given name. +// The name must be that of a previously created CreateRagCorpusOperation, possibly from a different process. +func (c *VertexRagDataClient) CreateRagCorpusOperation(name string) *CreateRagCorpusOperation { + return c.internalClient.CreateRagCorpusOperation(name) +} + +// UpdateRagCorpus updates a RagCorpus. +func (c *VertexRagDataClient) UpdateRagCorpus(ctx context.Context, req *aiplatformpb.UpdateRagCorpusRequest, opts ...gax.CallOption) (*UpdateRagCorpusOperation, error) { + return c.internalClient.UpdateRagCorpus(ctx, req, opts...) +} + +// UpdateRagCorpusOperation returns a new UpdateRagCorpusOperation from a given name. +// The name must be that of a previously created UpdateRagCorpusOperation, possibly from a different process. +func (c *VertexRagDataClient) UpdateRagCorpusOperation(name string) *UpdateRagCorpusOperation { + return c.internalClient.UpdateRagCorpusOperation(name) +} + +// GetRagCorpus gets a RagCorpus. +func (c *VertexRagDataClient) GetRagCorpus(ctx context.Context, req *aiplatformpb.GetRagCorpusRequest, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + return c.internalClient.GetRagCorpus(ctx, req, opts...) +} + +// ListRagCorpora lists RagCorpora in a Location. +func (c *VertexRagDataClient) ListRagCorpora(ctx context.Context, req *aiplatformpb.ListRagCorporaRequest, opts ...gax.CallOption) *RagCorpusIterator { + return c.internalClient.ListRagCorpora(ctx, req, opts...) +} + +// DeleteRagCorpus deletes a RagCorpus. +func (c *VertexRagDataClient) DeleteRagCorpus(ctx context.Context, req *aiplatformpb.DeleteRagCorpusRequest, opts ...gax.CallOption) (*DeleteRagCorpusOperation, error) { + return c.internalClient.DeleteRagCorpus(ctx, req, opts...) +} + +// DeleteRagCorpusOperation returns a new DeleteRagCorpusOperation from a given name. +// The name must be that of a previously created DeleteRagCorpusOperation, possibly from a different process. +func (c *VertexRagDataClient) DeleteRagCorpusOperation(name string) *DeleteRagCorpusOperation { + return c.internalClient.DeleteRagCorpusOperation(name) +} + +// UploadRagFile upload a file into a RagCorpus. +func (c *VertexRagDataClient) UploadRagFile(ctx context.Context, req *aiplatformpb.UploadRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.UploadRagFileResponse, error) { + return c.internalClient.UploadRagFile(ctx, req, opts...) +} + +// ImportRagFiles import files from Google Cloud Storage or Google Drive into a RagCorpus. +func (c *VertexRagDataClient) ImportRagFiles(ctx context.Context, req *aiplatformpb.ImportRagFilesRequest, opts ...gax.CallOption) (*ImportRagFilesOperation, error) { + return c.internalClient.ImportRagFiles(ctx, req, opts...) +} + +// ImportRagFilesOperation returns a new ImportRagFilesOperation from a given name. +// The name must be that of a previously created ImportRagFilesOperation, possibly from a different process. +func (c *VertexRagDataClient) ImportRagFilesOperation(name string) *ImportRagFilesOperation { + return c.internalClient.ImportRagFilesOperation(name) +} + +// GetRagFile gets a RagFile. +func (c *VertexRagDataClient) GetRagFile(ctx context.Context, req *aiplatformpb.GetRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.RagFile, error) { + return c.internalClient.GetRagFile(ctx, req, opts...) +} + +// ListRagFiles lists RagFiles in a RagCorpus. +func (c *VertexRagDataClient) ListRagFiles(ctx context.Context, req *aiplatformpb.ListRagFilesRequest, opts ...gax.CallOption) *RagFileIterator { + return c.internalClient.ListRagFiles(ctx, req, opts...) +} + +// DeleteRagFile deletes a RagFile. +func (c *VertexRagDataClient) DeleteRagFile(ctx context.Context, req *aiplatformpb.DeleteRagFileRequest, opts ...gax.CallOption) (*DeleteRagFileOperation, error) { + return c.internalClient.DeleteRagFile(ctx, req, opts...) +} + +// DeleteRagFileOperation returns a new DeleteRagFileOperation from a given name. +// The name must be that of a previously created DeleteRagFileOperation, possibly from a different process. +func (c *VertexRagDataClient) DeleteRagFileOperation(name string) *DeleteRagFileOperation { + return c.internalClient.DeleteRagFileOperation(name) +} + +// GetLocation gets information about a location. +func (c *VertexRagDataClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +func (c *VertexRagDataClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// GetIamPolicy gets the access control policy for a resource. Returns an empty policy +// if the resource exists and does not have a policy set. +func (c *VertexRagDataClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(ctx, req, opts...) +} + +// SetIamPolicy sets the access control policy on the specified resource. Replaces +// any existing policy. +// +// Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED +// errors. +func (c *VertexRagDataClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(ctx, req, opts...) +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. If the +// resource does not exist, this will return an empty set of +// permissions, not a NOT_FOUND error. +// +// Note: This operation is designed to be used for building +// permission-aware UIs and command-line tools, not for authorization +// checking. This operation may “fail open” without warning. +func (c *VertexRagDataClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagDataClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagDataClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagDataClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *VertexRagDataClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// WaitOperation is a utility method from google.longrunning.Operations. +func (c *VertexRagDataClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.WaitOperation(ctx, req, opts...) +} + +// vertexRagDataGRPCClient is a client for interacting with Vertex AI API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type vertexRagDataGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing VertexRagDataClient + CallOptions **VertexRagDataCallOptions + + // The gRPC API client. + vertexRagDataClient aiplatformpb.VertexRagDataServiceClient + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + operationsClient longrunningpb.OperationsClient + + iamPolicyClient iampb.IAMPolicyClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string +} + +// NewVertexRagDataClient creates a new vertex rag data service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// A service for managing user data for RAG. +func NewVertexRagDataClient(ctx context.Context, opts ...option.ClientOption) (*VertexRagDataClient, error) { + clientOpts := defaultVertexRagDataGRPCClientOptions() + if newVertexRagDataClientHook != nil { + hookOpts, err := newVertexRagDataClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := VertexRagDataClient{CallOptions: defaultVertexRagDataCallOptions()} + + c := &vertexRagDataGRPCClient{ + connPool: connPool, + vertexRagDataClient: aiplatformpb.NewVertexRagDataServiceClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool)) + if err != nil { + // This error "should not happen", since we are just reusing old connection pool + // and never actually need to dial. + // If this does happen, we could leak connp. However, we cannot close conn: + // If the user invoked the constructor with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO: investigate error conditions. + return nil, err + } + c.LROClient = &client.LROClient + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *vertexRagDataGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *vertexRagDataGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *vertexRagDataGRPCClient) Close() error { + return c.connPool.Close() +} + +func (c *vertexRagDataGRPCClient) CreateRagCorpus(ctx context.Context, req *aiplatformpb.CreateRagCorpusRequest, opts ...gax.CallOption) (*CreateRagCorpusOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateRagCorpus[0:len((*c.CallOptions).CreateRagCorpus):len((*c.CallOptions).CreateRagCorpus)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.CreateRagCorpus(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *vertexRagDataGRPCClient) UpdateRagCorpus(ctx context.Context, req *aiplatformpb.UpdateRagCorpusRequest, opts ...gax.CallOption) (*UpdateRagCorpusOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "rag_corpus.name", url.QueryEscape(req.GetRagCorpus().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateRagCorpus[0:len((*c.CallOptions).UpdateRagCorpus):len((*c.CallOptions).UpdateRagCorpus)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.UpdateRagCorpus(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *vertexRagDataGRPCClient) GetRagCorpus(ctx context.Context, req *aiplatformpb.GetRagCorpusRequest, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetRagCorpus[0:len((*c.CallOptions).GetRagCorpus):len((*c.CallOptions).GetRagCorpus)], opts...) + var resp *aiplatformpb.RagCorpus + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.GetRagCorpus(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) ListRagCorpora(ctx context.Context, req *aiplatformpb.ListRagCorporaRequest, opts ...gax.CallOption) *RagCorpusIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListRagCorpora[0:len((*c.CallOptions).ListRagCorpora):len((*c.CallOptions).ListRagCorpora)], opts...) + it := &RagCorpusIterator{} + req = proto.Clone(req).(*aiplatformpb.ListRagCorporaRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.RagCorpus, string, error) { + resp := &aiplatformpb.ListRagCorporaResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.ListRagCorpora(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetRagCorpora(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagDataGRPCClient) DeleteRagCorpus(ctx context.Context, req *aiplatformpb.DeleteRagCorpusRequest, opts ...gax.CallOption) (*DeleteRagCorpusOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteRagCorpus[0:len((*c.CallOptions).DeleteRagCorpus):len((*c.CallOptions).DeleteRagCorpus)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.DeleteRagCorpus(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *vertexRagDataGRPCClient) UploadRagFile(ctx context.Context, req *aiplatformpb.UploadRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.UploadRagFileResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UploadRagFile[0:len((*c.CallOptions).UploadRagFile):len((*c.CallOptions).UploadRagFile)], opts...) + var resp *aiplatformpb.UploadRagFileResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.UploadRagFile(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) ImportRagFiles(ctx context.Context, req *aiplatformpb.ImportRagFilesRequest, opts ...gax.CallOption) (*ImportRagFilesOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ImportRagFiles[0:len((*c.CallOptions).ImportRagFiles):len((*c.CallOptions).ImportRagFiles)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.ImportRagFiles(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &ImportRagFilesOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *vertexRagDataGRPCClient) GetRagFile(ctx context.Context, req *aiplatformpb.GetRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.RagFile, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetRagFile[0:len((*c.CallOptions).GetRagFile):len((*c.CallOptions).GetRagFile)], opts...) + var resp *aiplatformpb.RagFile + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.GetRagFile(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) ListRagFiles(ctx context.Context, req *aiplatformpb.ListRagFilesRequest, opts ...gax.CallOption) *RagFileIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListRagFiles[0:len((*c.CallOptions).ListRagFiles):len((*c.CallOptions).ListRagFiles)], opts...) + it := &RagFileIterator{} + req = proto.Clone(req).(*aiplatformpb.ListRagFilesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.RagFile, string, error) { + resp := &aiplatformpb.ListRagFilesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.ListRagFiles(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetRagFiles(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagDataGRPCClient) DeleteRagFile(ctx context.Context, req *aiplatformpb.DeleteRagFileRequest, opts ...gax.CallOption) (*DeleteRagFileOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteRagFile[0:len((*c.CallOptions).DeleteRagFile):len((*c.CallOptions).DeleteRagFile)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.vertexRagDataClient.DeleteRagFile(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteRagFileOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *vertexRagDataGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.GetLocation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.ListLocations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagDataGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.GetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.SetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + var resp *iampb.TestIamPermissionsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.TestIamPermissions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.CancelOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *vertexRagDataGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.DeleteOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *vertexRagDataGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *vertexRagDataGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *vertexRagDataGRPCClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).WaitOperation[0:len((*c.CallOptions).WaitOperation):len((*c.CallOptions).WaitOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.WaitOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +// CreateRagCorpusOperation returns a new CreateRagCorpusOperation from a given name. +// The name must be that of a previously created CreateRagCorpusOperation, possibly from a different process. +func (c *vertexRagDataGRPCClient) CreateRagCorpusOperation(name string) *CreateRagCorpusOperation { + return &CreateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteRagCorpusOperation returns a new DeleteRagCorpusOperation from a given name. +// The name must be that of a previously created DeleteRagCorpusOperation, possibly from a different process. +func (c *vertexRagDataGRPCClient) DeleteRagCorpusOperation(name string) *DeleteRagCorpusOperation { + return &DeleteRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteRagFileOperation returns a new DeleteRagFileOperation from a given name. +// The name must be that of a previously created DeleteRagFileOperation, possibly from a different process. +func (c *vertexRagDataGRPCClient) DeleteRagFileOperation(name string) *DeleteRagFileOperation { + return &DeleteRagFileOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ImportRagFilesOperation returns a new ImportRagFilesOperation from a given name. +// The name must be that of a previously created ImportRagFilesOperation, possibly from a different process. +func (c *vertexRagDataGRPCClient) ImportRagFilesOperation(name string) *ImportRagFilesOperation { + return &ImportRagFilesOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateRagCorpusOperation returns a new UpdateRagCorpusOperation from a given name. +// The name must be that of a previously created UpdateRagCorpusOperation, possibly from a different process. +func (c *vertexRagDataGRPCClient) UpdateRagCorpusOperation(name string) *UpdateRagCorpusOperation { + return &UpdateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} diff --git a/aiplatform/apiv1/vertex_rag_data_client_example_go123_test.go b/aiplatform/apiv1/vertex_rag_data_client_example_go123_test.go new file mode 100644 index 000000000000..08dd8377578c --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_data_client_example_go123_test.go @@ -0,0 +1,132 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +//go:build go1.23 + +package aiplatform_test + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleVertexRagDataClient_ListRagCorpora_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagCorporaRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagCorporaRequest. + } + for resp, err := range c.ListRagCorpora(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleVertexRagDataClient_ListRagFiles_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagFilesRequest. + } + for resp, err := range c.ListRagFiles(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleVertexRagDataClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleVertexRagDataClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/aiplatform/apiv1/vertex_rag_data_client_example_test.go b/aiplatform/apiv1/vertex_rag_data_client_example_test.go new file mode 100644 index 000000000000..5884487ed089 --- /dev/null +++ b/aiplatform/apiv1/vertex_rag_data_client_example_test.go @@ -0,0 +1,610 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +package aiplatform_test + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewVertexRagDataClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleVertexRagDataClient_CreateRagCorpus() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreateRagCorpusRequest. + } + op, err := c.CreateRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_DeleteRagCorpus() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteRagCorpusRequest. + } + op, err := c.DeleteRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagDataClient_DeleteRagFile() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteRagFileRequest. + } + op, err := c.DeleteRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagDataClient_GetRagCorpus() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetRagCorpusRequest. + } + resp, err := c.GetRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_GetRagFile() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetRagFileRequest. + } + resp, err := c.GetRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_ImportRagFiles() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ImportRagFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ImportRagFilesRequest. + } + op, err := c.ImportRagFiles(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_ListRagCorpora() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagCorporaRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagCorporaRequest. + } + it := c.ListRagCorpora(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*aiplatformpb.ListRagCorporaResponse) + } +} + +func ExampleVertexRagDataClient_ListRagFiles() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagFilesRequest. + } + it := c.ListRagFiles(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*aiplatformpb.ListRagFilesResponse) + } +} + +func ExampleVertexRagDataClient_UpdateRagCorpus() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpdateRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpdateRagCorpusRequest. + } + op, err := c.UpdateRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_UploadRagFile() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UploadRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UploadRagFileRequest. + } + resp, err := c.UploadRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleVertexRagDataClient_GetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_SetIamPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_TestIamPermissions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagDataClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleVertexRagDataClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleVertexRagDataClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +func ExampleVertexRagDataClient_WaitOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.WaitOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. + } + resp, err := c.WaitOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/AugmentPrompt/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/AugmentPrompt/main.go new file mode 100644 index 000000000000..b4030f7976f7 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/AugmentPrompt/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_AugmentPrompt_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AugmentPromptRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#AugmentPromptRequest. + } + resp, err := c.AugmentPrompt(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_AugmentPrompt_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CancelOperation/main.go new file mode 100644 index 000000000000..1854ae3baed8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_CancelOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CorroborateContent/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CorroborateContent/main.go new file mode 100644 index 000000000000..9c4940f2bbe5 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/CorroborateContent/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_CorroborateContent_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CorroborateContentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CorroborateContentRequest. + } + resp, err := c.CorroborateContent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_CorroborateContent_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/DeleteOperation/main.go new file mode 100644 index 000000000000..4f011cd5644f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_DeleteOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..fce914cd5b28 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_GetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetLocation/main.go new file mode 100644 index 000000000000..b518d868f043 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_GetLocation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetOperation/main.go new file mode 100644 index 000000000000..8b34e358f970 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_GetOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListLocations/main.go new file mode 100644 index 000000000000..1da3d5d961a5 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_ListLocations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListOperations/main.go new file mode 100644 index 000000000000..90afdb4d722a --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_ListOperations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/RetrieveContexts/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/RetrieveContexts/main.go new file mode 100644 index 000000000000..a1cd2d3422af --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/RetrieveContexts/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_RetrieveContexts_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.RetrieveContextsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#RetrieveContextsRequest. + } + resp, err := c.RetrieveContexts(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_RetrieveContexts_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..dd637894bc08 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/SetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_SetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..169d3d45af71 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/TestIamPermissions/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_TestIamPermissions_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/WaitOperation/main.go new file mode 100644 index 000000000000..84184a84392d --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagClient/WaitOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagService_WaitOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.WaitOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. + } + resp, err := c.WaitOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CancelOperation/main.go new file mode 100644 index 000000000000..c1e23b023af7 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_CancelOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CreateRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CreateRagCorpus/main.go new file mode 100644 index 000000000000..8a12d6982c1a --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/CreateRagCorpus/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_CreateRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreateRagCorpusRequest. + } + op, err := c.CreateRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_CreateRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteOperation/main.go new file mode 100644 index 000000000000..19c01e28ae57 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_DeleteOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagCorpus/main.go new file mode 100644 index 000000000000..0dfe5c7f8053 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagCorpus/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_DeleteRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteRagCorpusRequest. + } + op, err := c.DeleteRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_DeleteRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagFile/main.go new file mode 100644 index 000000000000..d35200f452e7 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/DeleteRagFile/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_DeleteRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteRagFileRequest. + } + op, err := c.DeleteRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_DeleteRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..d69529331f5c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_GetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.GetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. + } + resp, err := c.GetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetLocation/main.go new file mode 100644 index 000000000000..55aa28bea313 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_GetLocation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetOperation/main.go new file mode 100644 index 000000000000..71628bd966b3 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_GetOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagCorpus/main.go new file mode 100644 index 000000000000..ea9f77a3f8b5 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagCorpus/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_GetRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetRagCorpusRequest. + } + resp, err := c.GetRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_GetRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagFile/main.go new file mode 100644 index 000000000000..0e928ab35782 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/GetRagFile/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_GetRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetRagFileRequest. + } + resp, err := c.GetRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_GetRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ImportRagFiles/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ImportRagFiles/main.go new file mode 100644 index 000000000000..2d596476c3a9 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ImportRagFiles/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_ImportRagFiles_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ImportRagFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ImportRagFilesRequest. + } + op, err := c.ImportRagFiles(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_ImportRagFiles_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListLocations/main.go new file mode 100644 index 000000000000..4ef7037250e1 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_ListLocations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListOperations/main.go new file mode 100644 index 000000000000..e8f2ae7719b2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_ListOperations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagCorpora/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagCorpora/main.go new file mode 100644 index 000000000000..f57d49b0f0ab --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagCorpora/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_ListRagCorpora_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagCorporaRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagCorporaRequest. + } + it := c.ListRagCorpora(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*aiplatformpb.ListRagCorporaResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_ListRagCorpora_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagFiles/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagFiles/main.go new file mode 100644 index 000000000000..ca0e87b2d0df --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/ListRagFiles/main.go @@ -0,0 +1,66 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_ListRagFiles_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListRagFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListRagFilesRequest. + } + it := c.ListRagFiles(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*aiplatformpb.ListRagFilesResponse) + } +} + +// [END aiplatform_v1_generated_VertexRagDataService_ListRagFiles_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..06aecf018e35 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/SetIamPolicy/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_SetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.SetIamPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. + } + resp, err := c.SetIamPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..99e3ededde7c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/TestIamPermissions/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_TestIamPermissions_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + iampb "cloud.google.com/go/iam/apiv1/iampb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &iampb.TestIamPermissionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. + } + resp, err := c.TestIamPermissions(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UpdateRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UpdateRagCorpus/main.go new file mode 100644 index 000000000000..ee688cbbdf90 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UpdateRagCorpus/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_UpdateRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpdateRagCorpusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpdateRagCorpusRequest. + } + op, err := c.UpdateRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_UpdateRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UploadRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UploadRagFile/main.go new file mode 100644 index 000000000000..2a991b134a7b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/UploadRagFile/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_UploadRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1/aiplatformpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UploadRagFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UploadRagFileRequest. + } + resp, err := c.UploadRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_UploadRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/WaitOperation/main.go new file mode 100644 index 000000000000..ed16832aa984 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/VertexRagDataClient/WaitOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START aiplatform_v1_generated_VertexRagDataService_WaitOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := aiplatform.NewVertexRagDataClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.WaitOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. + } + resp, err := c.WaitOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_VertexRagDataService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json index 058a496c43cd..0ae1f9a3b05f 100644 --- a/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json +++ b/internal/generated/snippets/aiplatform/apiv1/snippet_metadata.google.cloud.aiplatform.v1.json @@ -24817,6 +24817,1520 @@ } ] }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagDataClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_CreateRagCorpus_sync", + "title": "aiplatform CreateRagCorpus Sample", + "description": "CreateRagCorpus creates a RagCorpus.", + "file": "VertexRagDataClient/CreateRagCorpus/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.CreateRagCorpus", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreateRagCorpusRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateRagCorpusOperation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "CreateRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.CreateRagCorpus", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagDataClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_DeleteRagCorpus_sync", + "title": "aiplatform DeleteRagCorpus Sample", + "description": "DeleteRagCorpus deletes a RagCorpus.", + "file": "VertexRagDataClient/DeleteRagCorpus/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.DeleteRagCorpus", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteRagCorpusRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteRagCorpusOperation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "DeleteRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagCorpus", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_DeleteRagFile_sync", + "title": "aiplatform DeleteRagFile Sample", + "description": "DeleteRagFile deletes a RagFile.", + "file": "VertexRagDataClient/DeleteRagFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.DeleteRagFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteRagFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteRagFileOperation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "DeleteRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.DeleteRagFile", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_GetIamPolicy_sync", + "title": "aiplatform GetIamPolicy Sample", + "description": "GetIamPolicy gets the access control policy for a resource. Returns an empty policy\nif the resource exists and does not have a policy set.", + "file": "VertexRagDataClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "VertexRagDataClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagDataClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_GetRagCorpus_sync", + "title": "aiplatform GetRagCorpus Sample", + "description": "GetRagCorpus gets a RagCorpus.", + "file": "VertexRagDataClient/GetRagCorpus/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.GetRagCorpus", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetRagCorpusRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.RagCorpus", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "GetRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.GetRagCorpus", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_GetRagFile_sync", + "title": "aiplatform GetRagFile Sample", + "description": "GetRagFile gets a RagFile.", + "file": "VertexRagDataClient/GetRagFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.GetRagFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetRagFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.RagFile", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "GetRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.GetRagFile", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_ImportRagFiles_sync", + "title": "aiplatform ImportRagFiles Sample", + "description": "ImportRagFiles import files from Google Cloud Storage or Google Drive into a RagCorpus.", + "file": "VertexRagDataClient/ImportRagFiles/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ImportRagFiles", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.ImportRagFiles", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ImportRagFilesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ImportRagFilesOperation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "ImportRagFiles", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.ImportRagFiles", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "VertexRagDataClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "VertexRagDataClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_ListRagCorpora_sync", + "title": "aiplatform ListRagCorpora Sample", + "description": "ListRagCorpora lists RagCorpora in a Location.", + "file": "VertexRagDataClient/ListRagCorpora/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListRagCorpora", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.ListRagCorpora", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListRagCorporaRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "RagCorpusIterator", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "ListRagCorpora", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.ListRagCorpora", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_ListRagFiles_sync", + "title": "aiplatform ListRagFiles Sample", + "description": "ListRagFiles lists RagFiles in a RagCorpus.", + "file": "VertexRagDataClient/ListRagFiles/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListRagFiles", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.ListRagFiles", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListRagFilesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "RagFileIterator", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "ListRagFiles", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.ListRagFiles", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_SetIamPolicy_sync", + "title": "aiplatform SetIamPolicy Sample", + "description": "SetIamPolicy sets the access control policy on the specified resource. Replaces\nany existing policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`\nerrors.", + "file": "VertexRagDataClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_TestIamPermissions_sync", + "title": "aiplatform TestIamPermissions Sample", + "description": "TestIamPermissions returns permissions that a caller has on the specified resource. If the\nresource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building\npermission-aware UIs and command-line tools, not for authorization\nchecking. This operation may \"fail open\" without warning.", + "file": "VertexRagDataClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_UpdateRagCorpus_sync", + "title": "aiplatform UpdateRagCorpus Sample", + "description": "UpdateRagCorpus updates a RagCorpus.", + "file": "VertexRagDataClient/UpdateRagCorpus/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.UpdateRagCorpus", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.UpdateRagCorpusRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpdateRagCorpusOperation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "UpdateRagCorpus", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.UpdateRagCorpus", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_UploadRagFile_sync", + "title": "aiplatform UploadRagFile Sample", + "description": "UploadRagFile upload a file into a RagCorpus.", + "file": "VertexRagDataClient/UploadRagFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UploadRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.UploadRagFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.UploadRagFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.UploadRagFileResponse", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "UploadRagFile", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService.UploadRagFile", + "service": { + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagDataService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagDataClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagDataClient" + }, + "method": { + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_AugmentPrompt_sync", + "title": "aiplatform AugmentPrompt Sample", + "description": "AugmentPrompt given an input prompt, it returns augmented prompt from vertex rag store\nto guide LLM towards generating grounded responses.", + "file": "VertexRagClient/AugmentPrompt/main.go", + "language": "GO", + "clientMethod": { + "shortName": "AugmentPrompt", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.AugmentPrompt", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.AugmentPromptRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.AugmentPromptResponse", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "AugmentPrompt", + "fullName": "google.cloud.aiplatform.v1.VertexRagService.AugmentPrompt", + "service": { + "shortName": "VertexRagService", + "fullName": "google.cloud.aiplatform.v1.VertexRagService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_CorroborateContent_sync", + "title": "aiplatform CorroborateContent Sample", + "description": "CorroborateContent given an input text, it returns a score that evaluates the factuality of\nthe text. It also extracts and returns claims from the text and provides\nsupporting facts.", + "file": "VertexRagClient/CorroborateContent/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CorroborateContent", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.CorroborateContent", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CorroborateContentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.CorroborateContentResponse", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "CorroborateContent", + "fullName": "google.cloud.aiplatform.v1.VertexRagService.CorroborateContent", + "service": { + "shortName": "VertexRagService", + "fullName": "google.cloud.aiplatform.v1.VertexRagService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_GetIamPolicy_sync", + "title": "aiplatform GetIamPolicy Sample", + "description": "GetIamPolicy gets the access control policy for a resource. Returns an empty policy\nif the resource exists and does not have a policy set.", + "file": "VertexRagClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "VertexRagClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "VertexRagClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "VertexRagClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_RetrieveContexts_sync", + "title": "aiplatform RetrieveContexts Sample", + "description": "RetrieveContexts retrieves relevant contexts for a query.", + "file": "VertexRagClient/RetrieveContexts/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RetrieveContexts", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.RetrieveContexts", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.RetrieveContextsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.RetrieveContextsResponse", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "RetrieveContexts", + "fullName": "google.cloud.aiplatform.v1.VertexRagService.RetrieveContexts", + "service": { + "shortName": "VertexRagService", + "fullName": "google.cloud.aiplatform.v1.VertexRagService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_SetIamPolicy_sync", + "title": "aiplatform SetIamPolicy Sample", + "description": "SetIamPolicy sets the access control policy on the specified resource. Replaces\nany existing policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`\nerrors.", + "file": "VertexRagClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_TestIamPermissions_sync", + "title": "aiplatform TestIamPermissions Sample", + "description": "TestIamPermissions returns permissions that a caller has on the specified resource. If the\nresource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building\npermission-aware UIs and command-line tools, not for authorization\nchecking. This operation may \"fail open\" without warning.", + "file": "VertexRagClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_VertexRagService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "VertexRagClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1.VertexRagClient" + }, + "method": { + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "aiplatform_v1_generated_VizierService_AddTrialMeasurement_sync", "title": "aiplatform AddTrialMeasurement Sample", diff --git a/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json b/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json index 3b6b1ce1c70a..544a563eade6 100644 --- a/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json +++ b/internal/generated/snippets/datacatalog/apiv1/snippet_metadata.google.cloud.datacatalog.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/apiv1", - "version": "1.23.0", + "version": "1.24.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json b/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json index de2162e55ef4..ab5f461252e2 100644 --- a/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json +++ b/internal/generated/snippets/datacatalog/apiv1beta1/snippet_metadata.google.cloud.datacatalog.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/apiv1beta1", - "version": "1.23.0", + "version": "1.24.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json b/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json index cdba160c9922..4e450f7d9399 100644 --- a/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json +++ b/internal/generated/snippets/datacatalog/lineage/apiv1/snippet_metadata.google.cloud.datacatalog.lineage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/datacatalog/lineage/apiv1", - "version": "1.23.0", + "version": "1.24.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json b/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json index 205562412ecc..ea419ce79fdb 100644 --- a/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json +++ b/internal/generated/snippets/deploy/apiv1/snippet_metadata.google.cloud.deploy.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/deploy/apiv1", - "version": "1.25.0", + "version": "1.25.1", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/netapp/apiv1/Client/EstablishPeering/main.go b/internal/generated/snippets/netapp/apiv1/Client/EstablishPeering/main.go new file mode 100644 index 000000000000..29428ae67813 --- /dev/null +++ b/internal/generated/snippets/netapp/apiv1/Client/EstablishPeering/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START netapp_v1_generated_NetApp_EstablishPeering_sync] + +package main + +import ( + "context" + + netapp "cloud.google.com/go/netapp/apiv1" + netapppb "cloud.google.com/go/netapp/apiv1/netapppb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := netapp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &netapppb.EstablishPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/netapp/apiv1/netapppb#EstablishPeeringRequest. + } + op, err := c.EstablishPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END netapp_v1_generated_NetApp_EstablishPeering_sync] diff --git a/internal/generated/snippets/netapp/apiv1/Client/SyncReplication/main.go b/internal/generated/snippets/netapp/apiv1/Client/SyncReplication/main.go new file mode 100644 index 000000000000..47d56739ffaf --- /dev/null +++ b/internal/generated/snippets/netapp/apiv1/Client/SyncReplication/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://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_gapic. DO NOT EDIT. + +// [START netapp_v1_generated_NetApp_SyncReplication_sync] + +package main + +import ( + "context" + + netapp "cloud.google.com/go/netapp/apiv1" + netapppb "cloud.google.com/go/netapp/apiv1/netapppb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := netapp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &netapppb.SyncReplicationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/netapp/apiv1/netapppb#SyncReplicationRequest. + } + op, err := c.SyncReplication(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END netapp_v1_generated_NetApp_SyncReplication_sync] diff --git a/internal/generated/snippets/netapp/apiv1/snippet_metadata.google.cloud.netapp.v1.json b/internal/generated/snippets/netapp/apiv1/snippet_metadata.google.cloud.netapp.v1.json index 69c39c860831..b1c942f187ef 100644 --- a/internal/generated/snippets/netapp/apiv1/snippet_metadata.google.cloud.netapp.v1.json +++ b/internal/generated/snippets/netapp/apiv1/snippet_metadata.google.cloud.netapp.v1.json @@ -975,6 +975,52 @@ } ] }, + { + "regionTag": "netapp_v1_generated_NetApp_EstablishPeering_sync", + "title": "netapp EstablishPeering Sample", + "description": "EstablishPeering establish replication peering.", + "file": "Client/EstablishPeering/main.go", + "language": "GO", + "clientMethod": { + "shortName": "EstablishPeering", + "fullName": "google.cloud.netapp.v1.Client.EstablishPeering", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "netapppb.EstablishPeeringRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EstablishPeeringOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.netapp.v1.Client" + }, + "method": { + "shortName": "EstablishPeering", + "fullName": "google.cloud.netapp.v1.NetApp.EstablishPeering", + "service": { + "shortName": "NetApp", + "fullName": "google.cloud.netapp.v1.NetApp" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, { "regionTag": "netapp_v1_generated_NetApp_GetActiveDirectory_sync", "title": "netapp GetActiveDirectory Sample", @@ -2217,6 +2263,52 @@ } ] }, + { + "regionTag": "netapp_v1_generated_NetApp_SyncReplication_sync", + "title": "netapp SyncReplication Sample", + "description": "SyncReplication syncs the replication. This will invoke one time volume data transfer from\nsource to destination.", + "file": "Client/SyncReplication/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SyncReplication", + "fullName": "google.cloud.netapp.v1.Client.SyncReplication", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "netapppb.SyncReplicationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "SyncReplicationOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.netapp.v1.Client" + }, + "method": { + "shortName": "SyncReplication", + "fullName": "google.cloud.netapp.v1.NetApp.SyncReplication", + "service": { + "shortName": "NetApp", + "fullName": "google.cloud.netapp.v1.NetApp" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, { "regionTag": "netapp_v1_generated_NetApp_UpdateActiveDirectory_sync", "title": "netapp UpdateActiveDirectory Sample", diff --git a/netapp/apiv1/auxiliary.go b/netapp/apiv1/auxiliary.go index 9e2a656c6eaa..2bea7586f051 100755 --- a/netapp/apiv1/auxiliary.go +++ b/netapp/apiv1/auxiliary.go @@ -1145,6 +1145,70 @@ func (op *EncryptVolumesOperation) Name() string { return op.lro.Name() } +// EstablishPeeringOperation manages a long-running operation from EstablishPeering. +type EstablishPeeringOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *EstablishPeeringOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*netapppb.Replication, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp netapppb.Replication + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *EstablishPeeringOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*netapppb.Replication, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp netapppb.Replication + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *EstablishPeeringOperation) Metadata() (*netapppb.OperationMetadata, error) { + var meta netapppb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *EstablishPeeringOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *EstablishPeeringOperation) Name() string { + return op.lro.Name() +} + // ResumeReplicationOperation manages a long-running operation from ResumeReplication. type ResumeReplicationOperation struct { lro *longrunning.Operation @@ -1465,6 +1529,70 @@ func (op *SwitchActiveReplicaZoneOperation) Name() string { return op.lro.Name() } +// SyncReplicationOperation manages a long-running operation from SyncReplication. +type SyncReplicationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *SyncReplicationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*netapppb.Replication, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp netapppb.Replication + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *SyncReplicationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*netapppb.Replication, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp netapppb.Replication + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *SyncReplicationOperation) Metadata() (*netapppb.OperationMetadata, error) { + var meta netapppb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *SyncReplicationOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *SyncReplicationOperation) Name() string { + return op.lro.Name() +} + // UpdateActiveDirectoryOperation manages a long-running operation from UpdateActiveDirectory. type UpdateActiveDirectoryOperation struct { lro *longrunning.Operation diff --git a/netapp/apiv1/gapic_metadata.json b/netapp/apiv1/gapic_metadata.json index 673f0030d960..62a84966d95e 100644 --- a/netapp/apiv1/gapic_metadata.json +++ b/netapp/apiv1/gapic_metadata.json @@ -115,6 +115,11 @@ "EncryptVolumes" ] }, + "EstablishPeering": { + "methods": [ + "EstablishPeering" + ] + }, "GetActiveDirectory": { "methods": [ "GetActiveDirectory" @@ -250,6 +255,11 @@ "SwitchActiveReplicaZone" ] }, + "SyncReplication": { + "methods": [ + "SyncReplication" + ] + }, "UpdateActiveDirectory": { "methods": [ "UpdateActiveDirectory" @@ -410,6 +420,11 @@ "EncryptVolumes" ] }, + "EstablishPeering": { + "methods": [ + "EstablishPeering" + ] + }, "GetActiveDirectory": { "methods": [ "GetActiveDirectory" @@ -545,6 +560,11 @@ "SwitchActiveReplicaZone" ] }, + "SyncReplication": { + "methods": [ + "SyncReplication" + ] + }, "UpdateActiveDirectory": { "methods": [ "UpdateActiveDirectory" diff --git a/netapp/apiv1/net_app_client.go b/netapp/apiv1/net_app_client.go index c1527d5d308f..9de06d603d17 100755 --- a/netapp/apiv1/net_app_client.go +++ b/netapp/apiv1/net_app_client.go @@ -85,6 +85,8 @@ type CallOptions struct { StopReplication []gax.CallOption ResumeReplication []gax.CallOption ReverseReplicationDirection []gax.CallOption + EstablishPeering []gax.CallOption + SyncReplication []gax.CallOption CreateBackupVault []gax.CallOption GetBackupVault []gax.CallOption ListBackupVaults []gax.CallOption @@ -342,6 +344,8 @@ func defaultCallOptions() *CallOptions { ReverseReplicationDirection: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), }, + EstablishPeering: []gax.CallOption{}, + SyncReplication: []gax.CallOption{}, CreateBackupVault: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), }, @@ -657,6 +661,8 @@ func defaultRESTCallOptions() *CallOptions { ReverseReplicationDirection: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), }, + EstablishPeering: []gax.CallOption{}, + SyncReplication: []gax.CallOption{}, CreateBackupVault: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), }, @@ -825,6 +831,10 @@ type internalClient interface { ResumeReplicationOperation(name string) *ResumeReplicationOperation ReverseReplicationDirection(context.Context, *netapppb.ReverseReplicationDirectionRequest, ...gax.CallOption) (*ReverseReplicationDirectionOperation, error) ReverseReplicationDirectionOperation(name string) *ReverseReplicationDirectionOperation + EstablishPeering(context.Context, *netapppb.EstablishPeeringRequest, ...gax.CallOption) (*EstablishPeeringOperation, error) + EstablishPeeringOperation(name string) *EstablishPeeringOperation + SyncReplication(context.Context, *netapppb.SyncReplicationRequest, ...gax.CallOption) (*SyncReplicationOperation, error) + SyncReplicationOperation(name string) *SyncReplicationOperation CreateBackupVault(context.Context, *netapppb.CreateBackupVaultRequest, ...gax.CallOption) (*CreateBackupVaultOperation, error) CreateBackupVaultOperation(name string) *CreateBackupVaultOperation GetBackupVault(context.Context, *netapppb.GetBackupVaultRequest, ...gax.CallOption) (*netapppb.BackupVault, error) @@ -1232,6 +1242,29 @@ func (c *Client) ReverseReplicationDirectionOperation(name string) *ReverseRepli return c.internalClient.ReverseReplicationDirectionOperation(name) } +// EstablishPeering establish replication peering. +func (c *Client) EstablishPeering(ctx context.Context, req *netapppb.EstablishPeeringRequest, opts ...gax.CallOption) (*EstablishPeeringOperation, error) { + return c.internalClient.EstablishPeering(ctx, req, opts...) +} + +// EstablishPeeringOperation returns a new EstablishPeeringOperation from a given name. +// The name must be that of a previously created EstablishPeeringOperation, possibly from a different process. +func (c *Client) EstablishPeeringOperation(name string) *EstablishPeeringOperation { + return c.internalClient.EstablishPeeringOperation(name) +} + +// SyncReplication syncs the replication. This will invoke one time volume data transfer from +// source to destination. +func (c *Client) SyncReplication(ctx context.Context, req *netapppb.SyncReplicationRequest, opts ...gax.CallOption) (*SyncReplicationOperation, error) { + return c.internalClient.SyncReplication(ctx, req, opts...) +} + +// SyncReplicationOperation returns a new SyncReplicationOperation from a given name. +// The name must be that of a previously created SyncReplicationOperation, possibly from a different process. +func (c *Client) SyncReplicationOperation(name string) *SyncReplicationOperation { + return c.internalClient.SyncReplicationOperation(name) +} + // CreateBackupVault creates new backup vault func (c *Client) CreateBackupVault(ctx context.Context, req *netapppb.CreateBackupVaultRequest, opts ...gax.CallOption) (*CreateBackupVaultOperation, error) { return c.internalClient.CreateBackupVault(ctx, req, opts...) @@ -2460,6 +2493,46 @@ func (c *gRPCClient) ReverseReplicationDirection(ctx context.Context, req *netap }, nil } +func (c *gRPCClient) EstablishPeering(ctx context.Context, req *netapppb.EstablishPeeringRequest, opts ...gax.CallOption) (*EstablishPeeringOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).EstablishPeering[0:len((*c.CallOptions).EstablishPeering):len((*c.CallOptions).EstablishPeering)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.EstablishPeering(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &EstablishPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) SyncReplication(ctx context.Context, req *netapppb.SyncReplicationRequest, opts ...gax.CallOption) (*SyncReplicationOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SyncReplication[0:len((*c.CallOptions).SyncReplication):len((*c.CallOptions).SyncReplication)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.SyncReplication(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &SyncReplicationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + func (c *gRPCClient) CreateBackupVault(ctx context.Context, req *netapppb.CreateBackupVaultRequest, opts ...gax.CallOption) (*CreateBackupVaultOperation, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} @@ -5697,6 +5770,147 @@ func (c *restClient) ReverseReplicationDirection(ctx context.Context, req *netap }, nil } +// EstablishPeering establish replication peering. +func (c *restClient) EstablishPeering(ctx context.Context, req *netapppb.EstablishPeeringRequest, opts ...gax.CallOption) (*EstablishPeeringOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:establishPeering", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &EstablishPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// SyncReplication syncs the replication. This will invoke one time volume data transfer from +// source to destination. +func (c *restClient) SyncReplication(ctx context.Context, req *netapppb.SyncReplicationRequest, opts ...gax.CallOption) (*SyncReplicationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:sync", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &SyncReplicationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + // CreateBackupVault creates new backup vault func (c *restClient) CreateBackupVault(ctx context.Context, req *netapppb.CreateBackupVaultRequest, opts ...gax.CallOption) (*CreateBackupVaultOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} @@ -7543,6 +7757,24 @@ func (c *restClient) EncryptVolumesOperation(name string) *EncryptVolumesOperati } } +// EstablishPeeringOperation returns a new EstablishPeeringOperation from a given name. +// The name must be that of a previously created EstablishPeeringOperation, possibly from a different process. +func (c *gRPCClient) EstablishPeeringOperation(name string) *EstablishPeeringOperation { + return &EstablishPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// EstablishPeeringOperation returns a new EstablishPeeringOperation from a given name. +// The name must be that of a previously created EstablishPeeringOperation, possibly from a different process. +func (c *restClient) EstablishPeeringOperation(name string) *EstablishPeeringOperation { + override := fmt.Sprintf("/v1/%s", name) + return &EstablishPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // ResumeReplicationOperation returns a new ResumeReplicationOperation from a given name. // The name must be that of a previously created ResumeReplicationOperation, possibly from a different process. func (c *gRPCClient) ResumeReplicationOperation(name string) *ResumeReplicationOperation { @@ -7633,6 +7865,24 @@ func (c *restClient) SwitchActiveReplicaZoneOperation(name string) *SwitchActive } } +// SyncReplicationOperation returns a new SyncReplicationOperation from a given name. +// The name must be that of a previously created SyncReplicationOperation, possibly from a different process. +func (c *gRPCClient) SyncReplicationOperation(name string) *SyncReplicationOperation { + return &SyncReplicationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// SyncReplicationOperation returns a new SyncReplicationOperation from a given name. +// The name must be that of a previously created SyncReplicationOperation, possibly from a different process. +func (c *restClient) SyncReplicationOperation(name string) *SyncReplicationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &SyncReplicationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // UpdateActiveDirectoryOperation returns a new UpdateActiveDirectoryOperation from a given name. // The name must be that of a previously created UpdateActiveDirectoryOperation, possibly from a different process. func (c *gRPCClient) UpdateActiveDirectoryOperation(name string) *UpdateActiveDirectoryOperation { diff --git a/netapp/apiv1/net_app_client_example_test.go b/netapp/apiv1/net_app_client_example_test.go index 671a70ad3096..eeb5bd9d1624 100644 --- a/netapp/apiv1/net_app_client_example_test.go +++ b/netapp/apiv1/net_app_client_example_test.go @@ -612,6 +612,36 @@ func ExampleClient_EncryptVolumes() { _ = resp } +func ExampleClient_EstablishPeering() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := netapp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &netapppb.EstablishPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/netapp/apiv1/netapppb#EstablishPeeringRequest. + } + op, err := c.EstablishPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleClient_GetActiveDirectory() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -1320,6 +1350,36 @@ func ExampleClient_SwitchActiveReplicaZone() { _ = resp } +func ExampleClient_SyncReplication() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := netapp.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &netapppb.SyncReplicationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/netapp/apiv1/netapppb#SyncReplicationRequest. + } + op, err := c.SyncReplication(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleClient_UpdateActiveDirectory() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. diff --git a/netapp/apiv1/netapppb/active_directory.pb.go b/netapp/apiv1/netapppb/active_directory.pb.go index 0de89b805a27..43cfe5815193 100755 --- a/netapp/apiv1/netapppb/active_directory.pb.go +++ b/netapp/apiv1/netapppb/active_directory.pb.go @@ -56,6 +56,8 @@ const ( ActiveDirectory_DELETING ActiveDirectory_State = 5 // Active Directory State is Error ActiveDirectory_ERROR ActiveDirectory_State = 6 + // Active Directory State is Diagnosing. + ActiveDirectory_DIAGNOSING ActiveDirectory_State = 7 ) // Enum value maps for ActiveDirectory_State. @@ -68,6 +70,7 @@ var ( 4: "IN_USE", 5: "DELETING", 6: "ERROR", + 7: "DIAGNOSING", } ActiveDirectory_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, @@ -77,6 +80,7 @@ var ( "IN_USE": 4, "DELETING": 5, "ERROR": 6, + "DIAGNOSING": 7, } ) @@ -320,9 +324,9 @@ type CreateActiveDirectoryRequest struct { // Required. Fields of the to be created active directory. ActiveDirectory *ActiveDirectory `protobuf:"bytes,2,opt,name=active_directory,json=activeDirectory,proto3" json:"active_directory,omitempty"` // Required. ID of the active directory to create. Must be unique within the - // parent resource. Must contain only letters, numbers, underscore and hyphen, - // with the first character a letter or underscore, the last a letter or - // underscore or a number, and a 63 character maximum. + // parent resource. Must contain only letters, numbers and hyphen, with the + // first character a letter , the last a letter or a number, and a 63 + // character maximum. ActiveDirectoryId string `protobuf:"bytes,3,opt,name=active_directory_id,json=activeDirectoryId,proto3" json:"active_directory_id,omitempty"` } @@ -817,7 +821,7 @@ var file_google_cloud_netapp_v1_active_directory_proto_rawDesc = []byte{ 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf8, 0x09, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x0a, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, @@ -880,14 +884,15 @@ var file_google_cloud_netapp_v1_active_directory_proto_rawDesc = []byte{ 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x06, 0x3a, 0x9d, 0x01, 0xea, 0x41, 0x99, 0x01, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, + 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x10, + 0x07, 0x3a, 0x9d, 0x01, 0xea, 0x41, 0x99, 0x01, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, diff --git a/netapp/apiv1/netapppb/backup.pb.go b/netapp/apiv1/netapppb/backup.pb.go index de37789c53d4..158662d178e0 100755 --- a/netapp/apiv1/netapppb/backup.pb.go +++ b/netapp/apiv1/netapppb/backup.pb.go @@ -534,8 +534,8 @@ type CreateBackupRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The ID to use for the backup. // The ID must be unique within the specified backupVault. - // Must contain only letters, numbers, underscore and hyphen, with the first - // character a letter or underscore, the last a letter or underscore or a + // Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a // number, and a 63 character maximum. BackupId string `protobuf:"bytes,2,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` // Required. A backup resource diff --git a/netapp/apiv1/netapppb/backup_policy.pb.go b/netapp/apiv1/netapppb/backup_policy.pb.go index eec840bf7a5b..8aa7fc13c690 100755 --- a/netapp/apiv1/netapppb/backup_policy.pb.go +++ b/netapp/apiv1/netapppb/backup_policy.pb.go @@ -252,8 +252,8 @@ type CreateBackupPolicyRequest struct { BackupPolicy *BackupPolicy `protobuf:"bytes,2,opt,name=backup_policy,json=backupPolicy,proto3" json:"backup_policy,omitempty"` // Required. The ID to use for the backup policy. // The ID must be unique within the specified location. - // Must contain only letters, numbers, underscore and hyphen, with the first - // character a letter or underscore, the last a letter or underscore or a + // Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a // number, and a 63 character maximum. BackupPolicyId string `protobuf:"bytes,3,opt,name=backup_policy_id,json=backupPolicyId,proto3" json:"backup_policy_id,omitempty"` } diff --git a/netapp/apiv1/netapppb/backup_vault.pb.go b/netapp/apiv1/netapppb/backup_vault.pb.go index 85522876d31d..62368a932c38 100755 --- a/netapp/apiv1/netapppb/backup_vault.pb.go +++ b/netapp/apiv1/netapppb/backup_vault.pb.go @@ -407,8 +407,8 @@ type CreateBackupVaultRequest struct { Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. The ID to use for the backupVault. // The ID must be unique within the specified location. - // Must contain only letters, numbers, underscore and hyphen, with the first - // character a letter or underscore, the last a letter or underscore or a + // Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a // number, and a 63 character maximum. BackupVaultId string `protobuf:"bytes,2,opt,name=backup_vault_id,json=backupVaultId,proto3" json:"backup_vault_id,omitempty"` // Required. A backupVault resource diff --git a/netapp/apiv1/netapppb/cloud_netapp_service.pb.go b/netapp/apiv1/netapppb/cloud_netapp_service.pb.go index 56d79d42d69f..7fa12a0d1bac 100755 --- a/netapp/apiv1/netapppb/cloud_netapp_service.pb.go +++ b/netapp/apiv1/netapppb/cloud_netapp_service.pb.go @@ -215,7 +215,7 @@ var file_google_cloud_netapp_v1_cloud_netapp_service_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xba, 0x56, 0x0a, 0x06, 0x4e, 0x65, 0x74, 0x41, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xec, 0x59, 0x0a, 0x06, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x12, 0xb8, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, @@ -703,228 +703,255 @@ var file_google_cloud_netapp_v1_cloud_netapp_service_proto_rawDesc = []byte{ 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf6, 0x01, 0x0a, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, - 0x6c, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, - 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, - 0x75, 0x6c, 0x74, 0x22, 0x30, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, - 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x3f, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 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, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb8, 0x01, - 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 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, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, - 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x72, 0x73, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xdd, 0x01, 0x0a, + 0x10, 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x73, 0x74, 0x61, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x79, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x01, 0x2a, 0x22, + 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, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xcf, 0x01, 0x0a, + 0x0f, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x91, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, - 0x6c, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, - 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, - 0x61, 0x75, 0x6c, 0x74, 0x32, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, - 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xca, 0x41, 0x2a, 0x0a, - 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, - 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, + 0x6d, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 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, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x79, 0x6e, 0x63, 0x12, 0xf6, + 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3a, - 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xa0, 0x01, 0x0a, 0x09, 0x47, - 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3c, 0x12, 0x3a, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb3, 0x01, - 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 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, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x76, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 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, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x23, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, + 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, + 0x76, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x30, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, + 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4b, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfe, 0x01, 0x0a, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x25, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x0d, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x32, 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, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xaa, 0x01, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x41, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x3f, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 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, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xb8, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 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, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, + 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x91, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x32, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xca, 0x41, + 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, + 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x22, 0x3a, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xa0, 0x01, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3c, 0x12, 0x3a, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xb3, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 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, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x80, 0x02, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, - 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x32, 0x40, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 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, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0xd6, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xca, 0x41, 0x2a, 0x0a, 0x15, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x6e, 0x65, - 0x74, 0x61, 0x70, 0x70, 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, 0x8a, 0x02, 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x76, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, + 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x0c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, - 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0x3b, 0x6e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x70, 0x62, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, 0x74, 0x41, - 0x70, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4b, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x41, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfe, + 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x25, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x0d, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, + 0xaa, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x41, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc0, 0x01, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, + 0x80, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x19, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x51, 0x3a, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x32, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xca, 0x41, 0x2a, + 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 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, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x49, 0xca, 0x41, 0x15, + 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 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, 0x8a, 0x02, 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0x3b, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -980,41 +1007,43 @@ var file_google_cloud_netapp_v1_cloud_netapp_service_proto_goTypes = []any{ (*StopReplicationRequest)(nil), // 36: google.cloud.netapp.v1.StopReplicationRequest (*ResumeReplicationRequest)(nil), // 37: google.cloud.netapp.v1.ResumeReplicationRequest (*ReverseReplicationDirectionRequest)(nil), // 38: google.cloud.netapp.v1.ReverseReplicationDirectionRequest - (*CreateBackupVaultRequest)(nil), // 39: google.cloud.netapp.v1.CreateBackupVaultRequest - (*GetBackupVaultRequest)(nil), // 40: google.cloud.netapp.v1.GetBackupVaultRequest - (*ListBackupVaultsRequest)(nil), // 41: google.cloud.netapp.v1.ListBackupVaultsRequest - (*UpdateBackupVaultRequest)(nil), // 42: google.cloud.netapp.v1.UpdateBackupVaultRequest - (*DeleteBackupVaultRequest)(nil), // 43: google.cloud.netapp.v1.DeleteBackupVaultRequest - (*CreateBackupRequest)(nil), // 44: google.cloud.netapp.v1.CreateBackupRequest - (*GetBackupRequest)(nil), // 45: google.cloud.netapp.v1.GetBackupRequest - (*ListBackupsRequest)(nil), // 46: google.cloud.netapp.v1.ListBackupsRequest - (*DeleteBackupRequest)(nil), // 47: google.cloud.netapp.v1.DeleteBackupRequest - (*UpdateBackupRequest)(nil), // 48: google.cloud.netapp.v1.UpdateBackupRequest - (*CreateBackupPolicyRequest)(nil), // 49: google.cloud.netapp.v1.CreateBackupPolicyRequest - (*GetBackupPolicyRequest)(nil), // 50: google.cloud.netapp.v1.GetBackupPolicyRequest - (*ListBackupPoliciesRequest)(nil), // 51: google.cloud.netapp.v1.ListBackupPoliciesRequest - (*UpdateBackupPolicyRequest)(nil), // 52: google.cloud.netapp.v1.UpdateBackupPolicyRequest - (*DeleteBackupPolicyRequest)(nil), // 53: google.cloud.netapp.v1.DeleteBackupPolicyRequest - (*ListStoragePoolsResponse)(nil), // 54: google.cloud.netapp.v1.ListStoragePoolsResponse - (*longrunningpb.Operation)(nil), // 55: google.longrunning.Operation - (*StoragePool)(nil), // 56: google.cloud.netapp.v1.StoragePool - (*ListVolumesResponse)(nil), // 57: google.cloud.netapp.v1.ListVolumesResponse - (*Volume)(nil), // 58: google.cloud.netapp.v1.Volume - (*ListSnapshotsResponse)(nil), // 59: google.cloud.netapp.v1.ListSnapshotsResponse - (*Snapshot)(nil), // 60: google.cloud.netapp.v1.Snapshot - (*ListActiveDirectoriesResponse)(nil), // 61: google.cloud.netapp.v1.ListActiveDirectoriesResponse - (*ActiveDirectory)(nil), // 62: google.cloud.netapp.v1.ActiveDirectory - (*ListKmsConfigsResponse)(nil), // 63: google.cloud.netapp.v1.ListKmsConfigsResponse - (*KmsConfig)(nil), // 64: google.cloud.netapp.v1.KmsConfig - (*VerifyKmsConfigResponse)(nil), // 65: google.cloud.netapp.v1.VerifyKmsConfigResponse - (*ListReplicationsResponse)(nil), // 66: google.cloud.netapp.v1.ListReplicationsResponse - (*Replication)(nil), // 67: google.cloud.netapp.v1.Replication - (*BackupVault)(nil), // 68: google.cloud.netapp.v1.BackupVault - (*ListBackupVaultsResponse)(nil), // 69: google.cloud.netapp.v1.ListBackupVaultsResponse - (*Backup)(nil), // 70: google.cloud.netapp.v1.Backup - (*ListBackupsResponse)(nil), // 71: google.cloud.netapp.v1.ListBackupsResponse - (*BackupPolicy)(nil), // 72: google.cloud.netapp.v1.BackupPolicy - (*ListBackupPoliciesResponse)(nil), // 73: google.cloud.netapp.v1.ListBackupPoliciesResponse + (*EstablishPeeringRequest)(nil), // 39: google.cloud.netapp.v1.EstablishPeeringRequest + (*SyncReplicationRequest)(nil), // 40: google.cloud.netapp.v1.SyncReplicationRequest + (*CreateBackupVaultRequest)(nil), // 41: google.cloud.netapp.v1.CreateBackupVaultRequest + (*GetBackupVaultRequest)(nil), // 42: google.cloud.netapp.v1.GetBackupVaultRequest + (*ListBackupVaultsRequest)(nil), // 43: google.cloud.netapp.v1.ListBackupVaultsRequest + (*UpdateBackupVaultRequest)(nil), // 44: google.cloud.netapp.v1.UpdateBackupVaultRequest + (*DeleteBackupVaultRequest)(nil), // 45: google.cloud.netapp.v1.DeleteBackupVaultRequest + (*CreateBackupRequest)(nil), // 46: google.cloud.netapp.v1.CreateBackupRequest + (*GetBackupRequest)(nil), // 47: google.cloud.netapp.v1.GetBackupRequest + (*ListBackupsRequest)(nil), // 48: google.cloud.netapp.v1.ListBackupsRequest + (*DeleteBackupRequest)(nil), // 49: google.cloud.netapp.v1.DeleteBackupRequest + (*UpdateBackupRequest)(nil), // 50: google.cloud.netapp.v1.UpdateBackupRequest + (*CreateBackupPolicyRequest)(nil), // 51: google.cloud.netapp.v1.CreateBackupPolicyRequest + (*GetBackupPolicyRequest)(nil), // 52: google.cloud.netapp.v1.GetBackupPolicyRequest + (*ListBackupPoliciesRequest)(nil), // 53: google.cloud.netapp.v1.ListBackupPoliciesRequest + (*UpdateBackupPolicyRequest)(nil), // 54: google.cloud.netapp.v1.UpdateBackupPolicyRequest + (*DeleteBackupPolicyRequest)(nil), // 55: google.cloud.netapp.v1.DeleteBackupPolicyRequest + (*ListStoragePoolsResponse)(nil), // 56: google.cloud.netapp.v1.ListStoragePoolsResponse + (*longrunningpb.Operation)(nil), // 57: google.longrunning.Operation + (*StoragePool)(nil), // 58: google.cloud.netapp.v1.StoragePool + (*ListVolumesResponse)(nil), // 59: google.cloud.netapp.v1.ListVolumesResponse + (*Volume)(nil), // 60: google.cloud.netapp.v1.Volume + (*ListSnapshotsResponse)(nil), // 61: google.cloud.netapp.v1.ListSnapshotsResponse + (*Snapshot)(nil), // 62: google.cloud.netapp.v1.Snapshot + (*ListActiveDirectoriesResponse)(nil), // 63: google.cloud.netapp.v1.ListActiveDirectoriesResponse + (*ActiveDirectory)(nil), // 64: google.cloud.netapp.v1.ActiveDirectory + (*ListKmsConfigsResponse)(nil), // 65: google.cloud.netapp.v1.ListKmsConfigsResponse + (*KmsConfig)(nil), // 66: google.cloud.netapp.v1.KmsConfig + (*VerifyKmsConfigResponse)(nil), // 67: google.cloud.netapp.v1.VerifyKmsConfigResponse + (*ListReplicationsResponse)(nil), // 68: google.cloud.netapp.v1.ListReplicationsResponse + (*Replication)(nil), // 69: google.cloud.netapp.v1.Replication + (*BackupVault)(nil), // 70: google.cloud.netapp.v1.BackupVault + (*ListBackupVaultsResponse)(nil), // 71: google.cloud.netapp.v1.ListBackupVaultsResponse + (*Backup)(nil), // 72: google.cloud.netapp.v1.Backup + (*ListBackupsResponse)(nil), // 73: google.cloud.netapp.v1.ListBackupsResponse + (*BackupPolicy)(nil), // 74: google.cloud.netapp.v1.BackupPolicy + (*ListBackupPoliciesResponse)(nil), // 75: google.cloud.netapp.v1.ListBackupPoliciesResponse } var file_google_cloud_netapp_v1_cloud_netapp_service_proto_depIdxs = []int32{ 1, // 0: google.cloud.netapp.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp @@ -1056,75 +1085,79 @@ var file_google_cloud_netapp_v1_cloud_netapp_service_proto_depIdxs = []int32{ 36, // 36: google.cloud.netapp.v1.NetApp.StopReplication:input_type -> google.cloud.netapp.v1.StopReplicationRequest 37, // 37: google.cloud.netapp.v1.NetApp.ResumeReplication:input_type -> google.cloud.netapp.v1.ResumeReplicationRequest 38, // 38: google.cloud.netapp.v1.NetApp.ReverseReplicationDirection:input_type -> google.cloud.netapp.v1.ReverseReplicationDirectionRequest - 39, // 39: google.cloud.netapp.v1.NetApp.CreateBackupVault:input_type -> google.cloud.netapp.v1.CreateBackupVaultRequest - 40, // 40: google.cloud.netapp.v1.NetApp.GetBackupVault:input_type -> google.cloud.netapp.v1.GetBackupVaultRequest - 41, // 41: google.cloud.netapp.v1.NetApp.ListBackupVaults:input_type -> google.cloud.netapp.v1.ListBackupVaultsRequest - 42, // 42: google.cloud.netapp.v1.NetApp.UpdateBackupVault:input_type -> google.cloud.netapp.v1.UpdateBackupVaultRequest - 43, // 43: google.cloud.netapp.v1.NetApp.DeleteBackupVault:input_type -> google.cloud.netapp.v1.DeleteBackupVaultRequest - 44, // 44: google.cloud.netapp.v1.NetApp.CreateBackup:input_type -> google.cloud.netapp.v1.CreateBackupRequest - 45, // 45: google.cloud.netapp.v1.NetApp.GetBackup:input_type -> google.cloud.netapp.v1.GetBackupRequest - 46, // 46: google.cloud.netapp.v1.NetApp.ListBackups:input_type -> google.cloud.netapp.v1.ListBackupsRequest - 47, // 47: google.cloud.netapp.v1.NetApp.DeleteBackup:input_type -> google.cloud.netapp.v1.DeleteBackupRequest - 48, // 48: google.cloud.netapp.v1.NetApp.UpdateBackup:input_type -> google.cloud.netapp.v1.UpdateBackupRequest - 49, // 49: google.cloud.netapp.v1.NetApp.CreateBackupPolicy:input_type -> google.cloud.netapp.v1.CreateBackupPolicyRequest - 50, // 50: google.cloud.netapp.v1.NetApp.GetBackupPolicy:input_type -> google.cloud.netapp.v1.GetBackupPolicyRequest - 51, // 51: google.cloud.netapp.v1.NetApp.ListBackupPolicies:input_type -> google.cloud.netapp.v1.ListBackupPoliciesRequest - 52, // 52: google.cloud.netapp.v1.NetApp.UpdateBackupPolicy:input_type -> google.cloud.netapp.v1.UpdateBackupPolicyRequest - 53, // 53: google.cloud.netapp.v1.NetApp.DeleteBackupPolicy:input_type -> google.cloud.netapp.v1.DeleteBackupPolicyRequest - 54, // 54: google.cloud.netapp.v1.NetApp.ListStoragePools:output_type -> google.cloud.netapp.v1.ListStoragePoolsResponse - 55, // 55: google.cloud.netapp.v1.NetApp.CreateStoragePool:output_type -> google.longrunning.Operation - 56, // 56: google.cloud.netapp.v1.NetApp.GetStoragePool:output_type -> google.cloud.netapp.v1.StoragePool - 55, // 57: google.cloud.netapp.v1.NetApp.UpdateStoragePool:output_type -> google.longrunning.Operation - 55, // 58: google.cloud.netapp.v1.NetApp.DeleteStoragePool:output_type -> google.longrunning.Operation - 55, // 59: google.cloud.netapp.v1.NetApp.SwitchActiveReplicaZone:output_type -> google.longrunning.Operation - 57, // 60: google.cloud.netapp.v1.NetApp.ListVolumes:output_type -> google.cloud.netapp.v1.ListVolumesResponse - 58, // 61: google.cloud.netapp.v1.NetApp.GetVolume:output_type -> google.cloud.netapp.v1.Volume - 55, // 62: google.cloud.netapp.v1.NetApp.CreateVolume:output_type -> google.longrunning.Operation - 55, // 63: google.cloud.netapp.v1.NetApp.UpdateVolume:output_type -> google.longrunning.Operation - 55, // 64: google.cloud.netapp.v1.NetApp.DeleteVolume:output_type -> google.longrunning.Operation - 55, // 65: google.cloud.netapp.v1.NetApp.RevertVolume:output_type -> google.longrunning.Operation - 59, // 66: google.cloud.netapp.v1.NetApp.ListSnapshots:output_type -> google.cloud.netapp.v1.ListSnapshotsResponse - 60, // 67: google.cloud.netapp.v1.NetApp.GetSnapshot:output_type -> google.cloud.netapp.v1.Snapshot - 55, // 68: google.cloud.netapp.v1.NetApp.CreateSnapshot:output_type -> google.longrunning.Operation - 55, // 69: google.cloud.netapp.v1.NetApp.DeleteSnapshot:output_type -> google.longrunning.Operation - 55, // 70: google.cloud.netapp.v1.NetApp.UpdateSnapshot:output_type -> google.longrunning.Operation - 61, // 71: google.cloud.netapp.v1.NetApp.ListActiveDirectories:output_type -> google.cloud.netapp.v1.ListActiveDirectoriesResponse - 62, // 72: google.cloud.netapp.v1.NetApp.GetActiveDirectory:output_type -> google.cloud.netapp.v1.ActiveDirectory - 55, // 73: google.cloud.netapp.v1.NetApp.CreateActiveDirectory:output_type -> google.longrunning.Operation - 55, // 74: google.cloud.netapp.v1.NetApp.UpdateActiveDirectory:output_type -> google.longrunning.Operation - 55, // 75: google.cloud.netapp.v1.NetApp.DeleteActiveDirectory:output_type -> google.longrunning.Operation - 63, // 76: google.cloud.netapp.v1.NetApp.ListKmsConfigs:output_type -> google.cloud.netapp.v1.ListKmsConfigsResponse - 55, // 77: google.cloud.netapp.v1.NetApp.CreateKmsConfig:output_type -> google.longrunning.Operation - 64, // 78: google.cloud.netapp.v1.NetApp.GetKmsConfig:output_type -> google.cloud.netapp.v1.KmsConfig - 55, // 79: google.cloud.netapp.v1.NetApp.UpdateKmsConfig:output_type -> google.longrunning.Operation - 55, // 80: google.cloud.netapp.v1.NetApp.EncryptVolumes:output_type -> google.longrunning.Operation - 65, // 81: google.cloud.netapp.v1.NetApp.VerifyKmsConfig:output_type -> google.cloud.netapp.v1.VerifyKmsConfigResponse - 55, // 82: google.cloud.netapp.v1.NetApp.DeleteKmsConfig:output_type -> google.longrunning.Operation - 66, // 83: google.cloud.netapp.v1.NetApp.ListReplications:output_type -> google.cloud.netapp.v1.ListReplicationsResponse - 67, // 84: google.cloud.netapp.v1.NetApp.GetReplication:output_type -> google.cloud.netapp.v1.Replication - 55, // 85: google.cloud.netapp.v1.NetApp.CreateReplication:output_type -> google.longrunning.Operation - 55, // 86: google.cloud.netapp.v1.NetApp.DeleteReplication:output_type -> google.longrunning.Operation - 55, // 87: google.cloud.netapp.v1.NetApp.UpdateReplication:output_type -> google.longrunning.Operation - 55, // 88: google.cloud.netapp.v1.NetApp.StopReplication:output_type -> google.longrunning.Operation - 55, // 89: google.cloud.netapp.v1.NetApp.ResumeReplication:output_type -> google.longrunning.Operation - 55, // 90: google.cloud.netapp.v1.NetApp.ReverseReplicationDirection:output_type -> google.longrunning.Operation - 55, // 91: google.cloud.netapp.v1.NetApp.CreateBackupVault:output_type -> google.longrunning.Operation - 68, // 92: google.cloud.netapp.v1.NetApp.GetBackupVault:output_type -> google.cloud.netapp.v1.BackupVault - 69, // 93: google.cloud.netapp.v1.NetApp.ListBackupVaults:output_type -> google.cloud.netapp.v1.ListBackupVaultsResponse - 55, // 94: google.cloud.netapp.v1.NetApp.UpdateBackupVault:output_type -> google.longrunning.Operation - 55, // 95: google.cloud.netapp.v1.NetApp.DeleteBackupVault:output_type -> google.longrunning.Operation - 55, // 96: google.cloud.netapp.v1.NetApp.CreateBackup:output_type -> google.longrunning.Operation - 70, // 97: google.cloud.netapp.v1.NetApp.GetBackup:output_type -> google.cloud.netapp.v1.Backup - 71, // 98: google.cloud.netapp.v1.NetApp.ListBackups:output_type -> google.cloud.netapp.v1.ListBackupsResponse - 55, // 99: google.cloud.netapp.v1.NetApp.DeleteBackup:output_type -> google.longrunning.Operation - 55, // 100: google.cloud.netapp.v1.NetApp.UpdateBackup:output_type -> google.longrunning.Operation - 55, // 101: google.cloud.netapp.v1.NetApp.CreateBackupPolicy:output_type -> google.longrunning.Operation - 72, // 102: google.cloud.netapp.v1.NetApp.GetBackupPolicy:output_type -> google.cloud.netapp.v1.BackupPolicy - 73, // 103: google.cloud.netapp.v1.NetApp.ListBackupPolicies:output_type -> google.cloud.netapp.v1.ListBackupPoliciesResponse - 55, // 104: google.cloud.netapp.v1.NetApp.UpdateBackupPolicy:output_type -> google.longrunning.Operation - 55, // 105: google.cloud.netapp.v1.NetApp.DeleteBackupPolicy:output_type -> google.longrunning.Operation - 54, // [54:106] is the sub-list for method output_type - 2, // [2:54] is the sub-list for method input_type + 39, // 39: google.cloud.netapp.v1.NetApp.EstablishPeering:input_type -> google.cloud.netapp.v1.EstablishPeeringRequest + 40, // 40: google.cloud.netapp.v1.NetApp.SyncReplication:input_type -> google.cloud.netapp.v1.SyncReplicationRequest + 41, // 41: google.cloud.netapp.v1.NetApp.CreateBackupVault:input_type -> google.cloud.netapp.v1.CreateBackupVaultRequest + 42, // 42: google.cloud.netapp.v1.NetApp.GetBackupVault:input_type -> google.cloud.netapp.v1.GetBackupVaultRequest + 43, // 43: google.cloud.netapp.v1.NetApp.ListBackupVaults:input_type -> google.cloud.netapp.v1.ListBackupVaultsRequest + 44, // 44: google.cloud.netapp.v1.NetApp.UpdateBackupVault:input_type -> google.cloud.netapp.v1.UpdateBackupVaultRequest + 45, // 45: google.cloud.netapp.v1.NetApp.DeleteBackupVault:input_type -> google.cloud.netapp.v1.DeleteBackupVaultRequest + 46, // 46: google.cloud.netapp.v1.NetApp.CreateBackup:input_type -> google.cloud.netapp.v1.CreateBackupRequest + 47, // 47: google.cloud.netapp.v1.NetApp.GetBackup:input_type -> google.cloud.netapp.v1.GetBackupRequest + 48, // 48: google.cloud.netapp.v1.NetApp.ListBackups:input_type -> google.cloud.netapp.v1.ListBackupsRequest + 49, // 49: google.cloud.netapp.v1.NetApp.DeleteBackup:input_type -> google.cloud.netapp.v1.DeleteBackupRequest + 50, // 50: google.cloud.netapp.v1.NetApp.UpdateBackup:input_type -> google.cloud.netapp.v1.UpdateBackupRequest + 51, // 51: google.cloud.netapp.v1.NetApp.CreateBackupPolicy:input_type -> google.cloud.netapp.v1.CreateBackupPolicyRequest + 52, // 52: google.cloud.netapp.v1.NetApp.GetBackupPolicy:input_type -> google.cloud.netapp.v1.GetBackupPolicyRequest + 53, // 53: google.cloud.netapp.v1.NetApp.ListBackupPolicies:input_type -> google.cloud.netapp.v1.ListBackupPoliciesRequest + 54, // 54: google.cloud.netapp.v1.NetApp.UpdateBackupPolicy:input_type -> google.cloud.netapp.v1.UpdateBackupPolicyRequest + 55, // 55: google.cloud.netapp.v1.NetApp.DeleteBackupPolicy:input_type -> google.cloud.netapp.v1.DeleteBackupPolicyRequest + 56, // 56: google.cloud.netapp.v1.NetApp.ListStoragePools:output_type -> google.cloud.netapp.v1.ListStoragePoolsResponse + 57, // 57: google.cloud.netapp.v1.NetApp.CreateStoragePool:output_type -> google.longrunning.Operation + 58, // 58: google.cloud.netapp.v1.NetApp.GetStoragePool:output_type -> google.cloud.netapp.v1.StoragePool + 57, // 59: google.cloud.netapp.v1.NetApp.UpdateStoragePool:output_type -> google.longrunning.Operation + 57, // 60: google.cloud.netapp.v1.NetApp.DeleteStoragePool:output_type -> google.longrunning.Operation + 57, // 61: google.cloud.netapp.v1.NetApp.SwitchActiveReplicaZone:output_type -> google.longrunning.Operation + 59, // 62: google.cloud.netapp.v1.NetApp.ListVolumes:output_type -> google.cloud.netapp.v1.ListVolumesResponse + 60, // 63: google.cloud.netapp.v1.NetApp.GetVolume:output_type -> google.cloud.netapp.v1.Volume + 57, // 64: google.cloud.netapp.v1.NetApp.CreateVolume:output_type -> google.longrunning.Operation + 57, // 65: google.cloud.netapp.v1.NetApp.UpdateVolume:output_type -> google.longrunning.Operation + 57, // 66: google.cloud.netapp.v1.NetApp.DeleteVolume:output_type -> google.longrunning.Operation + 57, // 67: google.cloud.netapp.v1.NetApp.RevertVolume:output_type -> google.longrunning.Operation + 61, // 68: google.cloud.netapp.v1.NetApp.ListSnapshots:output_type -> google.cloud.netapp.v1.ListSnapshotsResponse + 62, // 69: google.cloud.netapp.v1.NetApp.GetSnapshot:output_type -> google.cloud.netapp.v1.Snapshot + 57, // 70: google.cloud.netapp.v1.NetApp.CreateSnapshot:output_type -> google.longrunning.Operation + 57, // 71: google.cloud.netapp.v1.NetApp.DeleteSnapshot:output_type -> google.longrunning.Operation + 57, // 72: google.cloud.netapp.v1.NetApp.UpdateSnapshot:output_type -> google.longrunning.Operation + 63, // 73: google.cloud.netapp.v1.NetApp.ListActiveDirectories:output_type -> google.cloud.netapp.v1.ListActiveDirectoriesResponse + 64, // 74: google.cloud.netapp.v1.NetApp.GetActiveDirectory:output_type -> google.cloud.netapp.v1.ActiveDirectory + 57, // 75: google.cloud.netapp.v1.NetApp.CreateActiveDirectory:output_type -> google.longrunning.Operation + 57, // 76: google.cloud.netapp.v1.NetApp.UpdateActiveDirectory:output_type -> google.longrunning.Operation + 57, // 77: google.cloud.netapp.v1.NetApp.DeleteActiveDirectory:output_type -> google.longrunning.Operation + 65, // 78: google.cloud.netapp.v1.NetApp.ListKmsConfigs:output_type -> google.cloud.netapp.v1.ListKmsConfigsResponse + 57, // 79: google.cloud.netapp.v1.NetApp.CreateKmsConfig:output_type -> google.longrunning.Operation + 66, // 80: google.cloud.netapp.v1.NetApp.GetKmsConfig:output_type -> google.cloud.netapp.v1.KmsConfig + 57, // 81: google.cloud.netapp.v1.NetApp.UpdateKmsConfig:output_type -> google.longrunning.Operation + 57, // 82: google.cloud.netapp.v1.NetApp.EncryptVolumes:output_type -> google.longrunning.Operation + 67, // 83: google.cloud.netapp.v1.NetApp.VerifyKmsConfig:output_type -> google.cloud.netapp.v1.VerifyKmsConfigResponse + 57, // 84: google.cloud.netapp.v1.NetApp.DeleteKmsConfig:output_type -> google.longrunning.Operation + 68, // 85: google.cloud.netapp.v1.NetApp.ListReplications:output_type -> google.cloud.netapp.v1.ListReplicationsResponse + 69, // 86: google.cloud.netapp.v1.NetApp.GetReplication:output_type -> google.cloud.netapp.v1.Replication + 57, // 87: google.cloud.netapp.v1.NetApp.CreateReplication:output_type -> google.longrunning.Operation + 57, // 88: google.cloud.netapp.v1.NetApp.DeleteReplication:output_type -> google.longrunning.Operation + 57, // 89: google.cloud.netapp.v1.NetApp.UpdateReplication:output_type -> google.longrunning.Operation + 57, // 90: google.cloud.netapp.v1.NetApp.StopReplication:output_type -> google.longrunning.Operation + 57, // 91: google.cloud.netapp.v1.NetApp.ResumeReplication:output_type -> google.longrunning.Operation + 57, // 92: google.cloud.netapp.v1.NetApp.ReverseReplicationDirection:output_type -> google.longrunning.Operation + 57, // 93: google.cloud.netapp.v1.NetApp.EstablishPeering:output_type -> google.longrunning.Operation + 57, // 94: google.cloud.netapp.v1.NetApp.SyncReplication:output_type -> google.longrunning.Operation + 57, // 95: google.cloud.netapp.v1.NetApp.CreateBackupVault:output_type -> google.longrunning.Operation + 70, // 96: google.cloud.netapp.v1.NetApp.GetBackupVault:output_type -> google.cloud.netapp.v1.BackupVault + 71, // 97: google.cloud.netapp.v1.NetApp.ListBackupVaults:output_type -> google.cloud.netapp.v1.ListBackupVaultsResponse + 57, // 98: google.cloud.netapp.v1.NetApp.UpdateBackupVault:output_type -> google.longrunning.Operation + 57, // 99: google.cloud.netapp.v1.NetApp.DeleteBackupVault:output_type -> google.longrunning.Operation + 57, // 100: google.cloud.netapp.v1.NetApp.CreateBackup:output_type -> google.longrunning.Operation + 72, // 101: google.cloud.netapp.v1.NetApp.GetBackup:output_type -> google.cloud.netapp.v1.Backup + 73, // 102: google.cloud.netapp.v1.NetApp.ListBackups:output_type -> google.cloud.netapp.v1.ListBackupsResponse + 57, // 103: google.cloud.netapp.v1.NetApp.DeleteBackup:output_type -> google.longrunning.Operation + 57, // 104: google.cloud.netapp.v1.NetApp.UpdateBackup:output_type -> google.longrunning.Operation + 57, // 105: google.cloud.netapp.v1.NetApp.CreateBackupPolicy:output_type -> google.longrunning.Operation + 74, // 106: google.cloud.netapp.v1.NetApp.GetBackupPolicy:output_type -> google.cloud.netapp.v1.BackupPolicy + 75, // 107: google.cloud.netapp.v1.NetApp.ListBackupPolicies:output_type -> google.cloud.netapp.v1.ListBackupPoliciesResponse + 57, // 108: google.cloud.netapp.v1.NetApp.UpdateBackupPolicy:output_type -> google.longrunning.Operation + 57, // 109: google.cloud.netapp.v1.NetApp.DeleteBackupPolicy:output_type -> google.longrunning.Operation + 56, // [56:110] is the sub-list for method output_type + 2, // [2:56] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name 2, // [2:2] is the sub-list for extension extendee 0, // [0:2] is the sub-list for field type_name @@ -1270,6 +1303,11 @@ type NetAppClient interface { // Reverses direction of replication. Source becomes destination and // destination becomes source. ReverseReplicationDirection(ctx context.Context, in *ReverseReplicationDirectionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Establish replication peering. + EstablishPeering(ctx context.Context, in *EstablishPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Syncs the replication. This will invoke one time volume data transfer from + // source to destination. + SyncReplication(ctx context.Context, in *SyncReplicationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Creates new backup vault CreateBackupVault(ctx context.Context, in *CreateBackupVaultRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Returns the description of the specified backup vault @@ -1646,6 +1684,24 @@ func (c *netAppClient) ReverseReplicationDirection(ctx context.Context, in *Reve return out, nil } +func (c *netAppClient) EstablishPeering(ctx context.Context, in *EstablishPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.netapp.v1.NetApp/EstablishPeering", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *netAppClient) SyncReplication(ctx context.Context, in *SyncReplicationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.netapp.v1.NetApp/SyncReplication", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *netAppClient) CreateBackupVault(ctx context.Context, in *CreateBackupVaultRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) err := c.cc.Invoke(ctx, "/google.cloud.netapp.v1.NetApp/CreateBackupVault", in, out, opts...) @@ -1863,6 +1919,11 @@ type NetAppServer interface { // Reverses direction of replication. Source becomes destination and // destination becomes source. ReverseReplicationDirection(context.Context, *ReverseReplicationDirectionRequest) (*longrunningpb.Operation, error) + // Establish replication peering. + EstablishPeering(context.Context, *EstablishPeeringRequest) (*longrunningpb.Operation, error) + // Syncs the replication. This will invoke one time volume data transfer from + // source to destination. + SyncReplication(context.Context, *SyncReplicationRequest) (*longrunningpb.Operation, error) // Creates new backup vault CreateBackupVault(context.Context, *CreateBackupVaultRequest) (*longrunningpb.Operation, error) // Returns the description of the specified backup vault @@ -2013,6 +2074,12 @@ func (*UnimplementedNetAppServer) ResumeReplication(context.Context, *ResumeRepl func (*UnimplementedNetAppServer) ReverseReplicationDirection(context.Context, *ReverseReplicationDirectionRequest) (*longrunningpb.Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method ReverseReplicationDirection not implemented") } +func (*UnimplementedNetAppServer) EstablishPeering(context.Context, *EstablishPeeringRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method EstablishPeering not implemented") +} +func (*UnimplementedNetAppServer) SyncReplication(context.Context, *SyncReplicationRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncReplication not implemented") +} func (*UnimplementedNetAppServer) CreateBackupVault(context.Context, *CreateBackupVaultRequest) (*longrunningpb.Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateBackupVault not implemented") } @@ -2729,6 +2796,42 @@ func _NetApp_ReverseReplicationDirection_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _NetApp_EstablishPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EstablishPeeringRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetAppServer).EstablishPeering(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.netapp.v1.NetApp/EstablishPeering", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetAppServer).EstablishPeering(ctx, req.(*EstablishPeeringRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NetApp_SyncReplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SyncReplicationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetAppServer).SyncReplication(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.netapp.v1.NetApp/SyncReplication", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetAppServer).SyncReplication(ctx, req.(*SyncReplicationRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NetApp_CreateBackupVault_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateBackupVaultRequest) if err := dec(in); err != nil { @@ -3151,6 +3254,14 @@ var _NetApp_serviceDesc = grpc.ServiceDesc{ MethodName: "ReverseReplicationDirection", Handler: _NetApp_ReverseReplicationDirection_Handler, }, + { + MethodName: "EstablishPeering", + Handler: _NetApp_EstablishPeering_Handler, + }, + { + MethodName: "SyncReplication", + Handler: _NetApp_SyncReplication_Handler, + }, { MethodName: "CreateBackupVault", Handler: _NetApp_CreateBackupVault_Handler, diff --git a/netapp/apiv1/netapppb/kms.pb.go b/netapp/apiv1/netapppb/kms.pb.go index 72f8f47bd918..b0ef0b6c43be 100755 --- a/netapp/apiv1/netapppb/kms.pb.go +++ b/netapp/apiv1/netapppb/kms.pb.go @@ -340,9 +340,9 @@ type CreateKmsConfigRequest struct { // Required. Value for parent. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. Id of the requesting KmsConfig. Must be unique within the parent - // resource. Must contain only letters, numbers, underscore and hyphen, with - // the first character a letter or underscore, the last a letter or underscore - // or a number, and a 63 character maximum. + // resource. Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a + // number, and a 63 character maximum. KmsConfigId string `protobuf:"bytes,2,opt,name=kms_config_id,json=kmsConfigId,proto3" json:"kms_config_id,omitempty"` // Required. The required parameters to create a new KmsConfig. KmsConfig *KmsConfig `protobuf:"bytes,3,opt,name=kms_config,json=kmsConfig,proto3" json:"kms_config,omitempty"` diff --git a/netapp/apiv1/netapppb/replication.pb.go b/netapp/apiv1/netapppb/replication.pb.go index bee6b4b1fc94..7abc5fa8a57e 100755 --- a/netapp/apiv1/netapppb/replication.pb.go +++ b/netapp/apiv1/netapppb/replication.pb.go @@ -56,6 +56,10 @@ const ( Replication_DELETING Replication_State = 5 // Replication is in error state. Replication_ERROR Replication_State = 6 + // Replication is waiting for cluster peering to be established. + Replication_PENDING_CLUSTER_PEERING Replication_State = 8 + // Replication is waiting for SVM peering to be established. + Replication_PENDING_SVM_PEERING Replication_State = 9 ) // Enum value maps for Replication_State. @@ -67,14 +71,18 @@ var ( 3: "UPDATING", 5: "DELETING", 6: "ERROR", + 8: "PENDING_CLUSTER_PEERING", + 9: "PENDING_SVM_PEERING", } Replication_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "CREATING": 1, - "READY": 2, - "UPDATING": 3, - "DELETING": 5, - "ERROR": 6, + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "READY": 2, + "UPDATING": 3, + "DELETING": 5, + "ERROR": 6, + "PENDING_CLUSTER_PEERING": 8, + "PENDING_SVM_PEERING": 9, } ) @@ -234,6 +242,10 @@ const ( Replication_STOPPED Replication_MirrorState = 3 // Incremental replication is in progress. Replication_TRANSFERRING Replication_MirrorState = 4 + // Baseline replication is in progress. + Replication_BASELINE_TRANSFERRING Replication_MirrorState = 5 + // Replication is aborted. + Replication_ABORTED Replication_MirrorState = 6 ) // Enum value maps for Replication_MirrorState. @@ -244,6 +256,8 @@ var ( 2: "MIRRORED", 3: "STOPPED", 4: "TRANSFERRING", + 5: "BASELINE_TRANSFERRING", + 6: "ABORTED", } Replication_MirrorState_value = map[string]int32{ "MIRROR_STATE_UNSPECIFIED": 0, @@ -251,6 +265,8 @@ var ( "MIRRORED": 2, "STOPPED": 3, "TRANSFERRING": 4, + "BASELINE_TRANSFERRING": 5, + "ABORTED": 6, } ) @@ -281,6 +297,59 @@ func (Replication_MirrorState) EnumDescriptor() ([]byte, []int) { return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{1, 3} } +// Hybrid replication type. +type Replication_HybridReplicationType int32 + +const ( + // Unspecified hybrid replication type. + Replication_HYBRID_REPLICATION_TYPE_UNSPECIFIED Replication_HybridReplicationType = 0 + // Hybrid replication type for migration. + Replication_MIGRATION Replication_HybridReplicationType = 1 + // Hybrid replication type for continuous replication. + Replication_CONTINUOUS_REPLICATION Replication_HybridReplicationType = 2 +) + +// Enum value maps for Replication_HybridReplicationType. +var ( + Replication_HybridReplicationType_name = map[int32]string{ + 0: "HYBRID_REPLICATION_TYPE_UNSPECIFIED", + 1: "MIGRATION", + 2: "CONTINUOUS_REPLICATION", + } + Replication_HybridReplicationType_value = map[string]int32{ + "HYBRID_REPLICATION_TYPE_UNSPECIFIED": 0, + "MIGRATION": 1, + "CONTINUOUS_REPLICATION": 2, + } +) + +func (x Replication_HybridReplicationType) Enum() *Replication_HybridReplicationType { + p := new(Replication_HybridReplicationType) + *p = x + return p +} + +func (x Replication_HybridReplicationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Replication_HybridReplicationType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_netapp_v1_replication_proto_enumTypes[4].Descriptor() +} + +func (Replication_HybridReplicationType) Type() protoreflect.EnumType { + return &file_google_cloud_netapp_v1_replication_proto_enumTypes[4] +} + +func (x Replication_HybridReplicationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Replication_HybridReplicationType.Descriptor instead. +func (Replication_HybridReplicationType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{1, 4} +} + // TransferStats reports all statistics related to replication transfer. type TransferStats struct { state protoimpl.MessageState @@ -439,6 +508,12 @@ type Replication struct { // Output only. Full name of source volume resource. // Example : "projects/{project}/locations/{location}/volumes/{volume_id}" SourceVolume string `protobuf:"bytes,15,opt,name=source_volume,json=sourceVolume,proto3" json:"source_volume,omitempty"` + // Output only. Hybrid peering details. + HybridPeeringDetails *HybridPeeringDetails `protobuf:"bytes,16,opt,name=hybrid_peering_details,json=hybridPeeringDetails,proto3" json:"hybrid_peering_details,omitempty"` + // Optional. Location of the user cluster. + ClusterLocation string `protobuf:"bytes,18,opt,name=cluster_location,json=clusterLocation,proto3" json:"cluster_location,omitempty"` + // Output only. Type of the hybrid replication. + HybridReplicationType Replication_HybridReplicationType `protobuf:"varint,19,opt,name=hybrid_replication_type,json=hybridReplicationType,proto3,enum=google.cloud.netapp.v1.Replication_HybridReplicationType" json:"hybrid_replication_type,omitempty"` } func (x *Replication) Reset() { @@ -571,6 +646,105 @@ func (x *Replication) GetSourceVolume() string { return "" } +func (x *Replication) GetHybridPeeringDetails() *HybridPeeringDetails { + if x != nil { + return x.HybridPeeringDetails + } + return nil +} + +func (x *Replication) GetClusterLocation() string { + if x != nil { + return x.ClusterLocation + } + return "" +} + +func (x *Replication) GetHybridReplicationType() Replication_HybridReplicationType { + if x != nil { + return x.HybridReplicationType + } + return Replication_HYBRID_REPLICATION_TYPE_UNSPECIFIED +} + +// HybridPeeringDetails contains details about the hybrid peering. +type HybridPeeringDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. IP address of the subnet. + SubnetIp string `protobuf:"bytes,1,opt,name=subnet_ip,json=subnetIp,proto3" json:"subnet_ip,omitempty"` + // Optional. Copy-paste-able commands to be used on user's ONTAP to accept + // peering requests. + Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"` + // Optional. Expiration time for the peering command to be executed on user's + // ONTAP. + CommandExpiryTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=command_expiry_time,json=commandExpiryTime,proto3" json:"command_expiry_time,omitempty"` + // Optional. Temporary passphrase generated to accept cluster peering command. + Passphrase string `protobuf:"bytes,4,opt,name=passphrase,proto3" json:"passphrase,omitempty"` +} + +func (x *HybridPeeringDetails) Reset() { + *x = HybridPeeringDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HybridPeeringDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HybridPeeringDetails) ProtoMessage() {} + +func (x *HybridPeeringDetails) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_netapp_v1_replication_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 HybridPeeringDetails.ProtoReflect.Descriptor instead. +func (*HybridPeeringDetails) Descriptor() ([]byte, []int) { + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{2} +} + +func (x *HybridPeeringDetails) GetSubnetIp() string { + if x != nil { + return x.SubnetIp + } + return "" +} + +func (x *HybridPeeringDetails) GetCommand() string { + if x != nil { + return x.Command + } + return "" +} + +func (x *HybridPeeringDetails) GetCommandExpiryTime() *timestamppb.Timestamp { + if x != nil { + return x.CommandExpiryTime + } + return nil +} + +func (x *HybridPeeringDetails) GetPassphrase() string { + if x != nil { + return x.Passphrase + } + return "" +} + // ListReplications lists replications. type ListReplicationsRequest struct { state protoimpl.MessageState @@ -595,7 +769,7 @@ type ListReplicationsRequest struct { func (x *ListReplicationsRequest) Reset() { *x = ListReplicationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[2] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -608,7 +782,7 @@ func (x *ListReplicationsRequest) String() string { func (*ListReplicationsRequest) ProtoMessage() {} func (x *ListReplicationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[2] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -621,7 +795,7 @@ func (x *ListReplicationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReplicationsRequest.ProtoReflect.Descriptor instead. func (*ListReplicationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{2} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{3} } func (x *ListReplicationsRequest) GetParent() string { @@ -677,7 +851,7 @@ type ListReplicationsResponse struct { func (x *ListReplicationsResponse) Reset() { *x = ListReplicationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[3] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -690,7 +864,7 @@ func (x *ListReplicationsResponse) String() string { func (*ListReplicationsResponse) ProtoMessage() {} func (x *ListReplicationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[3] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -703,7 +877,7 @@ func (x *ListReplicationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReplicationsResponse.ProtoReflect.Descriptor instead. func (*ListReplicationsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{3} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{4} } func (x *ListReplicationsResponse) GetReplications() []*Replication { @@ -741,7 +915,7 @@ type GetReplicationRequest struct { func (x *GetReplicationRequest) Reset() { *x = GetReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[4] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -754,7 +928,7 @@ func (x *GetReplicationRequest) String() string { func (*GetReplicationRequest) ProtoMessage() {} func (x *GetReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[4] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -767,7 +941,7 @@ func (x *GetReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReplicationRequest.ProtoReflect.Descriptor instead. func (*GetReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{4} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{5} } func (x *GetReplicationRequest) GetName() string { @@ -796,12 +970,14 @@ type DestinationVolumeParameters struct { ShareName string `protobuf:"bytes,3,opt,name=share_name,json=shareName,proto3" json:"share_name,omitempty"` // Description for the destination volume. Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Optional. Tiering policy for the volume. + TieringPolicy *TieringPolicy `protobuf:"bytes,5,opt,name=tiering_policy,json=tieringPolicy,proto3,oneof" json:"tiering_policy,omitempty"` } func (x *DestinationVolumeParameters) Reset() { *x = DestinationVolumeParameters{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[5] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -814,7 +990,7 @@ func (x *DestinationVolumeParameters) String() string { func (*DestinationVolumeParameters) ProtoMessage() {} func (x *DestinationVolumeParameters) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[5] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -827,7 +1003,7 @@ func (x *DestinationVolumeParameters) ProtoReflect() protoreflect.Message { // Deprecated: Use DestinationVolumeParameters.ProtoReflect.Descriptor instead. func (*DestinationVolumeParameters) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{5} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{6} } func (x *DestinationVolumeParameters) GetStoragePool() string { @@ -858,6 +1034,13 @@ func (x *DestinationVolumeParameters) GetDescription() string { return "" } +func (x *DestinationVolumeParameters) GetTieringPolicy() *TieringPolicy { + if x != nil { + return x.TieringPolicy + } + return nil +} + // CreateReplicationRequest creates a replication. type CreateReplicationRequest struct { state protoimpl.MessageState @@ -870,16 +1053,16 @@ type CreateReplicationRequest struct { // Required. A replication resource Replication *Replication `protobuf:"bytes,2,opt,name=replication,proto3" json:"replication,omitempty"` // Required. ID of the replication to create. Must be unique within the parent - // resource. Must contain only letters, numbers, underscore and hyphen, with - // the first character a letter or underscore, the last a letter or underscore - // or a number, and a 63 character maximum. + // resource. Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a + // number, and a 63 character maximum. ReplicationId string `protobuf:"bytes,3,opt,name=replication_id,json=replicationId,proto3" json:"replication_id,omitempty"` } func (x *CreateReplicationRequest) Reset() { *x = CreateReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[6] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -892,7 +1075,7 @@ func (x *CreateReplicationRequest) String() string { func (*CreateReplicationRequest) ProtoMessage() {} func (x *CreateReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[6] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -905,7 +1088,7 @@ func (x *CreateReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateReplicationRequest.ProtoReflect.Descriptor instead. func (*CreateReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{6} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{7} } func (x *CreateReplicationRequest) GetParent() string { @@ -943,7 +1126,7 @@ type DeleteReplicationRequest struct { func (x *DeleteReplicationRequest) Reset() { *x = DeleteReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[7] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -956,7 +1139,7 @@ func (x *DeleteReplicationRequest) String() string { func (*DeleteReplicationRequest) ProtoMessage() {} func (x *DeleteReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[7] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -969,7 +1152,7 @@ func (x *DeleteReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReplicationRequest.ProtoReflect.Descriptor instead. func (*DeleteReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{7} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{8} } func (x *DeleteReplicationRequest) GetName() string { @@ -995,7 +1178,7 @@ type UpdateReplicationRequest struct { func (x *UpdateReplicationRequest) Reset() { *x = UpdateReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[8] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1008,7 +1191,7 @@ func (x *UpdateReplicationRequest) String() string { func (*UpdateReplicationRequest) ProtoMessage() {} func (x *UpdateReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[8] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1021,7 +1204,7 @@ func (x *UpdateReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateReplicationRequest.ProtoReflect.Descriptor instead. func (*UpdateReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{8} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{9} } func (x *UpdateReplicationRequest) GetUpdateMask() *fieldmaskpb.FieldMask { @@ -1059,7 +1242,7 @@ type StopReplicationRequest struct { func (x *StopReplicationRequest) Reset() { *x = StopReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[9] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1072,7 +1255,7 @@ func (x *StopReplicationRequest) String() string { func (*StopReplicationRequest) ProtoMessage() {} func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[9] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1085,7 +1268,7 @@ func (x *StopReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopReplicationRequest.ProtoReflect.Descriptor instead. func (*StopReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{9} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{10} } func (x *StopReplicationRequest) GetName() string { @@ -1116,7 +1299,7 @@ type ResumeReplicationRequest struct { func (x *ResumeReplicationRequest) Reset() { *x = ResumeReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[10] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1129,7 +1312,7 @@ func (x *ResumeReplicationRequest) String() string { func (*ResumeReplicationRequest) ProtoMessage() {} func (x *ResumeReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[10] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1142,7 +1325,7 @@ func (x *ResumeReplicationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeReplicationRequest.ProtoReflect.Descriptor instead. func (*ResumeReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{10} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{11} } func (x *ResumeReplicationRequest) GetName() string { @@ -1167,7 +1350,7 @@ type ReverseReplicationDirectionRequest struct { func (x *ReverseReplicationDirectionRequest) Reset() { *x = ReverseReplicationDirectionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[11] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1180,7 +1363,7 @@ func (x *ReverseReplicationDirectionRequest) String() string { func (*ReverseReplicationDirectionRequest) ProtoMessage() {} func (x *ReverseReplicationDirectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[11] + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1193,7 +1376,7 @@ func (x *ReverseReplicationDirectionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ReverseReplicationDirectionRequest.ProtoReflect.Descriptor instead. func (*ReverseReplicationDirectionRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{11} + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{12} } func (x *ReverseReplicationDirectionRequest) GetName() string { @@ -1203,6 +1386,146 @@ func (x *ReverseReplicationDirectionRequest) GetName() string { return "" } +// EstablishPeeringRequest establishes cluster and svm peerings between the +// source and the destination replications. +type EstablishPeeringRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the replication, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Name of the user's local source cluster to be peered with the + // destination cluster. + PeerClusterName string `protobuf:"bytes,2,opt,name=peer_cluster_name,json=peerClusterName,proto3" json:"peer_cluster_name,omitempty"` + // Required. Name of the user's local source vserver svm to be peered with the + // destination vserver svm. + PeerSvmName string `protobuf:"bytes,3,opt,name=peer_svm_name,json=peerSvmName,proto3" json:"peer_svm_name,omitempty"` + // Optional. List of IPv4 ip addresses to be used for peering. + PeerIpAddresses []string `protobuf:"bytes,4,rep,name=peer_ip_addresses,json=peerIpAddresses,proto3" json:"peer_ip_addresses,omitempty"` + // Required. Name of the user's local source volume to be peered with the + // destination volume. + PeerVolumeName string `protobuf:"bytes,5,opt,name=peer_volume_name,json=peerVolumeName,proto3" json:"peer_volume_name,omitempty"` +} + +func (x *EstablishPeeringRequest) Reset() { + *x = EstablishPeeringRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EstablishPeeringRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EstablishPeeringRequest) ProtoMessage() {} + +func (x *EstablishPeeringRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_netapp_v1_replication_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 EstablishPeeringRequest.ProtoReflect.Descriptor instead. +func (*EstablishPeeringRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{13} +} + +func (x *EstablishPeeringRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EstablishPeeringRequest) GetPeerClusterName() string { + if x != nil { + return x.PeerClusterName + } + return "" +} + +func (x *EstablishPeeringRequest) GetPeerSvmName() string { + if x != nil { + return x.PeerSvmName + } + return "" +} + +func (x *EstablishPeeringRequest) GetPeerIpAddresses() []string { + if x != nil { + return x.PeerIpAddresses + } + return nil +} + +func (x *EstablishPeeringRequest) GetPeerVolumeName() string { + if x != nil { + return x.PeerVolumeName + } + return "" +} + +// SyncReplicationRequest syncs the replication from source to destination. +type SyncReplicationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the replication, in the format of + // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *SyncReplicationRequest) Reset() { + *x = SyncReplicationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_netapp_v1_replication_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SyncReplicationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncReplicationRequest) ProtoMessage() {} + +func (x *SyncReplicationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_netapp_v1_replication_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 SyncReplicationRequest.ProtoReflect.Descriptor instead. +func (*SyncReplicationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_netapp_v1_replication_proto_rawDescGZIP(), []int{14} +} + +func (x *SyncReplicationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + var File_google_cloud_netapp_v1_replication_proto protoreflect.FileDescriptor var file_google_cloud_netapp_v1_replication_proto_rawDesc = []byte{ @@ -1213,267 +1536,342 @@ var file_google_cloud_netapp_v1_replication_proto_rawDesc = []byte{ 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xe4, 0x05, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x56, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x15, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x16, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x41, 0x0a, 0x0c, 0x6c, 0x61, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x05, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x01, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x11, 0x6c, 0x61, 0x73, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x54, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x14, + 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x0c, 0x6c, 0x61, 0x67, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x67, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x05, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x16, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x06, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, + 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcc, 0x10, + 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4c, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x6f, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x48, 0x06, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, - 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x6c, 0x61, - 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xee, 0x0c, 0x0a, 0x0b, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x4c, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, - 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, - 0x6f, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, - 0x00, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x53, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x03, - 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x1d, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, - 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x04, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x64, 0x65, 0x73, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x1d, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, - 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x22, 0x50, - 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x22, 0x68, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x50, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, - 0x10, 0x45, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x31, 0x30, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, - 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, 0x4c, 0x59, 0x10, 0x02, 0x12, - 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x03, 0x22, 0x67, 0x0a, 0x0b, 0x4d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x49, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x50, 0x41, - 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x52, 0x49, 0x4e, - 0x47, 0x10, 0x04, 0x3a, 0x97, 0x01, 0xea, 0x41, 0x93, 0x01, 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x7d, 0x2a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x32, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x04, 0xe0, 0x41, 0x02, + 0x52, 0x1b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, + 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, + 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x76, 0x0a, 0x17, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x15, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, + 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, + 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x56, + 0x4d, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x22, 0x50, 0x0a, 0x0f, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x20, + 0x0a, 0x1c, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, + 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, + 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0x68, 0x0a, + 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x56, + 0x45, 0x52, 0x59, 0x5f, 0x31, 0x30, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, + 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x03, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x49, 0x52, 0x52, 0x4f, + 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, + 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x52, 0x49, 0x4e, 0x47, 0x10, + 0x04, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, + 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x06, 0x22, 0x6b, 0x0a, 0x15, 0x48, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, + 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, + 0x49, 0x47, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, + 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x3a, 0x97, 0x01, 0xea, 0x41, 0x93, 0x01, 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xad, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x56, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xde, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x4c, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6e, - 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, - 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xd5, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x32, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x01, 0x0a, + 0x14, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x70, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x4f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x70, + 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, + 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x22, 0xcb, 0x01, 0x0a, + 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xad, 0x01, 0x0a, 0x18, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x56, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x1b, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, + 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x0e, 0x74, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x74, 0x69, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x74, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd5, + 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, + 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x4a, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, - 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x73, 0x6b, 0x12, 0x4a, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, - 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 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, - 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 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, 0x59, 0x0a, - 0x18, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x22, 0x52, 0x65, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xb2, 0x01, - 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, - 0x76, 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0x3b, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, 0x74, - 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, - 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x16, + 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, + 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 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, 0x59, 0x0a, 0x18, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 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, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x22, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x17, + 0x45, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 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, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, + 0x73, 0x76, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x53, 0x76, 0x6d, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x22, 0x57, 0x0a, 0x16, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 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, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0xb2, 0x01, 0x0a, 0x1a, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0x3b, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, + 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x5c, + 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1488,53 +1886,62 @@ func file_google_cloud_netapp_v1_replication_proto_rawDescGZIP() []byte { return file_google_cloud_netapp_v1_replication_proto_rawDescData } -var file_google_cloud_netapp_v1_replication_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_google_cloud_netapp_v1_replication_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_google_cloud_netapp_v1_replication_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_cloud_netapp_v1_replication_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_google_cloud_netapp_v1_replication_proto_goTypes = []any{ (Replication_State)(0), // 0: google.cloud.netapp.v1.Replication.State (Replication_ReplicationRole)(0), // 1: google.cloud.netapp.v1.Replication.ReplicationRole (Replication_ReplicationSchedule)(0), // 2: google.cloud.netapp.v1.Replication.ReplicationSchedule (Replication_MirrorState)(0), // 3: google.cloud.netapp.v1.Replication.MirrorState - (*TransferStats)(nil), // 4: google.cloud.netapp.v1.TransferStats - (*Replication)(nil), // 5: google.cloud.netapp.v1.Replication - (*ListReplicationsRequest)(nil), // 6: google.cloud.netapp.v1.ListReplicationsRequest - (*ListReplicationsResponse)(nil), // 7: google.cloud.netapp.v1.ListReplicationsResponse - (*GetReplicationRequest)(nil), // 8: google.cloud.netapp.v1.GetReplicationRequest - (*DestinationVolumeParameters)(nil), // 9: google.cloud.netapp.v1.DestinationVolumeParameters - (*CreateReplicationRequest)(nil), // 10: google.cloud.netapp.v1.CreateReplicationRequest - (*DeleteReplicationRequest)(nil), // 11: google.cloud.netapp.v1.DeleteReplicationRequest - (*UpdateReplicationRequest)(nil), // 12: google.cloud.netapp.v1.UpdateReplicationRequest - (*StopReplicationRequest)(nil), // 13: google.cloud.netapp.v1.StopReplicationRequest - (*ResumeReplicationRequest)(nil), // 14: google.cloud.netapp.v1.ResumeReplicationRequest - (*ReverseReplicationDirectionRequest)(nil), // 15: google.cloud.netapp.v1.ReverseReplicationDirectionRequest - nil, // 16: google.cloud.netapp.v1.Replication.LabelsEntry - (*durationpb.Duration)(nil), // 17: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 19: google.protobuf.FieldMask + (Replication_HybridReplicationType)(0), // 4: google.cloud.netapp.v1.Replication.HybridReplicationType + (*TransferStats)(nil), // 5: google.cloud.netapp.v1.TransferStats + (*Replication)(nil), // 6: google.cloud.netapp.v1.Replication + (*HybridPeeringDetails)(nil), // 7: google.cloud.netapp.v1.HybridPeeringDetails + (*ListReplicationsRequest)(nil), // 8: google.cloud.netapp.v1.ListReplicationsRequest + (*ListReplicationsResponse)(nil), // 9: google.cloud.netapp.v1.ListReplicationsResponse + (*GetReplicationRequest)(nil), // 10: google.cloud.netapp.v1.GetReplicationRequest + (*DestinationVolumeParameters)(nil), // 11: google.cloud.netapp.v1.DestinationVolumeParameters + (*CreateReplicationRequest)(nil), // 12: google.cloud.netapp.v1.CreateReplicationRequest + (*DeleteReplicationRequest)(nil), // 13: google.cloud.netapp.v1.DeleteReplicationRequest + (*UpdateReplicationRequest)(nil), // 14: google.cloud.netapp.v1.UpdateReplicationRequest + (*StopReplicationRequest)(nil), // 15: google.cloud.netapp.v1.StopReplicationRequest + (*ResumeReplicationRequest)(nil), // 16: google.cloud.netapp.v1.ResumeReplicationRequest + (*ReverseReplicationDirectionRequest)(nil), // 17: google.cloud.netapp.v1.ReverseReplicationDirectionRequest + (*EstablishPeeringRequest)(nil), // 18: google.cloud.netapp.v1.EstablishPeeringRequest + (*SyncReplicationRequest)(nil), // 19: google.cloud.netapp.v1.SyncReplicationRequest + nil, // 20: google.cloud.netapp.v1.Replication.LabelsEntry + (*durationpb.Duration)(nil), // 21: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp + (*TieringPolicy)(nil), // 23: google.cloud.netapp.v1.TieringPolicy + (*fieldmaskpb.FieldMask)(nil), // 24: google.protobuf.FieldMask } var file_google_cloud_netapp_v1_replication_proto_depIdxs = []int32{ - 17, // 0: google.cloud.netapp.v1.TransferStats.total_transfer_duration:type_name -> google.protobuf.Duration - 17, // 1: google.cloud.netapp.v1.TransferStats.last_transfer_duration:type_name -> google.protobuf.Duration - 17, // 2: google.cloud.netapp.v1.TransferStats.lag_duration:type_name -> google.protobuf.Duration - 18, // 3: google.cloud.netapp.v1.TransferStats.update_time:type_name -> google.protobuf.Timestamp - 18, // 4: google.cloud.netapp.v1.TransferStats.last_transfer_end_time:type_name -> google.protobuf.Timestamp + 21, // 0: google.cloud.netapp.v1.TransferStats.total_transfer_duration:type_name -> google.protobuf.Duration + 21, // 1: google.cloud.netapp.v1.TransferStats.last_transfer_duration:type_name -> google.protobuf.Duration + 21, // 2: google.cloud.netapp.v1.TransferStats.lag_duration:type_name -> google.protobuf.Duration + 22, // 3: google.cloud.netapp.v1.TransferStats.update_time:type_name -> google.protobuf.Timestamp + 22, // 4: google.cloud.netapp.v1.TransferStats.last_transfer_end_time:type_name -> google.protobuf.Timestamp 0, // 5: google.cloud.netapp.v1.Replication.state:type_name -> google.cloud.netapp.v1.Replication.State 1, // 6: google.cloud.netapp.v1.Replication.role:type_name -> google.cloud.netapp.v1.Replication.ReplicationRole 2, // 7: google.cloud.netapp.v1.Replication.replication_schedule:type_name -> google.cloud.netapp.v1.Replication.ReplicationSchedule 3, // 8: google.cloud.netapp.v1.Replication.mirror_state:type_name -> google.cloud.netapp.v1.Replication.MirrorState - 18, // 9: google.cloud.netapp.v1.Replication.create_time:type_name -> google.protobuf.Timestamp - 4, // 10: google.cloud.netapp.v1.Replication.transfer_stats:type_name -> google.cloud.netapp.v1.TransferStats - 16, // 11: google.cloud.netapp.v1.Replication.labels:type_name -> google.cloud.netapp.v1.Replication.LabelsEntry - 9, // 12: google.cloud.netapp.v1.Replication.destination_volume_parameters:type_name -> google.cloud.netapp.v1.DestinationVolumeParameters - 5, // 13: google.cloud.netapp.v1.ListReplicationsResponse.replications:type_name -> google.cloud.netapp.v1.Replication - 5, // 14: google.cloud.netapp.v1.CreateReplicationRequest.replication:type_name -> google.cloud.netapp.v1.Replication - 19, // 15: google.cloud.netapp.v1.UpdateReplicationRequest.update_mask:type_name -> google.protobuf.FieldMask - 5, // 16: google.cloud.netapp.v1.UpdateReplicationRequest.replication:type_name -> google.cloud.netapp.v1.Replication - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 22, // 9: google.cloud.netapp.v1.Replication.create_time:type_name -> google.protobuf.Timestamp + 5, // 10: google.cloud.netapp.v1.Replication.transfer_stats:type_name -> google.cloud.netapp.v1.TransferStats + 20, // 11: google.cloud.netapp.v1.Replication.labels:type_name -> google.cloud.netapp.v1.Replication.LabelsEntry + 11, // 12: google.cloud.netapp.v1.Replication.destination_volume_parameters:type_name -> google.cloud.netapp.v1.DestinationVolumeParameters + 7, // 13: google.cloud.netapp.v1.Replication.hybrid_peering_details:type_name -> google.cloud.netapp.v1.HybridPeeringDetails + 4, // 14: google.cloud.netapp.v1.Replication.hybrid_replication_type:type_name -> google.cloud.netapp.v1.Replication.HybridReplicationType + 22, // 15: google.cloud.netapp.v1.HybridPeeringDetails.command_expiry_time:type_name -> google.protobuf.Timestamp + 6, // 16: google.cloud.netapp.v1.ListReplicationsResponse.replications:type_name -> google.cloud.netapp.v1.Replication + 23, // 17: google.cloud.netapp.v1.DestinationVolumeParameters.tiering_policy:type_name -> google.cloud.netapp.v1.TieringPolicy + 6, // 18: google.cloud.netapp.v1.CreateReplicationRequest.replication:type_name -> google.cloud.netapp.v1.Replication + 24, // 19: google.cloud.netapp.v1.UpdateReplicationRequest.update_mask:type_name -> google.protobuf.FieldMask + 6, // 20: google.cloud.netapp.v1.UpdateReplicationRequest.replication:type_name -> google.cloud.netapp.v1.Replication + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] 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_netapp_v1_replication_proto_init() } @@ -1542,6 +1949,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { if File_google_cloud_netapp_v1_replication_proto != nil { return } + file_google_cloud_netapp_v1_volume_proto_init() if !protoimpl.UnsafeEnabled { file_google_cloud_netapp_v1_replication_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*TransferStats); i { @@ -1568,7 +1976,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*ListReplicationsRequest); i { + switch v := v.(*HybridPeeringDetails); i { case 0: return &v.state case 1: @@ -1580,7 +1988,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*ListReplicationsResponse); i { + switch v := v.(*ListReplicationsRequest); i { case 0: return &v.state case 1: @@ -1592,7 +2000,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*GetReplicationRequest); i { + switch v := v.(*ListReplicationsResponse); i { case 0: return &v.state case 1: @@ -1604,7 +2012,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*DestinationVolumeParameters); i { + switch v := v.(*GetReplicationRequest); i { case 0: return &v.state case 1: @@ -1616,7 +2024,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*CreateReplicationRequest); i { + switch v := v.(*DestinationVolumeParameters); i { case 0: return &v.state case 1: @@ -1628,7 +2036,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*DeleteReplicationRequest); i { + switch v := v.(*CreateReplicationRequest); i { case 0: return &v.state case 1: @@ -1640,7 +2048,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*UpdateReplicationRequest); i { + switch v := v.(*DeleteReplicationRequest); i { case 0: return &v.state case 1: @@ -1652,7 +2060,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*StopReplicationRequest); i { + switch v := v.(*UpdateReplicationRequest); i { case 0: return &v.state case 1: @@ -1664,7 +2072,7 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*ResumeReplicationRequest); i { + switch v := v.(*StopReplicationRequest); i { case 0: return &v.state case 1: @@ -1676,6 +2084,18 @@ func file_google_cloud_netapp_v1_replication_proto_init() { } } file_google_cloud_netapp_v1_replication_proto_msgTypes[11].Exporter = func(v any, i int) any { + switch v := v.(*ResumeReplicationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_netapp_v1_replication_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*ReverseReplicationDirectionRequest); i { case 0: return &v.state @@ -1687,17 +2107,41 @@ func file_google_cloud_netapp_v1_replication_proto_init() { return nil } } + file_google_cloud_netapp_v1_replication_proto_msgTypes[13].Exporter = func(v any, i int) any { + switch v := v.(*EstablishPeeringRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_netapp_v1_replication_proto_msgTypes[14].Exporter = func(v any, i int) any { + switch v := v.(*SyncReplicationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_netapp_v1_replication_proto_msgTypes[0].OneofWrappers = []any{} file_google_cloud_netapp_v1_replication_proto_msgTypes[1].OneofWrappers = []any{} - file_google_cloud_netapp_v1_replication_proto_msgTypes[5].OneofWrappers = []any{} + file_google_cloud_netapp_v1_replication_proto_msgTypes[6].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_netapp_v1_replication_proto_rawDesc, - NumEnums: 4, - NumMessages: 13, + NumEnums: 5, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/netapp/apiv1/netapppb/snapshot.pb.go b/netapp/apiv1/netapppb/snapshot.pb.go index 8c87661405c0..aa1f80e3c524 100755 --- a/netapp/apiv1/netapppb/snapshot.pb.go +++ b/netapp/apiv1/netapppb/snapshot.pb.go @@ -325,9 +325,9 @@ type CreateSnapshotRequest struct { // Required. A snapshot resource Snapshot *Snapshot `protobuf:"bytes,2,opt,name=snapshot,proto3" json:"snapshot,omitempty"` // Required. ID of the snapshot to create. Must be unique within the parent - // resource. Must contain only letters, numbers, underscore and hyphen, with - // the first character a letter or underscore, the last a letter or underscore - // or a number, and a 63 character maximum. + // resource. Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a + // number, and a 63 character maximum. SnapshotId string `protobuf:"bytes,3,opt,name=snapshot_id,json=snapshotId,proto3" json:"snapshot_id,omitempty"` } diff --git a/netapp/apiv1/netapppb/storage_pool.pb.go b/netapp/apiv1/netapppb/storage_pool.pb.go index c77ddc1cb6a6..48c42ea65b6e 100755 --- a/netapp/apiv1/netapppb/storage_pool.pb.go +++ b/netapp/apiv1/netapppb/storage_pool.pb.go @@ -323,9 +323,9 @@ type CreateStoragePoolRequest struct { // Required. Value for parent. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. Id of the requesting storage pool. Must be unique within the - // parent resource. Must contain only letters, numbers, underscore and hyphen, - // with the first character a letter or underscore, the last a letter or - // underscore or a number, and a 63 character maximum. + // parent resource. Must contain only letters, numbers and hyphen, with the + // first character a letter, the last a letter or a number, and a 63 character + // maximum. StoragePoolId string `protobuf:"bytes,2,opt,name=storage_pool_id,json=storagePoolId,proto3" json:"storage_pool_id,omitempty"` // Required. The required parameters to create a new storage pool. StoragePool *StoragePool `protobuf:"bytes,3,opt,name=storage_pool,json=storagePool,proto3" json:"storage_pool,omitempty"` diff --git a/netapp/apiv1/netapppb/volume.pb.go b/netapp/apiv1/netapppb/volume.pb.go index 598bc49b9356..43d4d7c16c0c 100755 --- a/netapp/apiv1/netapppb/volume.pb.go +++ b/netapp/apiv1/netapppb/volume.pb.go @@ -356,6 +356,12 @@ const ( Volume_DISABLED Volume_State = 6 // Volume State is Error Volume_ERROR Volume_State = 7 + // Volume State is Preparing. Note that this is different from CREATING + // where CREATING means the volume is being created, while PREPARING means + // the volume is created and now being prepared for the replication. + Volume_PREPARING Volume_State = 8 + // Volume State is Read Only + Volume_READ_ONLY Volume_State = 9 ) // Enum value maps for Volume_State. @@ -369,6 +375,8 @@ var ( 5: "RESTORING", 6: "DISABLED", 7: "ERROR", + 8: "PREPARING", + 9: "READ_ONLY", } Volume_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, @@ -379,6 +387,8 @@ var ( "RESTORING": 5, "DISABLED": 6, "ERROR": 7, + "PREPARING": 8, + "READ_ONLY": 9, } ) @@ -674,9 +684,9 @@ type CreateVolumeRequest struct { // Required. Value for parent. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. Id of the requesting volume. Must be unique within the parent - // resource. Must contain only letters, numbers, underscore and hyphen, with - // the first character a letter or underscore, the last a letter or underscore - // or a number, and a 63 character maximum. + // resource. Must contain only letters, numbers and hyphen, with the first + // character a letter, the last a letter or a number, + // and a 63 character maximum. VolumeId string `protobuf:"bytes,2,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` // Required. The volume being created. Volume *Volume `protobuf:"bytes,3,opt,name=volume,proto3" json:"volume,omitempty"` @@ -1010,6 +1020,8 @@ type Volume struct { Zone string `protobuf:"bytes,37,opt,name=zone,proto3" json:"zone,omitempty"` // Output only. Size of the volume cold tier data in GiB. ColdTierSizeGib int64 `protobuf:"varint,39,opt,name=cold_tier_size_gib,json=coldTierSizeGib,proto3" json:"cold_tier_size_gib,omitempty"` + // Optional. The Hybrid Replication parameters for the volume. + HybridReplicationParameters *HybridReplicationParameters `protobuf:"bytes,40,opt,name=hybrid_replication_parameters,json=hybridReplicationParameters,proto3" json:"hybrid_replication_parameters,omitempty"` } func (x *Volume) Reset() { @@ -1303,6 +1315,13 @@ func (x *Volume) GetColdTierSizeGib() int64 { return 0 } +func (x *Volume) GetHybridReplicationParameters() *HybridReplicationParameters { + if x != nil { + return x.HybridReplicationParameters + } + return nil +} + // Defines the export policy for the volume. type ExportPolicy struct { state protoimpl.MessageState @@ -2183,6 +2202,124 @@ func (x *TieringPolicy) GetCoolingThresholdDays() int32 { return 0 } +// The Hybrid Replication parameters for the volume. +type HybridReplicationParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Desired Identifier (name) of the replication which will be created for this volume. + // Format: + // `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + Replication string `protobuf:"bytes,1,opt,name=replication,proto3" json:"replication,omitempty"` + // Required. Name of the user's local source volume to be peered with the + // destination volume. + PeerVolumeName string `protobuf:"bytes,2,opt,name=peer_volume_name,json=peerVolumeName,proto3" json:"peer_volume_name,omitempty"` + // Required. Name of the user's local source cluster to be peered with the + // destination cluster. + PeerClusterName string `protobuf:"bytes,3,opt,name=peer_cluster_name,json=peerClusterName,proto3" json:"peer_cluster_name,omitempty"` + // Required. Name of the user's local source vserver svm to be peered with the + // destination vserver svm. + PeerSvmName string `protobuf:"bytes,4,opt,name=peer_svm_name,json=peerSvmName,proto3" json:"peer_svm_name,omitempty"` + // Required. List of node ip addresses to be peered with. + PeerIpAddresses []string `protobuf:"bytes,5,rep,name=peer_ip_addresses,json=peerIpAddresses,proto3" json:"peer_ip_addresses,omitempty"` + // Optional. Name of source cluster location associated with the Hybrid + // replication. This is a free-form field for the display purpose only. + ClusterLocation string `protobuf:"bytes,6,opt,name=cluster_location,json=clusterLocation,proto3" json:"cluster_location,omitempty"` + // Optional. Description of the replication. + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Labels to be added to the replication as the key value pairs. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *HybridReplicationParameters) Reset() { + *x = HybridReplicationParameters{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_netapp_v1_volume_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HybridReplicationParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HybridReplicationParameters) ProtoMessage() {} + +func (x *HybridReplicationParameters) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_netapp_v1_volume_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 HybridReplicationParameters.ProtoReflect.Descriptor instead. +func (*HybridReplicationParameters) Descriptor() ([]byte, []int) { + return file_google_cloud_netapp_v1_volume_proto_rawDescGZIP(), []int{19} +} + +func (x *HybridReplicationParameters) GetReplication() string { + if x != nil { + return x.Replication + } + return "" +} + +func (x *HybridReplicationParameters) GetPeerVolumeName() string { + if x != nil { + return x.PeerVolumeName + } + return "" +} + +func (x *HybridReplicationParameters) GetPeerClusterName() string { + if x != nil { + return x.PeerClusterName + } + return "" +} + +func (x *HybridReplicationParameters) GetPeerSvmName() string { + if x != nil { + return x.PeerSvmName + } + return "" +} + +func (x *HybridReplicationParameters) GetPeerIpAddresses() []string { + if x != nil { + return x.PeerIpAddresses + } + return nil +} + +func (x *HybridReplicationParameters) GetClusterLocation() string { + if x != nil { + return x.ClusterLocation + } + return "" +} + +func (x *HybridReplicationParameters) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *HybridReplicationParameters) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + var File_google_cloud_netapp_v1_volume_proto protoreflect.FileDescriptor var file_google_cloud_netapp_v1_volume_proto_rawDesc = []byte{ @@ -2191,472 +2328,517 @@ var file_google_cloud_netapp_v1_volume_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, - 0x12, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, - 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, - 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xb2, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x12, - 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x76, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3b, - 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, - 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x13, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, + 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x12, 0x1c, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x76, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x4c, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 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, 0x13, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, - 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x22, 0x8f, 0x14, 0x0a, 0x06, 0x56, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, - 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, - 0x0a, 0x09, 0x70, 0x73, 0x61, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x73, 0x61, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x4c, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, - 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, - 0x6c, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x40, - 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x26, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x12, 0x4e, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x69, 0x62, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x61, 0x70, - 0x61, 0x63, 0x69, 0x74, 0x79, 0x47, 0x69, 0x62, 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, - 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x12, 0x1c, 0x6e, 0x65, + 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3b, 0x0a, 0x06, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x4b, - 0x0a, 0x0c, 0x73, 0x6d, 0x62, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x4d, - 0x42, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, - 0x73, 0x6d, 0x62, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x75, 0x6e, - 0x69, 0x78, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x78, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0e, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x6e, 0x61, - 0x70, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x08, - 0x75, 0x73, 0x65, 0x64, 0x5f, 0x67, 0x69, 0x62, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x64, 0x47, 0x69, 0x62, 0x12, 0x51, 0x0a, 0x0e, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, - 0x2e, 0x0a, 0x10, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, - 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x26, 0x0a, 0x0c, 0x6c, 0x64, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6c, 0x64, 0x61, 0x70, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x5d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, - 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x46, 0x0a, 0x0a, 0x6b, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x6e, 0x65, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 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, 0x13, 0x52, 0x65, 0x76, 0x65, 0x72, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x4b, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x6b, - 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, - 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x68, 0x61, - 0x73, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0d, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x12, - 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x22, 0xac, 0x15, 0x0a, 0x06, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x73, 0x61, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x73, 0x61, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4c, 0x0a, + 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0b, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x40, 0x0a, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, + 0x03, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x4e, 0x0a, + 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, + 0x0c, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x67, 0x69, 0x62, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x47, 0x69, 0x62, 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, - 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x6c, 0x61, - 0x72, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x69, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x22, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x0d, 0x74, 0x69, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x24, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x25, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x30, - 0x0a, 0x12, 0x63, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x67, 0x69, 0x62, 0x18, 0x27, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0f, 0x63, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x69, 0x62, - 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7b, 0x0a, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, - 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, - 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, - 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x09, 0x0a, - 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x3a, 0x6c, 0xea, 0x41, 0x69, 0x0a, 0x1c, 0x6e, - 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x38, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x32, 0x06, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x69, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x59, 0x0a, 0x0c, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x4b, 0x0a, 0x0c, 0x73, + 0x6d, 0x62, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x4d, 0x42, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x6d, 0x62, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x75, 0x6e, 0x69, 0x78, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x78, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, + 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x6e, 0x61, 0x70, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x64, 0x5f, 0x67, 0x69, 0x62, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x07, 0x75, 0x73, 0x65, 0x64, 0x47, 0x69, 0x62, 0x12, 0x51, 0x0a, 0x0e, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x10, + 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6b, 0x65, 0x72, + 0x62, 0x65, 0x72, 0x6f, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0c, + 0x6c, 0x64, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6c, 0x64, 0x61, 0x70, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, + 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x5d, + 0x0a, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xae, 0x06, 0x0a, 0x16, 0x53, 0x69, 0x6d, 0x70, 0x6c, - 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x2b, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x52, - 0x6f, 0x6f, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x0b, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x33, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x33, 0x88, 0x01, - 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x14, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, + 0x0a, 0x6b, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x27, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4b, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x6b, 0x6d, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, + 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x68, + 0x61, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0d, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x12, 0x72, 0x65, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x1f, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, + 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x69, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x0d, 0x74, 0x69, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5a, 0x6f, + 0x6e, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x63, + 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x69, + 0x62, 0x18, 0x27, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6f, + 0x6c, 0x64, 0x54, 0x69, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x69, 0x62, 0x12, 0x7c, 0x0a, + 0x1d, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x28, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, + 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, + 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, + 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, + 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x44, + 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x49, 0x4e, + 0x47, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, + 0x10, 0x09, 0x3a, 0x6c, 0xea, 0x41, 0x69, 0x0a, 0x1c, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2a, + 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x32, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x59, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, + 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x22, 0xae, 0x06, 0x0a, 0x16, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x68, 0x61, 0x73, + 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x48, + 0x02, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x03, 0x52, 0x05, 0x6e, 0x66, 0x73, 0x76, 0x33, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6e, + 0x66, 0x73, 0x76, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x05, 0x6e, 0x66, + 0x73, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x14, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, + 0x6f, 0x73, 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x11, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, + 0x35, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x11, 0x6b, 0x65, - 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, - 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x06, 0x52, 0x12, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x52, 0x65, - 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6b, 0x65, - 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x12, 0x6b, 0x65, 0x72, - 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x69, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, - 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x08, 0x52, 0x13, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x69, - 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, - 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x12, 0x6b, - 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x70, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, - 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x13, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, - 0x35, 0x70, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, 0x66, 0x73, 0x76, 0x33, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, 0x66, 0x73, 0x76, 0x34, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6b, - 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, - 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6b, 0x65, 0x72, 0x62, - 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, - 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x19, 0x0a, 0x17, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x12, 0x6b, + 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, + 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x12, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, + 0x69, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, + 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x13, + 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x69, 0x52, 0x65, 0x61, 0x64, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, + 0x6f, 0x73, 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x12, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, + 0x73, 0x35, 0x70, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x16, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, + 0x52, 0x13, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x35, 0x70, 0x52, 0x65, 0x61, 0x64, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, 0x66, 0x73, 0x76, 0x33, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, + 0x66, 0x73, 0x76, 0x34, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, + 0x73, 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x18, 0x0a, + 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, + 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, + 0x69, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0xe3, 0x03, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0f, 0x68, 0x6f, 0x75, - 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x75, 0x72, - 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x6f, - 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x51, 0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x02, - 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x48, 0x03, 0x52, 0x0e, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, - 0x68, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x74, - 0x68, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x04, 0x52, 0x0f, 0x6d, - 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x6f, 0x6e, - 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x7f, 0x0a, - 0x0e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, - 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, - 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, - 0x65, 0x65, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x22, 0xa0, - 0x01, 0x0a, 0x0d, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, - 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, - 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x04, - 0x68, 0x6f, 0x75, 0x72, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6e, 0x61, 0x70, + 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6b, 0x65, 0x72, 0x62, 0x65, + 0x72, 0x6f, 0x73, 0x5f, 0x35, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x22, 0xe3, 0x03, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0e, 0x64, 0x61, 0x69, + 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x02, 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, + 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0f, + 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x03, 0x52, + 0x0e, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x57, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, + 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x04, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x68, 0x6f, 0x75, 0x72, + 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x7f, 0x0a, 0x0e, 0x48, 0x6f, 0x75, 0x72, 0x6c, + 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, + 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x75, - 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x0e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x00, 0x52, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, - 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x64, - 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x03, 0x64, 0x61, 0x79, 0x88, + 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0d, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, + 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, + 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, + 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x0e, + 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, + 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, + 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, + 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x04, 0x68, 0x6f, + 0x75, 0x72, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x03, 0x64, 0x61, 0x79, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, + 0x65, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x61, 0x79, 0x22, 0xdd, + 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, + 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, + 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x61, 0x79, + 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x73, 0x4f, 0x66, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, - 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x64, 0x61, 0x79, 0x22, 0xdd, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, - 0x54, 0x6f, 0x4b, 0x65, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x69, 0x6e, - 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, - 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0d, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x73, 0x4f, 0x66, - 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, - 0x75, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, - 0x6f, 0x6e, 0x74, 0x68, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x3d, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, - 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x6f, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0xe1, 0x02, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, - 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, - 0x41, 0x01, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x42, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x10, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x0d, 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x0b, 0x74, 0x69, 0x65, 0x72, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x16, 0x63, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x5f, - 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x14, 0x63, 0x6f, 0x6f, - 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, - 0x73, 0x88, 0x01, 0x01, 0x22, 0x42, 0x0a, 0x0a, 0x54, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x69, 0x65, - 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x63, 0x6f, 0x6f, - 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x64, - 0x61, 0x79, 0x73, 0x2a, 0x45, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, - 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x53, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4e, - 0x46, 0x53, 0x56, 0x33, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x46, 0x53, 0x56, 0x34, 0x10, - 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4d, 0x42, 0x10, 0x03, 0x2a, 0x57, 0x0a, 0x0a, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x43, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, - 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, - 0x54, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x03, 0x2a, 0xe8, 0x01, 0x0a, 0x0b, 0x53, 0x4d, 0x42, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4d, 0x42, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x59, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x4e, 0x5f, 0x42, 0x52, 0x4f, - 0x57, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x4c, 0x4f, - 0x43, 0x4b, 0x53, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x53, 0x4e, - 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x48, 0x4f, 0x57, - 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x4f, 0x55, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, - 0x4e, 0x53, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x42, - 0x41, 0x53, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, - 0x4c, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x09, 0x2a, 0x43, - 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, - 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x59, 0x4c, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x4e, 0x54, 0x46, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x4e, 0x49, - 0x58, 0x10, 0x02, 0x2a, 0x41, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x53, 0x54, 0x52, - 0x49, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x42, 0xad, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, - 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0x3b, - 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x5c, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, 0x41, - 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x22, 0xa9, + 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x12, 0x3d, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6f, 0x0a, 0x11, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x29, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe1, 0x02, 0x0a, 0x0c, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x6e, + 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x75, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, + 0x6c, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x56, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x42, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, + 0x9b, 0x02, 0x0a, 0x0d, 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x5b, 0x0a, 0x0b, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x69, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x54, 0x69, + 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0a, 0x74, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x0a, 0x16, 0x63, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x14, 0x63, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x22, 0x42, + 0x0a, 0x0a, 0x54, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, + 0x54, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, + 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x22, 0x94, 0x04, + 0x0a, 0x1b, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4b, 0x0a, + 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6e, 0x65, 0x74, 0x61, + 0x70, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x65, + 0x65, 0x72, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x65, 0x65, + 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x65, + 0x65, 0x72, 0x5f, 0x73, 0x76, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x53, 0x76, 0x6d, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x45, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x73, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, + 0x4e, 0x46, 0x53, 0x56, 0x33, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x46, 0x53, 0x56, 0x34, + 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4d, 0x42, 0x10, 0x03, 0x2a, 0x57, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, + 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, + 0x49, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x03, 0x2a, 0xe8, 0x01, 0x0a, 0x0b, 0x53, 0x4d, 0x42, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x4d, 0x42, 0x5f, 0x53, 0x45, 0x54, 0x54, + 0x49, 0x4e, 0x47, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x4f, + 0x54, 0x49, 0x46, 0x59, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x4e, 0x5f, 0x42, 0x52, + 0x4f, 0x57, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x50, 0x4c, + 0x4f, 0x43, 0x4b, 0x53, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x53, + 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x48, 0x4f, + 0x57, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x4f, 0x55, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, + 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, + 0x42, 0x41, 0x53, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, + 0x53, 0x4c, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x09, 0x2a, + 0x43, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, + 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x59, + 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x54, 0x46, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x4e, + 0x49, 0x58, 0x10, 0x02, 0x2a, 0x41, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x53, 0x54, + 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x42, 0xad, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x65, 0x74, + 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, + 0x70, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, + 0x3b, 0x6e, 0x65, 0x74, 0x61, 0x70, 0x70, 0x70, 0x62, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x4e, 0x65, 0x74, 0x41, 0x70, 0x70, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x4e, 0x65, 0x74, + 0x41, 0x70, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2672,73 +2854,77 @@ func file_google_cloud_netapp_v1_volume_proto_rawDescGZIP() []byte { } var file_google_cloud_netapp_v1_volume_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_google_cloud_netapp_v1_volume_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_google_cloud_netapp_v1_volume_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_google_cloud_netapp_v1_volume_proto_goTypes = []any{ - (Protocols)(0), // 0: google.cloud.netapp.v1.Protocols - (AccessType)(0), // 1: google.cloud.netapp.v1.AccessType - (SMBSettings)(0), // 2: google.cloud.netapp.v1.SMBSettings - (SecurityStyle)(0), // 3: google.cloud.netapp.v1.SecurityStyle - (RestrictedAction)(0), // 4: google.cloud.netapp.v1.RestrictedAction - (Volume_State)(0), // 5: google.cloud.netapp.v1.Volume.State - (TieringPolicy_TierAction)(0), // 6: google.cloud.netapp.v1.TieringPolicy.TierAction - (*ListVolumesRequest)(nil), // 7: google.cloud.netapp.v1.ListVolumesRequest - (*ListVolumesResponse)(nil), // 8: google.cloud.netapp.v1.ListVolumesResponse - (*GetVolumeRequest)(nil), // 9: google.cloud.netapp.v1.GetVolumeRequest - (*CreateVolumeRequest)(nil), // 10: google.cloud.netapp.v1.CreateVolumeRequest - (*UpdateVolumeRequest)(nil), // 11: google.cloud.netapp.v1.UpdateVolumeRequest - (*DeleteVolumeRequest)(nil), // 12: google.cloud.netapp.v1.DeleteVolumeRequest - (*RevertVolumeRequest)(nil), // 13: google.cloud.netapp.v1.RevertVolumeRequest - (*Volume)(nil), // 14: google.cloud.netapp.v1.Volume - (*ExportPolicy)(nil), // 15: google.cloud.netapp.v1.ExportPolicy - (*SimpleExportPolicyRule)(nil), // 16: google.cloud.netapp.v1.SimpleExportPolicyRule - (*SnapshotPolicy)(nil), // 17: google.cloud.netapp.v1.SnapshotPolicy - (*HourlySchedule)(nil), // 18: google.cloud.netapp.v1.HourlySchedule - (*DailySchedule)(nil), // 19: google.cloud.netapp.v1.DailySchedule - (*WeeklySchedule)(nil), // 20: google.cloud.netapp.v1.WeeklySchedule - (*MonthlySchedule)(nil), // 21: google.cloud.netapp.v1.MonthlySchedule - (*MountOption)(nil), // 22: google.cloud.netapp.v1.MountOption - (*RestoreParameters)(nil), // 23: google.cloud.netapp.v1.RestoreParameters - (*BackupConfig)(nil), // 24: google.cloud.netapp.v1.BackupConfig - (*TieringPolicy)(nil), // 25: google.cloud.netapp.v1.TieringPolicy - nil, // 26: google.cloud.netapp.v1.Volume.LabelsEntry - (*fieldmaskpb.FieldMask)(nil), // 27: google.protobuf.FieldMask - (*timestamppb.Timestamp)(nil), // 28: google.protobuf.Timestamp - (ServiceLevel)(0), // 29: google.cloud.netapp.v1.ServiceLevel - (EncryptionType)(0), // 30: google.cloud.netapp.v1.EncryptionType + (Protocols)(0), // 0: google.cloud.netapp.v1.Protocols + (AccessType)(0), // 1: google.cloud.netapp.v1.AccessType + (SMBSettings)(0), // 2: google.cloud.netapp.v1.SMBSettings + (SecurityStyle)(0), // 3: google.cloud.netapp.v1.SecurityStyle + (RestrictedAction)(0), // 4: google.cloud.netapp.v1.RestrictedAction + (Volume_State)(0), // 5: google.cloud.netapp.v1.Volume.State + (TieringPolicy_TierAction)(0), // 6: google.cloud.netapp.v1.TieringPolicy.TierAction + (*ListVolumesRequest)(nil), // 7: google.cloud.netapp.v1.ListVolumesRequest + (*ListVolumesResponse)(nil), // 8: google.cloud.netapp.v1.ListVolumesResponse + (*GetVolumeRequest)(nil), // 9: google.cloud.netapp.v1.GetVolumeRequest + (*CreateVolumeRequest)(nil), // 10: google.cloud.netapp.v1.CreateVolumeRequest + (*UpdateVolumeRequest)(nil), // 11: google.cloud.netapp.v1.UpdateVolumeRequest + (*DeleteVolumeRequest)(nil), // 12: google.cloud.netapp.v1.DeleteVolumeRequest + (*RevertVolumeRequest)(nil), // 13: google.cloud.netapp.v1.RevertVolumeRequest + (*Volume)(nil), // 14: google.cloud.netapp.v1.Volume + (*ExportPolicy)(nil), // 15: google.cloud.netapp.v1.ExportPolicy + (*SimpleExportPolicyRule)(nil), // 16: google.cloud.netapp.v1.SimpleExportPolicyRule + (*SnapshotPolicy)(nil), // 17: google.cloud.netapp.v1.SnapshotPolicy + (*HourlySchedule)(nil), // 18: google.cloud.netapp.v1.HourlySchedule + (*DailySchedule)(nil), // 19: google.cloud.netapp.v1.DailySchedule + (*WeeklySchedule)(nil), // 20: google.cloud.netapp.v1.WeeklySchedule + (*MonthlySchedule)(nil), // 21: google.cloud.netapp.v1.MonthlySchedule + (*MountOption)(nil), // 22: google.cloud.netapp.v1.MountOption + (*RestoreParameters)(nil), // 23: google.cloud.netapp.v1.RestoreParameters + (*BackupConfig)(nil), // 24: google.cloud.netapp.v1.BackupConfig + (*TieringPolicy)(nil), // 25: google.cloud.netapp.v1.TieringPolicy + (*HybridReplicationParameters)(nil), // 26: google.cloud.netapp.v1.HybridReplicationParameters + nil, // 27: google.cloud.netapp.v1.Volume.LabelsEntry + nil, // 28: google.cloud.netapp.v1.HybridReplicationParameters.LabelsEntry + (*fieldmaskpb.FieldMask)(nil), // 29: google.protobuf.FieldMask + (*timestamppb.Timestamp)(nil), // 30: google.protobuf.Timestamp + (ServiceLevel)(0), // 31: google.cloud.netapp.v1.ServiceLevel + (EncryptionType)(0), // 32: google.cloud.netapp.v1.EncryptionType } var file_google_cloud_netapp_v1_volume_proto_depIdxs = []int32{ 14, // 0: google.cloud.netapp.v1.ListVolumesResponse.volumes:type_name -> google.cloud.netapp.v1.Volume 14, // 1: google.cloud.netapp.v1.CreateVolumeRequest.volume:type_name -> google.cloud.netapp.v1.Volume - 27, // 2: google.cloud.netapp.v1.UpdateVolumeRequest.update_mask:type_name -> google.protobuf.FieldMask + 29, // 2: google.cloud.netapp.v1.UpdateVolumeRequest.update_mask:type_name -> google.protobuf.FieldMask 14, // 3: google.cloud.netapp.v1.UpdateVolumeRequest.volume:type_name -> google.cloud.netapp.v1.Volume 5, // 4: google.cloud.netapp.v1.Volume.state:type_name -> google.cloud.netapp.v1.Volume.State - 28, // 5: google.cloud.netapp.v1.Volume.create_time:type_name -> google.protobuf.Timestamp - 29, // 6: google.cloud.netapp.v1.Volume.service_level:type_name -> google.cloud.netapp.v1.ServiceLevel + 30, // 5: google.cloud.netapp.v1.Volume.create_time:type_name -> google.protobuf.Timestamp + 31, // 6: google.cloud.netapp.v1.Volume.service_level:type_name -> google.cloud.netapp.v1.ServiceLevel 15, // 7: google.cloud.netapp.v1.Volume.export_policy:type_name -> google.cloud.netapp.v1.ExportPolicy 0, // 8: google.cloud.netapp.v1.Volume.protocols:type_name -> google.cloud.netapp.v1.Protocols 2, // 9: google.cloud.netapp.v1.Volume.smb_settings:type_name -> google.cloud.netapp.v1.SMBSettings 22, // 10: google.cloud.netapp.v1.Volume.mount_options:type_name -> google.cloud.netapp.v1.MountOption - 26, // 11: google.cloud.netapp.v1.Volume.labels:type_name -> google.cloud.netapp.v1.Volume.LabelsEntry + 27, // 11: google.cloud.netapp.v1.Volume.labels:type_name -> google.cloud.netapp.v1.Volume.LabelsEntry 17, // 12: google.cloud.netapp.v1.Volume.snapshot_policy:type_name -> google.cloud.netapp.v1.SnapshotPolicy 3, // 13: google.cloud.netapp.v1.Volume.security_style:type_name -> google.cloud.netapp.v1.SecurityStyle 23, // 14: google.cloud.netapp.v1.Volume.restore_parameters:type_name -> google.cloud.netapp.v1.RestoreParameters - 30, // 15: google.cloud.netapp.v1.Volume.encryption_type:type_name -> google.cloud.netapp.v1.EncryptionType + 32, // 15: google.cloud.netapp.v1.Volume.encryption_type:type_name -> google.cloud.netapp.v1.EncryptionType 24, // 16: google.cloud.netapp.v1.Volume.backup_config:type_name -> google.cloud.netapp.v1.BackupConfig 4, // 17: google.cloud.netapp.v1.Volume.restricted_actions:type_name -> google.cloud.netapp.v1.RestrictedAction 25, // 18: google.cloud.netapp.v1.Volume.tiering_policy:type_name -> google.cloud.netapp.v1.TieringPolicy - 16, // 19: google.cloud.netapp.v1.ExportPolicy.rules:type_name -> google.cloud.netapp.v1.SimpleExportPolicyRule - 1, // 20: google.cloud.netapp.v1.SimpleExportPolicyRule.access_type:type_name -> google.cloud.netapp.v1.AccessType - 18, // 21: google.cloud.netapp.v1.SnapshotPolicy.hourly_schedule:type_name -> google.cloud.netapp.v1.HourlySchedule - 19, // 22: google.cloud.netapp.v1.SnapshotPolicy.daily_schedule:type_name -> google.cloud.netapp.v1.DailySchedule - 20, // 23: google.cloud.netapp.v1.SnapshotPolicy.weekly_schedule:type_name -> google.cloud.netapp.v1.WeeklySchedule - 21, // 24: google.cloud.netapp.v1.SnapshotPolicy.monthly_schedule:type_name -> google.cloud.netapp.v1.MonthlySchedule - 0, // 25: google.cloud.netapp.v1.MountOption.protocol:type_name -> google.cloud.netapp.v1.Protocols - 6, // 26: google.cloud.netapp.v1.TieringPolicy.tier_action:type_name -> google.cloud.netapp.v1.TieringPolicy.TierAction - 27, // [27:27] is the sub-list for method output_type - 27, // [27:27] is the sub-list for method input_type - 27, // [27:27] is the sub-list for extension type_name - 27, // [27:27] is the sub-list for extension extendee - 0, // [0:27] is the sub-list for field type_name + 26, // 19: google.cloud.netapp.v1.Volume.hybrid_replication_parameters:type_name -> google.cloud.netapp.v1.HybridReplicationParameters + 16, // 20: google.cloud.netapp.v1.ExportPolicy.rules:type_name -> google.cloud.netapp.v1.SimpleExportPolicyRule + 1, // 21: google.cloud.netapp.v1.SimpleExportPolicyRule.access_type:type_name -> google.cloud.netapp.v1.AccessType + 18, // 22: google.cloud.netapp.v1.SnapshotPolicy.hourly_schedule:type_name -> google.cloud.netapp.v1.HourlySchedule + 19, // 23: google.cloud.netapp.v1.SnapshotPolicy.daily_schedule:type_name -> google.cloud.netapp.v1.DailySchedule + 20, // 24: google.cloud.netapp.v1.SnapshotPolicy.weekly_schedule:type_name -> google.cloud.netapp.v1.WeeklySchedule + 21, // 25: google.cloud.netapp.v1.SnapshotPolicy.monthly_schedule:type_name -> google.cloud.netapp.v1.MonthlySchedule + 0, // 26: google.cloud.netapp.v1.MountOption.protocol:type_name -> google.cloud.netapp.v1.Protocols + 6, // 27: google.cloud.netapp.v1.TieringPolicy.tier_action:type_name -> google.cloud.netapp.v1.TieringPolicy.TierAction + 28, // 28: google.cloud.netapp.v1.HybridReplicationParameters.labels:type_name -> google.cloud.netapp.v1.HybridReplicationParameters.LabelsEntry + 29, // [29:29] is the sub-list for method output_type + 29, // [29:29] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name } func init() { file_google_cloud_netapp_v1_volume_proto_init() } @@ -2976,6 +3162,18 @@ func file_google_cloud_netapp_v1_volume_proto_init() { return nil } } + file_google_cloud_netapp_v1_volume_proto_msgTypes[19].Exporter = func(v any, i int) any { + switch v := v.(*HybridReplicationParameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_netapp_v1_volume_proto_msgTypes[7].OneofWrappers = []any{} file_google_cloud_netapp_v1_volume_proto_msgTypes[9].OneofWrappers = []any{} @@ -2996,7 +3194,7 @@ func file_google_cloud_netapp_v1_volume_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_netapp_v1_volume_proto_rawDesc, NumEnums: 7, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 0, },