From dd7c8e5a206ca6fab7d05e2591a36ea706e5e9f1 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 16:46:40 +0000 Subject: [PATCH] fix(aiplatform): An existing field `response_recall_input` is removed from message `.google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest` (#9672) - [ ] Regenerate this pull request now. fix: An existing field `rag_context_recall_input` is removed from message `.google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest` fix: An existing field `response_recall_result` is removed from message `.google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse` fix: An existing field `rag_context_recall_result` is removed from message `.google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse` fix: An existing message `ResponseRecallInput` is removed fix: An existing message `ResponseRecallInstance` is removed fix: An existing message `ResponseRecallSpec` is removed fix: An existing message `ResponseRecallResult` is removed fix: Changed field behavior for an existing field `context` in message `.google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInstance` fix: Changed field behavior for an existing field `context` in message `.google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInstance` fix: An existing message `RagContextRecallInput` is removed fix: An existing message `RagContextRecallInstance` is removed fix: An existing message `RagContextRecallSpec` is removed fix: An existing message `RagContextRecallResult` is removed fix: An existing message `NoAuth` is removed feat: A new field `presence_penalty` is added to message `.google.cloud.aiplatform.v1beta1.GenerationConfig` feat: A new field `frequency_penalty` is added to message `.google.cloud.aiplatform.v1beta1.GenerationConfig` feat: A new field `response_mime_type` is added to message `.google.cloud.aiplatform.v1beta1.GenerationConfig` feat: A new enum `HarmBlockMethod` is added feat: A new field `method` is added to message `.google.cloud.aiplatform.v1beta1.SafetySetting` feat: A new message `RetrievedContext` is added feat: A new field `retrieved_context` is added to message `.google.cloud.aiplatform.v1beta1.GroundingAttribution` feat: A new field `retrieval_queries` is added to message `.google.cloud.aiplatform.v1beta1.GroundingMetadata` feat: A new message `IndexConfig` is added feat: A new field `index_config` is added to message `.google.cloud.aiplatform.v1beta1.FeatureView` feat: A new message `GoogleDriveSource` is added feat: A new message `DirectUploadSource` is added feat: A new field `title` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `default` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `min_items` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `max_items` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `min_properties` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `max_properties` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `minimum` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `maximum` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `min_length` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `max_length` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new field `pattern` is added to message `.google.cloud.aiplatform.v1beta1.Schema` feat: A new method `ChatCompletions` is added to service `PredictionService` feat: A new field `system_instruction` is added to message `.google.cloud.aiplatform.v1beta1.GenerateContentRequest` feat: A new value `BLOCKLIST` is added to enum `BlockedReason` feat: A new value `PROHIBITED_CONTENT` is added to enum `BlockedReason` feat: A new message `ChatCompletionsRequest` is added feat: A new field `vertex_rag_store` is added to message `.google.cloud.aiplatform.v1beta1.Retrieval` feat: A new message `VertexRagStore` is added feat: A new message `RagCorpus` is added feat: A new resource_definition `aiplatform.googleapis.com/RagCorpus` is added feat: A new message `RagFile` is added feat: A new resource_definition `aiplatform.googleapis.com/RagFile` is added feat: A new message `RagFileChunkingConfig` is added feat: A new message `UploadRagFileConfig` is added feat: A new message `ImportRagFilesConfig` is added feat: A new service `VertexRagDataService` is added feat: A new message `CreateRagCorpusRequest` is added feat: A new message `GetRagCorpusRequest` is added feat: A new message `ListRagCorporaRequest` is added feat: A new message `ListRagCorporaResponse` is added feat: A new message `DeleteRagCorpusRequest` is added feat: A new message `UploadRagFileRequest` is added feat: A new message `UploadRagFileResponse` is added feat: A new message `ImportRagFilesRequest` is added feat: A new message `ImportRagFilesResponse` is added feat: A new message `GetRagFileRequest` is added feat: A new message `ListRagFilesRequest` is added feat: A new message `ListRagFilesResponse` is added feat: A new message `DeleteRagFileRequest` is added feat: A new message `CreateRagCorpusOperationMetadata` is added feat: A new message `ImportRagFilesOperationMetadata` is added feat: A new service `VertexRagService` is added feat: A new message `RagQuery` is added feat: A new message `RetrieveContextsRequest` is added feat: A new message `RagContexts` is added feat: A new message `RetrieveContextsResponse` is added docs: Documentation updates PiperOrigin-RevId: 620417091 Source-Link: https://togithub.com/googleapis/googleapis/commit/afdd0cfe2e71b1af3faa8b563f289dd0a07a8b0b Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/70289c1f90decd97814725af0ec7b216dfb4cd7b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNzAyODljMWY5MGRlY2Q5NzgxNDcyNWFmMGVjN2IyMTZkZmI0Y2Q3YiJ9 BEGIN_NESTED_COMMIT feat(aiplatform): A new field `presence_penalty` is added to message `.google.cloud.aiplatform.v1.GenerationConfig` feat: A new field `frequency_penalty` is added to message `.google.cloud.aiplatform.v1.GenerationConfig` feat: A new field `response_mime_type` is added to message `.google.cloud.aiplatform.v1.GenerationConfig` feat: A new enum `HarmBlockMethod` is added feat: A new field `method` is added to message `.google.cloud.aiplatform.v1.SafetySetting` feat: A new field `persistent_resource_id` is added to message `.google.cloud.aiplatform.v1.CustomJobSpec` feat: A new field `disable_explanations` is added to message `.google.cloud.aiplatform.v1.DeployedModel` feat: A new field `title` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `default` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `min_items` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `max_items` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `min_properties` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `max_properties` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `minimum` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `maximum` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `min_length` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `max_length` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new field `pattern` is added to message `.google.cloud.aiplatform.v1.Schema` feat: A new message `PersistentResource` is added feat: A new resource_definition `aiplatform.googleapis.com/PersistentResource` is added feat: A new message `ResourcePool` is added feat: A new message `ResourceRuntimeSpec` is added feat: A new message `RaySpec` is added feat: A new message `ResourceRuntime` is added feat: A new message `ServiceAccountSpec` is added feat: A new service `PersistentResourceService` is added feat: A new message `CreatePersistentResourceRequest` is added feat: A new message `CreatePersistentResourceOperationMetadata` is added feat: A new message `UpdatePersistentResourceOperationMetadata` is added feat: A new message `RebootPersistentResourceOperationMetadata` is added feat: A new message `GetPersistentResourceRequest` is added feat: A new message `ListPersistentResourcesRequest` is added feat: A new message `ListPersistentResourcesResponse` is added feat: A new message `DeletePersistentResourceRequest` is added feat: A new message `UpdatePersistentResourceRequest` is added feat: A new message `RebootPersistentResourceRequest` is added feat: A new field `system_instruction` is added to message `.google.cloud.aiplatform.v1.GenerateContentRequest` feat: A new value `BLOCKLIST` is added to enum `BlockedReason` feat: A new value `PROHIBITED_CONTENT` is added to enum `BlockedReason` docs: documentation updates PiperOrigin-RevId: 620417078 Source-Link: https://togithub.com/googleapis/googleapis/commit/7efb929a17db307af763846620e712ad011c5b8e Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/4fc4bc1e02644d2b45bc1bf71a8479220e9e0f2e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGZjNGJjMWUwMjY0NGQyYjQ1YmMxYmY3MWE4NDc5MjIwZTllMGYyZSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(ai/generativelanguage): Add system instructions feat: Add tool_config feat: Add file upload service feat: Add file_data to part options docs: A comment for field `candidate_count` in message `.google.ai.generativelanguage.v1beta.GenerationConfig` is changed PiperOrigin-RevId: 620400522 Source-Link: https://togithub.com/googleapis/googleapis/commit/81cd9fe84cf6c7070fe9895461a84599314af9f8 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/28d5e4b4c69575a85a57537c8fa223433312b0e7 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjhkNWU0YjRjNjk1NzVhODVhNTc1MzdjOGZhMjIzNDMzMzEyYjBlNyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(aiplatform): add NotebookRuntime resource and APIs to public v1 client library PiperOrigin-RevId: 620353345 Source-Link: https://togithub.com/googleapis/googleapis/commit/98ae60929199d002c17806782584dcc3c3dc19f1 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/1690f0452f1f5f1c942fb8392afe224842132fe2 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTY5MGYwNDUyZjFmNWYxYzk0MmZiODM5MmFmZTIyNDg0MjEzMmZlMiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(aiplatform): add NotebookRuntime resource and APIs to public v1beta1 client library PiperOrigin-RevId: 620347728 Source-Link: https://togithub.com/googleapis/googleapis/commit/3ebeb01f4fee3bb0c8f86cb5fef2ab404c6d2319 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/a3ca6abd7e3ea1000f3dfa4417e845cfe7537e57 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTNjYTZhYmQ3ZTNlYTEwMDBmM2RmYTQ0MTdlODQ1Y2ZlNzUzN2U1NyJ9 END_NESTED_COMMIT --- ai/generativelanguage/apiv1beta/auxiliary.go | 47 + ai/generativelanguage/apiv1beta/doc.go | 12 +- .../apiv1beta/file_client.go | 633 ++ .../apiv1beta/file_client_example_test.go | 169 + .../apiv1beta/gapic_metadata.json | 54 + .../generativelanguagepb/content.pb.go | 645 +- .../apiv1beta/generativelanguagepb/file.pb.go | 290 + .../generativelanguagepb/file_service.pb.go | 805 ++ .../generative_service.pb.go | 997 +-- aiplatform/apiv1/aiplatformpb/content.pb.go | 624 +- .../apiv1/aiplatformpb/custom_job.pb.go | 289 +- aiplatform/apiv1/aiplatformpb/endpoint.pb.go | 132 +- .../apiv1/aiplatformpb/endpoint_service.pb.go | 5 +- .../aiplatformpb/machine_resources.pb.go | 128 +- .../apiv1/aiplatformpb/network_spec.pb.go | 214 + .../aiplatformpb/notebook_euc_config.pb.go | 200 + .../notebook_idle_shutdown_config.pb.go | 203 + .../apiv1/aiplatformpb/notebook_runtime.pb.go | 1003 +++ .../notebook_runtime_template_ref.pb.go | 188 + .../apiv1/aiplatformpb/notebook_service.pb.go | 2362 ++++++ aiplatform/apiv1/aiplatformpb/openapi.pb.go | 253 +- .../aiplatformpb/persistent_resource.pb.go | 1038 +++ .../persistent_resource_service.pb.go | 1377 ++++ .../aiplatformpb/prediction_service.pb.go | 610 +- aiplatform/apiv1/aiplatformpb/tool.pb.go | 12 +- aiplatform/apiv1/auxiliary.go | 842 ++- aiplatform/apiv1/gapic_metadata.json | 198 + aiplatform/apiv1/notebook_client.go | 945 +++ .../apiv1/notebook_client_example_test.go | 615 ++ .../apiv1/persistent_resource_client.go | 778 ++ ...persistent_resource_client_example_test.go | 495 ++ .../apiv1beta1/aiplatformpb/content.pb.go | 689 +- .../aiplatformpb/endpoint_service.pb.go | 12 +- .../aiplatformpb/evaluation_service.pb.go | 3815 ++++------ .../apiv1beta1/aiplatformpb/extension.pb.go | 452 +- .../aiplatformpb/feature_online_store.pb.go | 181 +- .../aiplatformpb/feature_view.pb.go | 789 +- aiplatform/apiv1beta1/aiplatformpb/io.pb.go | 343 +- .../aiplatformpb/machine_resources.pb.go | 130 +- .../aiplatformpb/network_spec.pb.go | 217 + .../aiplatformpb/notebook_euc_config.pb.go | 202 + .../notebook_idle_shutdown_config.pb.go | 205 + .../aiplatformpb/notebook_runtime.pb.go | 1010 +++ .../notebook_runtime_template_ref.pb.go | 190 + .../aiplatformpb/notebook_service.pb.go | 2375 ++++++ .../apiv1beta1/aiplatformpb/openapi.pb.go | 256 +- .../aiplatformpb/persistent_resource.pb.go | 89 +- .../aiplatformpb/prediction_service.pb.go | 930 ++- aiplatform/apiv1beta1/aiplatformpb/tool.pb.go | 316 +- .../aiplatformpb/vertex_rag_data.pb.go | 849 +++ .../vertex_rag_data_service.pb.go | 1963 +++++ .../aiplatformpb/vertex_rag_service.pb.go | 756 ++ aiplatform/apiv1beta1/auxiliary.go | 966 ++- aiplatform/apiv1beta1/evaluation_client.go | 9 +- aiplatform/apiv1beta1/gapic_metadata.json | 552 ++ aiplatform/apiv1beta1/notebook_client.go | 2446 +++++++ .../notebook_client_example_test.go | 632 ++ aiplatform/apiv1beta1/prediction_client.go | 129 + aiplatform/apiv1beta1/vertex_rag_client.go | 1308 ++++ .../vertex_rag_client_example_test.go | 357 + .../apiv1beta1/vertex_rag_data_client.go | 2268 ++++++ .../vertex_rag_data_client_example_test.go | 597 ++ .../apiv1beta/FileClient/CreateFile/main.go | 53 + .../apiv1beta/FileClient/DeleteFile/main.go | 51 + .../apiv1beta/FileClient/GetFile/main.go | 53 + .../apiv1beta/FileClient/ListFiles/main.go | 66 + ...a.google.ai.generativelanguage.v1beta.json | 183 + .../AssignNotebookRuntime/main.go | 58 + .../NotebookClient/CancelOperation/main.go | 51 + .../CreateNotebookRuntimeTemplate/main.go | 58 + .../DeleteNotebookRuntime/main.go | 56 + .../DeleteNotebookRuntimeTemplate/main.go | 56 + .../NotebookClient/DeleteOperation/main.go | 51 + .../apiv1/NotebookClient/GetIamPolicy/main.go | 53 + .../apiv1/NotebookClient/GetLocation/main.go | 53 + .../NotebookClient/GetNotebookRuntime/main.go | 53 + .../GetNotebookRuntimeTemplate/main.go | 53 + .../apiv1/NotebookClient/GetOperation/main.go | 53 + .../NotebookClient/ListLocations/main.go | 66 + .../ListNotebookRuntimeTemplates/main.go | 66 + .../ListNotebookRuntimes/main.go | 66 + .../NotebookClient/ListOperations/main.go | 66 + .../apiv1/NotebookClient/SetIamPolicy/main.go | 53 + .../StartNotebookRuntime/main.go | 58 + .../NotebookClient/TestIamPermissions/main.go | 53 + .../UpgradeNotebookRuntime/main.go | 58 + .../NotebookClient/WaitOperation/main.go | 53 + .../CancelOperation/main.go | 51 + .../CreatePersistentResource/main.go | 58 + .../DeleteOperation/main.go | 51 + .../DeletePersistentResource/main.go | 56 + .../GetIamPolicy/main.go | 53 + .../GetLocation/main.go | 53 + .../GetOperation/main.go | 53 + .../GetPersistentResource/main.go | 53 + .../ListLocations/main.go | 66 + .../ListOperations/main.go | 66 + .../ListPersistentResources/main.go | 66 + .../RebootPersistentResource/main.go | 58 + .../SetIamPolicy/main.go | 53 + .../TestIamPermissions/main.go | 53 + .../UpdatePersistentResource/main.go | 58 + .../WaitOperation/main.go | 53 + ...t_metadata.google.cloud.aiplatform.v1.json | 1652 +++++ .../AssignNotebookRuntime/main.go | 58 + .../NotebookClient/CancelOperation/main.go | 51 + .../CreateNotebookRuntimeTemplate/main.go | 58 + .../DeleteNotebookRuntime/main.go | 56 + .../DeleteNotebookRuntimeTemplate/main.go | 56 + .../NotebookClient/DeleteOperation/main.go | 51 + .../NotebookClient/GetIamPolicy/main.go | 53 + .../NotebookClient/GetLocation/main.go | 53 + .../NotebookClient/GetNotebookRuntime/main.go | 53 + .../GetNotebookRuntimeTemplate/main.go | 53 + .../NotebookClient/GetOperation/main.go | 53 + .../NotebookClient/ListLocations/main.go | 66 + .../ListNotebookRuntimeTemplates/main.go | 66 + .../ListNotebookRuntimes/main.go | 66 + .../NotebookClient/ListOperations/main.go | 66 + .../NotebookClient/SetIamPolicy/main.go | 53 + .../StartNotebookRuntime/main.go | 58 + .../NotebookClient/TestIamPermissions/main.go | 53 + .../UpgradeNotebookRuntime/main.go | 58 + .../NotebookClient/WaitOperation/main.go | 53 + .../VertexRagClient/CancelOperation/main.go | 51 + .../VertexRagClient/DeleteOperation/main.go | 51 + .../VertexRagClient/GetIamPolicy/main.go | 53 + .../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 + .../VertexRagDataClient/UploadRagFile/main.go | 53 + .../VertexRagDataClient/WaitOperation/main.go | 53 + ...adata.google.cloud.aiplatform.v1beta1.json | 6510 +++++++++++------ 155 files changed, 47214 insertions(+), 7395 deletions(-) create mode 100755 ai/generativelanguage/apiv1beta/file_client.go create mode 100644 ai/generativelanguage/apiv1beta/file_client_example_test.go create mode 100755 ai/generativelanguage/apiv1beta/generativelanguagepb/file.pb.go create mode 100755 ai/generativelanguage/apiv1beta/generativelanguagepb/file_service.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/network_spec.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/notebook_euc_config.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/notebook_idle_shutdown_config.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/notebook_runtime.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/notebook_runtime_template_ref.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/notebook_service.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/persistent_resource.pb.go create mode 100755 aiplatform/apiv1/aiplatformpb/persistent_resource_service.pb.go create mode 100755 aiplatform/apiv1/notebook_client.go create mode 100644 aiplatform/apiv1/notebook_client_example_test.go create mode 100755 aiplatform/apiv1/persistent_resource_client.go create mode 100644 aiplatform/apiv1/persistent_resource_client_example_test.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/network_spec.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/notebook_euc_config.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/notebook_idle_shutdown_config.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/notebook_runtime.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/notebook_runtime_template_ref.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/notebook_service.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data_service.pb.go create mode 100755 aiplatform/apiv1beta1/aiplatformpb/vertex_rag_service.pb.go create mode 100755 aiplatform/apiv1beta1/notebook_client.go create mode 100644 aiplatform/apiv1beta1/notebook_client_example_test.go create mode 100755 aiplatform/apiv1beta1/vertex_rag_client.go create mode 100644 aiplatform/apiv1beta1/vertex_rag_client_example_test.go create mode 100755 aiplatform/apiv1beta1/vertex_rag_data_client.go create mode 100644 aiplatform/apiv1beta1/vertex_rag_data_client_example_test.go create mode 100644 internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/CreateFile/main.go create mode 100644 internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/DeleteFile/main.go create mode 100644 internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/GetFile/main.go create mode 100644 internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/ListFiles/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/AssignNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/CreateNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimeTemplates/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimes/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/StartNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/UpgradeNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/NotebookClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CreatePersistentResource/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeletePersistentResource/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetPersistentResource/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListPersistentResources/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/RebootPersistentResource/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/UpdatePersistentResource/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/AssignNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CreateNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntimeTemplate/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimeTemplates/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimes/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/StartNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/UpgradeNotebookRuntime/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/RetrieveContexts/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CreateRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagCorpus/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ImportRagFiles/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagCorpora/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagFiles/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/UploadRagFile/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/WaitOperation/main.go diff --git a/ai/generativelanguage/apiv1beta/auxiliary.go b/ai/generativelanguage/apiv1beta/auxiliary.go index 878aba6b5dbf..34f5bbd34d41 100755 --- a/ai/generativelanguage/apiv1beta/auxiliary.go +++ b/ai/generativelanguage/apiv1beta/auxiliary.go @@ -231,6 +231,53 @@ func (it *DocumentIterator) takeBuf() interface{} { return b } +// FileIterator manages a stream of *generativelanguagepb.File. +type FileIterator struct { + items []*generativelanguagepb.File + 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 []*generativelanguagepb.File, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *FileIterator) 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 *FileIterator) Next() (*generativelanguagepb.File, error) { + var item *generativelanguagepb.File + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *FileIterator) bufLen() int { + return len(it.items) +} + +func (it *FileIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // ModelIterator manages a stream of *generativelanguagepb.Model. type ModelIterator struct { items []*generativelanguagepb.Model diff --git a/ai/generativelanguage/apiv1beta/doc.go b/ai/generativelanguage/apiv1beta/doc.go index a127cc89a168..2225413affce 100755 --- a/ai/generativelanguage/apiv1beta/doc.go +++ b/ai/generativelanguage/apiv1beta/doc.go @@ -18,12 +18,12 @@ // Generative Language API. // // The Gemini API allows developers to build generative AI applications using -// Gemini models. Gemini is our most capable model in the world, built from -// the ground up to be multimodal. It can generalize and seamlessly -// understand, operate across, and combine different types of information. -// You can use the Gemini API for use cases like reasoning across text and -// images, content generation, dialogue agents, summarization and -// classification systems, and more. +// Gemini models. Gemini is our most capable model, built from the ground up +// to be multimodal. It can generalize and seamlessly understand, operate +// across, and combine different types of information. including language, +// images, audio, video, and code. You can use the Gemini API for use cases +// like reasoning across text and images, content generation, dialogue +// agents, summarization and classification systems, and more. // // NOTE: This package is in beta. It is not stable, and may be subject to changes. // diff --git a/ai/generativelanguage/apiv1beta/file_client.go b/ai/generativelanguage/apiv1beta/file_client.go new file mode 100755 index 000000000000..ed28fc9d7277 --- /dev/null +++ b/ai/generativelanguage/apiv1beta/file_client.go @@ -0,0 +1,633 @@ +// 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 generativelanguage + +import ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newFileClientHook clientHook + +// FileCallOptions contains the retry settings for each method of FileClient. +type FileCallOptions struct { + CreateFile []gax.CallOption + ListFiles []gax.CallOption + GetFile []gax.CallOption + DeleteFile []gax.CallOption +} + +func defaultFileGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("generativelanguage.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("generativelanguage.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("generativelanguage.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://generativelanguage.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultFileCallOptions() *FileCallOptions { + return &FileCallOptions{ + CreateFile: []gax.CallOption{}, + ListFiles: []gax.CallOption{}, + GetFile: []gax.CallOption{}, + DeleteFile: []gax.CallOption{}, + } +} + +func defaultFileRESTCallOptions() *FileCallOptions { + return &FileCallOptions{ + CreateFile: []gax.CallOption{}, + ListFiles: []gax.CallOption{}, + GetFile: []gax.CallOption{}, + DeleteFile: []gax.CallOption{}, + } +} + +// internalFileClient is an interface that defines the methods available from Generative Language API. +type internalFileClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreateFile(context.Context, *generativelanguagepb.CreateFileRequest, ...gax.CallOption) (*generativelanguagepb.CreateFileResponse, error) + ListFiles(context.Context, *generativelanguagepb.ListFilesRequest, ...gax.CallOption) *FileIterator + GetFile(context.Context, *generativelanguagepb.GetFileRequest, ...gax.CallOption) (*generativelanguagepb.File, error) + DeleteFile(context.Context, *generativelanguagepb.DeleteFileRequest, ...gax.CallOption) error +} + +// FileClient is a client for interacting with Generative Language API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// An API for uploading and managing files. +type FileClient struct { + // The internal transport-dependent client. + internalClient internalFileClient + + // The call options for this service. + CallOptions *FileCallOptions +} + +// 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 *FileClient) 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 *FileClient) 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 *FileClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreateFile creates a File. +func (c *FileClient) CreateFile(ctx context.Context, req *generativelanguagepb.CreateFileRequest, opts ...gax.CallOption) (*generativelanguagepb.CreateFileResponse, error) { + return c.internalClient.CreateFile(ctx, req, opts...) +} + +// ListFiles lists the metadata for Files owned by the requesting project. +func (c *FileClient) ListFiles(ctx context.Context, req *generativelanguagepb.ListFilesRequest, opts ...gax.CallOption) *FileIterator { + return c.internalClient.ListFiles(ctx, req, opts...) +} + +// GetFile gets the metadata for the given File. +func (c *FileClient) GetFile(ctx context.Context, req *generativelanguagepb.GetFileRequest, opts ...gax.CallOption) (*generativelanguagepb.File, error) { + return c.internalClient.GetFile(ctx, req, opts...) +} + +// DeleteFile deletes the File. +func (c *FileClient) DeleteFile(ctx context.Context, req *generativelanguagepb.DeleteFileRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteFile(ctx, req, opts...) +} + +// fileGRPCClient is a client for interacting with Generative Language API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type fileGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing FileClient + CallOptions **FileCallOptions + + // The gRPC API client. + fileClient generativelanguagepb.FileServiceClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string +} + +// NewFileClient creates a new file service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// An API for uploading and managing files. +func NewFileClient(ctx context.Context, opts ...option.ClientOption) (*FileClient, error) { + clientOpts := defaultFileGRPCClientOptions() + if newFileClientHook != nil { + hookOpts, err := newFileClientHook(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 := FileClient{CallOptions: defaultFileCallOptions()} + + c := &fileGRPCClient{ + connPool: connPool, + fileClient: generativelanguagepb.NewFileServiceClient(connPool), + CallOptions: &client.CallOptions, + } + 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 *fileGRPCClient) 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 *fileGRPCClient) 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 *fileGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type fileRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing FileClient + CallOptions **FileCallOptions +} + +// NewFileRESTClient creates a new file service rest client. +// +// An API for uploading and managing files. +func NewFileRESTClient(ctx context.Context, opts ...option.ClientOption) (*FileClient, error) { + clientOpts := append(defaultFileRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultFileRESTCallOptions() + c := &fileRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &FileClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultFileRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://generativelanguage.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://generativelanguage.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://generativelanguage.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://generativelanguage.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// 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 *fileRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + 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 *fileRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *fileRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *fileGRPCClient) CreateFile(ctx context.Context, req *generativelanguagepb.CreateFileRequest, opts ...gax.CallOption) (*generativelanguagepb.CreateFileResponse, error) { + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) + opts = append((*c.CallOptions).CreateFile[0:len((*c.CallOptions).CreateFile):len((*c.CallOptions).CreateFile)], opts...) + var resp *generativelanguagepb.CreateFileResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.fileClient.CreateFile(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *fileGRPCClient) ListFiles(ctx context.Context, req *generativelanguagepb.ListFilesRequest, opts ...gax.CallOption) *FileIterator { + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) + opts = append((*c.CallOptions).ListFiles[0:len((*c.CallOptions).ListFiles):len((*c.CallOptions).ListFiles)], opts...) + it := &FileIterator{} + req = proto.Clone(req).(*generativelanguagepb.ListFilesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*generativelanguagepb.File, string, error) { + resp := &generativelanguagepb.ListFilesResponse{} + 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.fileClient.ListFiles(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetFiles(), 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 *fileGRPCClient) GetFile(ctx context.Context, req *generativelanguagepb.GetFileRequest, opts ...gax.CallOption) (*generativelanguagepb.File, 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).GetFile[0:len((*c.CallOptions).GetFile):len((*c.CallOptions).GetFile)], opts...) + var resp *generativelanguagepb.File + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.fileClient.GetFile(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *fileGRPCClient) DeleteFile(ctx context.Context, req *generativelanguagepb.DeleteFileRequest, 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).DeleteFile[0:len((*c.CallOptions).DeleteFile):len((*c.CallOptions).DeleteFile)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.fileClient.DeleteFile(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +// CreateFile creates a File. +func (c *fileRESTClient) CreateFile(ctx context.Context, req *generativelanguagepb.CreateFileRequest, opts ...gax.CallOption) (*generativelanguagepb.CreateFileResponse, 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("/v1beta/files") + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateFile[0:len((*c.CallOptions).CreateFile):len((*c.CallOptions).CreateFile)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &generativelanguagepb.CreateFileResponse{} + 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 + } + return resp, nil +} + +// ListFiles lists the metadata for Files owned by the requesting project. +func (c *fileRESTClient) ListFiles(ctx context.Context, req *generativelanguagepb.ListFilesRequest, opts ...gax.CallOption) *FileIterator { + it := &FileIterator{} + req = proto.Clone(req).(*generativelanguagepb.ListFilesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*generativelanguagepb.File, string, error) { + resp := &generativelanguagepb.ListFilesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/files") + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + it.Response = resp + return resp.GetFiles(), 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 +} + +// GetFile gets the metadata for the given File. +func (c *fileRESTClient) GetFile(ctx context.Context, req *generativelanguagepb.GetFileRequest, opts ...gax.CallOption) (*generativelanguagepb.File, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", 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...) + opts = append((*c.CallOptions).GetFile[0:len((*c.CallOptions).GetFile):len((*c.CallOptions).GetFile)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &generativelanguagepb.File{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// DeleteFile deletes the File. +func (c *fileRESTClient) DeleteFile(ctx context.Context, req *generativelanguagepb.DeleteFileRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", 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...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} diff --git a/ai/generativelanguage/apiv1beta/file_client_example_test.go b/ai/generativelanguage/apiv1beta/file_client_example_test.go new file mode 100644 index 000000000000..d30bcfa30e45 --- /dev/null +++ b/ai/generativelanguage/apiv1beta/file_client_example_test.go @@ -0,0 +1,169 @@ +// 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 generativelanguage_test + +import ( + "context" + + generativelanguage "cloud.google.com/go/ai/generativelanguage/apiv1beta" + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" + "google.golang.org/api/iterator" +) + +func ExampleNewFileClient() { + 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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewFileRESTClient() { + 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 := generativelanguage.NewFileRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleFileClient_CreateFile() { + 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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.CreateFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#CreateFileRequest. + } + resp, err := c.CreateFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleFileClient_DeleteFile() { + 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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.DeleteFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#DeleteFileRequest. + } + err = c.DeleteFile(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleFileClient_GetFile() { + 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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.GetFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#GetFileRequest. + } + resp, err := c.GetFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleFileClient_ListFiles() { + 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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.ListFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#ListFilesRequest. + } + it := c.ListFiles(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.(*generativelanguagepb.ListFilesResponse) + } +} diff --git a/ai/generativelanguage/apiv1beta/gapic_metadata.json b/ai/generativelanguage/apiv1beta/gapic_metadata.json index cc830a691742..43988e389732 100644 --- a/ai/generativelanguage/apiv1beta/gapic_metadata.json +++ b/ai/generativelanguage/apiv1beta/gapic_metadata.json @@ -39,6 +39,60 @@ } } }, + "FileService": { + "clients": { + "grpc": { + "libraryClient": "FileClient", + "rpcs": { + "CreateFile": { + "methods": [ + "CreateFile" + ] + }, + "DeleteFile": { + "methods": [ + "DeleteFile" + ] + }, + "GetFile": { + "methods": [ + "GetFile" + ] + }, + "ListFiles": { + "methods": [ + "ListFiles" + ] + } + } + }, + "rest": { + "libraryClient": "FileClient", + "rpcs": { + "CreateFile": { + "methods": [ + "CreateFile" + ] + }, + "DeleteFile": { + "methods": [ + "DeleteFile" + ] + }, + "GetFile": { + "methods": [ + "GetFile" + ] + }, + "ListFiles": { + "methods": [ + "ListFiles" + ] + } + } + } + } + }, "GenerativeService": { "clients": { "grpc": { diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go index 62da7c618673..8a7a0d281064 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go @@ -107,6 +107,69 @@ func (Type) EnumDescriptor() ([]byte, []int) { return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{0} } +// Defines the execution behavior for function calling by defining the +// execution mode. +type FunctionCallingConfig_Mode int32 + +const ( + // Unspecified function calling mode. This value should not be used. + FunctionCallingConfig_MODE_UNSPECIFIED FunctionCallingConfig_Mode = 0 + // Default model behavior, model decides to predict either a function call + // or a natural language repspose. + FunctionCallingConfig_AUTO FunctionCallingConfig_Mode = 1 + // Model is constrained to always predicting a function call only. + // If "allowed_function_names" are set, the predicted function call will be + // limited to any one of "allowed_function_names", else the predicted + // function call will be any one of the provided "function_declarations". + FunctionCallingConfig_ANY FunctionCallingConfig_Mode = 2 + // Model will not predict any function call. Model behavior is same as when + // not passing any function declarations. + FunctionCallingConfig_NONE FunctionCallingConfig_Mode = 3 +) + +// Enum value maps for FunctionCallingConfig_Mode. +var ( + FunctionCallingConfig_Mode_name = map[int32]string{ + 0: "MODE_UNSPECIFIED", + 1: "AUTO", + 2: "ANY", + 3: "NONE", + } + FunctionCallingConfig_Mode_value = map[string]int32{ + "MODE_UNSPECIFIED": 0, + "AUTO": 1, + "ANY": 2, + "NONE": 3, + } +) + +func (x FunctionCallingConfig_Mode) Enum() *FunctionCallingConfig_Mode { + p := new(FunctionCallingConfig_Mode) + *p = x + return p +} + +func (x FunctionCallingConfig_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FunctionCallingConfig_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_google_ai_generativelanguage_v1beta_content_proto_enumTypes[1].Descriptor() +} + +func (FunctionCallingConfig_Mode) Type() protoreflect.EnumType { + return &file_google_ai_generativelanguage_v1beta_content_proto_enumTypes[1] +} + +func (x FunctionCallingConfig_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FunctionCallingConfig_Mode.Descriptor instead. +func (FunctionCallingConfig_Mode) EnumDescriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{6, 0} +} + // The base structured datatype containing multi-part content of a message. // // A `Content` includes a `role` field designating the producer of the `Content` @@ -191,6 +254,7 @@ type Part struct { // *Part_InlineData // *Part_FunctionCall // *Part_FunctionResponse + // *Part_FileData Data isPart_Data `protobuf_oneof:"data"` } @@ -261,6 +325,13 @@ func (x *Part) GetFunctionResponse() *FunctionResponse { return nil } +func (x *Part) GetFileData() *FileData { + if x, ok := x.GetData().(*Part_FileData); ok { + return x.FileData + } + return nil +} + type isPart_Data interface { isPart_Data() } @@ -290,6 +361,11 @@ type Part_FunctionResponse struct { FunctionResponse *FunctionResponse `protobuf:"bytes,5,opt,name=function_response,json=functionResponse,proto3,oneof"` } +type Part_FileData struct { + // URI based data. + FileData *FileData `protobuf:"bytes,6,opt,name=file_data,json=fileData,proto3,oneof"` +} + func (*Part_Text) isPart_Data() {} func (*Part_InlineData) isPart_Data() {} @@ -298,6 +374,8 @@ func (*Part_FunctionCall) isPart_Data() {} func (*Part_FunctionResponse) isPart_Data() {} +func (*Part_FileData) isPart_Data() {} + // Raw media bytes. // // Text should not be sent as raw bytes, use the 'text' field. @@ -360,6 +438,64 @@ func (x *Blob) GetData() []byte { return nil } +// URI based data. +type FileData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The IANA standard MIME type of the source data. + MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Required. URI. + FileUri string `protobuf:"bytes,2,opt,name=file_uri,json=fileUri,proto3" json:"file_uri,omitempty"` +} + +func (x *FileData) Reset() { + *x = FileData{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileData) ProtoMessage() {} + +func (x *FileData) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_content_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 FileData.ProtoReflect.Descriptor instead. +func (*FileData) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{3} +} + +func (x *FileData) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *FileData) GetFileUri() string { + if x != nil { + return x.FileUri + } + return "" +} + // Tool details that the model may use to generate response. // // A `Tool` is a piece of code that enables the system to interact with @@ -388,7 +524,7 @@ type Tool struct { func (x *Tool) Reset() { *x = Tool{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[3] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -401,7 +537,7 @@ func (x *Tool) String() string { func (*Tool) ProtoMessage() {} func (x *Tool) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[3] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -414,7 +550,7 @@ func (x *Tool) ProtoReflect() protoreflect.Message { // Deprecated: Use Tool.ProtoReflect.Descriptor instead. func (*Tool) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{3} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{4} } func (x *Tool) GetFunctionDeclarations() []*FunctionDeclaration { @@ -424,6 +560,120 @@ func (x *Tool) GetFunctionDeclarations() []*FunctionDeclaration { return nil } +// The Tool configuration containing parameters for specifying `Tool` use +// in the request. +type ToolConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Function calling config. + FunctionCallingConfig *FunctionCallingConfig `protobuf:"bytes,1,opt,name=function_calling_config,json=functionCallingConfig,proto3" json:"function_calling_config,omitempty"` +} + +func (x *ToolConfig) Reset() { + *x = ToolConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ToolConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolConfig) ProtoMessage() {} + +func (x *ToolConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_content_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 ToolConfig.ProtoReflect.Descriptor instead. +func (*ToolConfig) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{5} +} + +func (x *ToolConfig) GetFunctionCallingConfig() *FunctionCallingConfig { + if x != nil { + return x.FunctionCallingConfig + } + return nil +} + +// Configuration for specifying function calling behavior. +type FunctionCallingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Specifies the mode in which function calling should execute. If + // unspecified, the default value will be set to AUTO. + Mode FunctionCallingConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.ai.generativelanguage.v1beta.FunctionCallingConfig_Mode" json:"mode,omitempty"` + // Optional. A set of function names that, when provided, limits the functions + // the model will call. + // + // This should only be set when the Mode is ANY. Function names + // should match [FunctionDeclaration.name]. With mode set to ANY, model will + // predict a function call from the set of function names provided. + AllowedFunctionNames []string `protobuf:"bytes,2,rep,name=allowed_function_names,json=allowedFunctionNames,proto3" json:"allowed_function_names,omitempty"` +} + +func (x *FunctionCallingConfig) Reset() { + *x = FunctionCallingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunctionCallingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunctionCallingConfig) ProtoMessage() {} + +func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_content_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 FunctionCallingConfig.ProtoReflect.Descriptor instead. +func (*FunctionCallingConfig) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{6} +} + +func (x *FunctionCallingConfig) GetMode() FunctionCallingConfig_Mode { + if x != nil { + return x.Mode + } + return FunctionCallingConfig_MODE_UNSPECIFIED +} + +func (x *FunctionCallingConfig) GetAllowedFunctionNames() []string { + if x != nil { + return x.AllowedFunctionNames + } + return nil +} + // Structured representation of a function declaration as defined by the // [OpenAPI 3.03 specification](https://spec.openapis.org/oas/v3.0.3). Included // in this declaration are the function name and parameters. This @@ -450,7 +700,7 @@ type FunctionDeclaration struct { func (x *FunctionDeclaration) Reset() { *x = FunctionDeclaration{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -463,7 +713,7 @@ func (x *FunctionDeclaration) String() string { func (*FunctionDeclaration) ProtoMessage() {} func (x *FunctionDeclaration) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -476,7 +726,7 @@ func (x *FunctionDeclaration) ProtoReflect() protoreflect.Message { // Deprecated: Use FunctionDeclaration.ProtoReflect.Descriptor instead. func (*FunctionDeclaration) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{4} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{7} } func (x *FunctionDeclaration) GetName() string { @@ -519,7 +769,7 @@ type FunctionCall struct { func (x *FunctionCall) Reset() { *x = FunctionCall{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[5] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -532,7 +782,7 @@ func (x *FunctionCall) String() string { func (*FunctionCall) ProtoMessage() {} func (x *FunctionCall) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[5] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -545,7 +795,7 @@ func (x *FunctionCall) ProtoReflect() protoreflect.Message { // Deprecated: Use FunctionCall.ProtoReflect.Descriptor instead. func (*FunctionCall) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{5} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{8} } func (x *FunctionCall) GetName() string { @@ -583,7 +833,7 @@ type FunctionResponse struct { func (x *FunctionResponse) Reset() { *x = FunctionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[6] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -596,7 +846,7 @@ func (x *FunctionResponse) String() string { func (*FunctionResponse) ProtoMessage() {} func (x *FunctionResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[6] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -609,7 +859,7 @@ func (x *FunctionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FunctionResponse.ProtoReflect.Descriptor instead. func (*FunctionResponse) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{6} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{9} } func (x *FunctionResponse) GetName() string { @@ -663,7 +913,7 @@ type Schema struct { func (x *Schema) Reset() { *x = Schema{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -676,7 +926,7 @@ func (x *Schema) String() string { func (*Schema) ProtoMessage() {} func (x *Schema) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -689,7 +939,7 @@ func (x *Schema) ProtoReflect() protoreflect.Message { // Deprecated: Use Schema.ProtoReflect.Descriptor instead. func (*Schema) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{7} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{10} } func (x *Schema) GetType() Type { @@ -764,7 +1014,7 @@ type GroundingPassage struct { func (x *GroundingPassage) Reset() { *x = GroundingPassage{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -777,7 +1027,7 @@ func (x *GroundingPassage) String() string { func (*GroundingPassage) ProtoMessage() {} func (x *GroundingPassage) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -790,7 +1040,7 @@ func (x *GroundingPassage) ProtoReflect() protoreflect.Message { // Deprecated: Use GroundingPassage.ProtoReflect.Descriptor instead. func (*GroundingPassage) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{8} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{11} } func (x *GroundingPassage) GetId() string { @@ -820,7 +1070,7 @@ type GroundingPassages struct { func (x *GroundingPassages) Reset() { *x = GroundingPassages{} if protoimpl.UnsafeEnabled { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[9] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -833,7 +1083,7 @@ func (x *GroundingPassages) String() string { func (*GroundingPassages) ProtoMessage() {} func (x *GroundingPassages) ProtoReflect() protoreflect.Message { - mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[9] + mi := &file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -846,7 +1096,7 @@ func (x *GroundingPassages) ProtoReflect() protoreflect.Message { // Deprecated: Use GroundingPassages.ProtoReflect.Descriptor instead. func (*GroundingPassages) Descriptor() ([]byte, []int) { - return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{9} + return file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP(), []int{12} } func (x *GroundingPassages) GetPassages() []*GroundingPassage { @@ -874,7 +1124,7 @@ var file_google_ai_generativelanguage_v1beta_content_proto_rawDesc = []byte{ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xb2, 0x02, 0x0a, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x80, 0x03, 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x4c, 0x0a, 0x0b, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, @@ -893,107 +1143,140 @@ var file_google_ai_generativelanguage_v1beta_content_proto_rawDesc = []byte{ 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x37, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7a, 0x0a, 0x04, 0x54, 0x6f, - 0x6f, 0x6c, 0x12, 0x72, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, - 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x22, 0x67, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 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, 0x01, 0x48, 0x00, 0x52, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x22, 0x65, 0x0a, - 0x10, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 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, 0x90, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, - 0x42, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x09, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x37, 0x0a, 0x04, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4c, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, + 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x66, + 0x69, 0x6c, 0x65, 0x55, 0x72, 0x69, 0x22, 0x7a, 0x0a, 0x04, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x72, + 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 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, 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, - 0x6d, 0x12, 0x4b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x65, 0x74, 0x61, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x77, 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, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xe7, 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, 0x58, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xbb, 0x01, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x60, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x1a, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6a, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x22, 0x66, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x22, 0x67, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, + 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 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, 0x01, 0x48, 0x00, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x22, 0x65, 0x0a, 0x10, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x6e, 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, 0x90, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x42, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 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, 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6e, 0x75, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, + 0x4b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x1a, + 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6a, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2a, 0x65, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, - 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0b, - 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, - 0x52, 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x10, 0x06, 0x42, 0x98, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0x66, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2a, 0x65, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, + 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, + 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, + 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x06, + 0x42, 0x98, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -1008,43 +1291,50 @@ func file_google_ai_generativelanguage_v1beta_content_proto_rawDescGZIP() []byte return file_google_ai_generativelanguage_v1beta_content_proto_rawDescData } -var file_google_ai_generativelanguage_v1beta_content_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_ai_generativelanguage_v1beta_content_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_ai_generativelanguage_v1beta_content_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_ai_generativelanguage_v1beta_content_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_google_ai_generativelanguage_v1beta_content_proto_goTypes = []interface{}{ - (Type)(0), // 0: google.ai.generativelanguage.v1beta.Type - (*Content)(nil), // 1: google.ai.generativelanguage.v1beta.Content - (*Part)(nil), // 2: google.ai.generativelanguage.v1beta.Part - (*Blob)(nil), // 3: google.ai.generativelanguage.v1beta.Blob - (*Tool)(nil), // 4: google.ai.generativelanguage.v1beta.Tool - (*FunctionDeclaration)(nil), // 5: google.ai.generativelanguage.v1beta.FunctionDeclaration - (*FunctionCall)(nil), // 6: google.ai.generativelanguage.v1beta.FunctionCall - (*FunctionResponse)(nil), // 7: google.ai.generativelanguage.v1beta.FunctionResponse - (*Schema)(nil), // 8: google.ai.generativelanguage.v1beta.Schema - (*GroundingPassage)(nil), // 9: google.ai.generativelanguage.v1beta.GroundingPassage - (*GroundingPassages)(nil), // 10: google.ai.generativelanguage.v1beta.GroundingPassages - nil, // 11: google.ai.generativelanguage.v1beta.Schema.PropertiesEntry - (*structpb.Struct)(nil), // 12: google.protobuf.Struct + (Type)(0), // 0: google.ai.generativelanguage.v1beta.Type + (FunctionCallingConfig_Mode)(0), // 1: google.ai.generativelanguage.v1beta.FunctionCallingConfig.Mode + (*Content)(nil), // 2: google.ai.generativelanguage.v1beta.Content + (*Part)(nil), // 3: google.ai.generativelanguage.v1beta.Part + (*Blob)(nil), // 4: google.ai.generativelanguage.v1beta.Blob + (*FileData)(nil), // 5: google.ai.generativelanguage.v1beta.FileData + (*Tool)(nil), // 6: google.ai.generativelanguage.v1beta.Tool + (*ToolConfig)(nil), // 7: google.ai.generativelanguage.v1beta.ToolConfig + (*FunctionCallingConfig)(nil), // 8: google.ai.generativelanguage.v1beta.FunctionCallingConfig + (*FunctionDeclaration)(nil), // 9: google.ai.generativelanguage.v1beta.FunctionDeclaration + (*FunctionCall)(nil), // 10: google.ai.generativelanguage.v1beta.FunctionCall + (*FunctionResponse)(nil), // 11: google.ai.generativelanguage.v1beta.FunctionResponse + (*Schema)(nil), // 12: google.ai.generativelanguage.v1beta.Schema + (*GroundingPassage)(nil), // 13: google.ai.generativelanguage.v1beta.GroundingPassage + (*GroundingPassages)(nil), // 14: google.ai.generativelanguage.v1beta.GroundingPassages + nil, // 15: google.ai.generativelanguage.v1beta.Schema.PropertiesEntry + (*structpb.Struct)(nil), // 16: google.protobuf.Struct } var file_google_ai_generativelanguage_v1beta_content_proto_depIdxs = []int32{ - 2, // 0: google.ai.generativelanguage.v1beta.Content.parts:type_name -> google.ai.generativelanguage.v1beta.Part - 3, // 1: google.ai.generativelanguage.v1beta.Part.inline_data:type_name -> google.ai.generativelanguage.v1beta.Blob - 6, // 2: google.ai.generativelanguage.v1beta.Part.function_call:type_name -> google.ai.generativelanguage.v1beta.FunctionCall - 7, // 3: google.ai.generativelanguage.v1beta.Part.function_response:type_name -> google.ai.generativelanguage.v1beta.FunctionResponse - 5, // 4: google.ai.generativelanguage.v1beta.Tool.function_declarations:type_name -> google.ai.generativelanguage.v1beta.FunctionDeclaration - 8, // 5: google.ai.generativelanguage.v1beta.FunctionDeclaration.parameters:type_name -> google.ai.generativelanguage.v1beta.Schema - 12, // 6: google.ai.generativelanguage.v1beta.FunctionCall.args:type_name -> google.protobuf.Struct - 12, // 7: google.ai.generativelanguage.v1beta.FunctionResponse.response:type_name -> google.protobuf.Struct - 0, // 8: google.ai.generativelanguage.v1beta.Schema.type:type_name -> google.ai.generativelanguage.v1beta.Type - 8, // 9: google.ai.generativelanguage.v1beta.Schema.items:type_name -> google.ai.generativelanguage.v1beta.Schema - 11, // 10: google.ai.generativelanguage.v1beta.Schema.properties:type_name -> google.ai.generativelanguage.v1beta.Schema.PropertiesEntry - 1, // 11: google.ai.generativelanguage.v1beta.GroundingPassage.content:type_name -> google.ai.generativelanguage.v1beta.Content - 9, // 12: google.ai.generativelanguage.v1beta.GroundingPassages.passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassage - 8, // 13: google.ai.generativelanguage.v1beta.Schema.PropertiesEntry.value:type_name -> google.ai.generativelanguage.v1beta.Schema - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 3, // 0: google.ai.generativelanguage.v1beta.Content.parts:type_name -> google.ai.generativelanguage.v1beta.Part + 4, // 1: google.ai.generativelanguage.v1beta.Part.inline_data:type_name -> google.ai.generativelanguage.v1beta.Blob + 10, // 2: google.ai.generativelanguage.v1beta.Part.function_call:type_name -> google.ai.generativelanguage.v1beta.FunctionCall + 11, // 3: google.ai.generativelanguage.v1beta.Part.function_response:type_name -> google.ai.generativelanguage.v1beta.FunctionResponse + 5, // 4: google.ai.generativelanguage.v1beta.Part.file_data:type_name -> google.ai.generativelanguage.v1beta.FileData + 9, // 5: google.ai.generativelanguage.v1beta.Tool.function_declarations:type_name -> google.ai.generativelanguage.v1beta.FunctionDeclaration + 8, // 6: google.ai.generativelanguage.v1beta.ToolConfig.function_calling_config:type_name -> google.ai.generativelanguage.v1beta.FunctionCallingConfig + 1, // 7: google.ai.generativelanguage.v1beta.FunctionCallingConfig.mode:type_name -> google.ai.generativelanguage.v1beta.FunctionCallingConfig.Mode + 12, // 8: google.ai.generativelanguage.v1beta.FunctionDeclaration.parameters:type_name -> google.ai.generativelanguage.v1beta.Schema + 16, // 9: google.ai.generativelanguage.v1beta.FunctionCall.args:type_name -> google.protobuf.Struct + 16, // 10: google.ai.generativelanguage.v1beta.FunctionResponse.response:type_name -> google.protobuf.Struct + 0, // 11: google.ai.generativelanguage.v1beta.Schema.type:type_name -> google.ai.generativelanguage.v1beta.Type + 12, // 12: google.ai.generativelanguage.v1beta.Schema.items:type_name -> google.ai.generativelanguage.v1beta.Schema + 15, // 13: google.ai.generativelanguage.v1beta.Schema.properties:type_name -> google.ai.generativelanguage.v1beta.Schema.PropertiesEntry + 2, // 14: google.ai.generativelanguage.v1beta.GroundingPassage.content:type_name -> google.ai.generativelanguage.v1beta.Content + 13, // 15: google.ai.generativelanguage.v1beta.GroundingPassages.passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassage + 12, // 16: google.ai.generativelanguage.v1beta.Schema.PropertiesEntry.value:type_name -> google.ai.generativelanguage.v1beta.Schema + 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 } func init() { file_google_ai_generativelanguage_v1beta_content_proto_init() } @@ -1090,7 +1380,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tool); i { + switch v := v.(*FileData); i { case 0: return &v.state case 1: @@ -1102,7 +1392,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FunctionDeclaration); i { + switch v := v.(*Tool); i { case 0: return &v.state case 1: @@ -1114,7 +1404,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FunctionCall); i { + switch v := v.(*ToolConfig); i { case 0: return &v.state case 1: @@ -1126,7 +1416,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FunctionResponse); i { + switch v := v.(*FunctionCallingConfig); i { case 0: return &v.state case 1: @@ -1138,7 +1428,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Schema); i { + switch v := v.(*FunctionDeclaration); i { case 0: return &v.state case 1: @@ -1150,7 +1440,7 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroundingPassage); i { + switch v := v.(*FunctionCall); i { case 0: return &v.state case 1: @@ -1162,6 +1452,42 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { } } file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Schema); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroundingPassage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroundingPassages); i { case 0: return &v.state @@ -1179,17 +1505,18 @@ func file_google_ai_generativelanguage_v1beta_content_proto_init() { (*Part_InlineData)(nil), (*Part_FunctionCall)(nil), (*Part_FunctionResponse)(nil), + (*Part_FileData)(nil), } - file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[5].OneofWrappers = []interface{}{} file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_google_ai_generativelanguage_v1beta_content_proto_msgTypes[10].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_ai_generativelanguage_v1beta_content_proto_rawDesc, - NumEnums: 1, - NumMessages: 11, + NumEnums: 2, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/file.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/file.pb.go new file mode 100755 index 000000000000..9d03e2f1203f --- /dev/null +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/file.pb.go @@ -0,0 +1,290 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/ai/generativelanguage/v1beta/file.proto + +package generativelanguagepb + +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) +) + +// A file uploaded to the API. +type File struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Identifier. The `File` resource name. The ID (name excluding the + // "files/" prefix) can contain up to 40 characters that are lowercase + // alphanumeric or dashes (-). The ID cannot start or end with a dash. If the + // name is empty on create, a unique name will be generated. Example: + // `files/123-456` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The human-readable display name for the `File`. The display name + // must be no more than 512 characters in length, including spaces. Example: + // "Welcome Image" + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. MIME type of the file. + MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Output only. Size of the file in bytes. + SizeBytes int64 `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + // Output only. The timestamp of when the `File` was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The timestamp of when the `File` was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The timestamp of when the `File` will be deleted. Only set if + // the `File` is scheduled to expire. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Output only. SHA-256 hash of the uploaded bytes. + Sha256Hash []byte `protobuf:"bytes,8,opt,name=sha256_hash,json=sha256Hash,proto3" json:"sha256_hash,omitempty"` + // Output only. The uri of the `File`. + Uri string `protobuf:"bytes,9,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *File) Reset() { + *x = File{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *File) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*File) ProtoMessage() {} + +func (x *File) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 File.ProtoReflect.Descriptor instead. +func (*File) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_proto_rawDescGZIP(), []int{0} +} + +func (x *File) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *File) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *File) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *File) GetSizeBytes() int64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +func (x *File) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *File) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *File) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *File) GetSha256Hash() []byte { + if x != nil { + return x.Sha256Hash + } + return nil +} + +func (x *File) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +var File_google_ai_generativelanguage_v1beta_file_proto protoreflect.FileDescriptor + +var file_google_ai_generativelanguage_v1beta_file_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 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, 0xe3, 0x03, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x08, 0xe0, 0x41, + 0x05, 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, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 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, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0f, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, + 0x68, 0x61, 0x32, 0x35, 0x36, 0x48, 0x61, 0x73, 0x68, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x3a, 0x46, 0xea, 0x41, 0x43, 0x0a, 0x26, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x0c, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x6c, 0x65, 0x7d, 0x2a, 0x05, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x32, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x95, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x42, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x5d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_ai_generativelanguage_v1beta_file_proto_rawDescOnce sync.Once + file_google_ai_generativelanguage_v1beta_file_proto_rawDescData = file_google_ai_generativelanguage_v1beta_file_proto_rawDesc +) + +func file_google_ai_generativelanguage_v1beta_file_proto_rawDescGZIP() []byte { + file_google_ai_generativelanguage_v1beta_file_proto_rawDescOnce.Do(func() { + file_google_ai_generativelanguage_v1beta_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ai_generativelanguage_v1beta_file_proto_rawDescData) + }) + return file_google_ai_generativelanguage_v1beta_file_proto_rawDescData +} + +var file_google_ai_generativelanguage_v1beta_file_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_ai_generativelanguage_v1beta_file_proto_goTypes = []interface{}{ + (*File)(nil), // 0: google.ai.generativelanguage.v1beta.File + (*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_google_ai_generativelanguage_v1beta_file_proto_depIdxs = []int32{ + 1, // 0: google.ai.generativelanguage.v1beta.File.create_time:type_name -> google.protobuf.Timestamp + 1, // 1: google.ai.generativelanguage.v1beta.File.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: google.ai.generativelanguage.v1beta.File.expiration_time:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_ai_generativelanguage_v1beta_file_proto_init() } +func file_google_ai_generativelanguage_v1beta_file_proto_init() { + if File_google_ai_generativelanguage_v1beta_file_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_ai_generativelanguage_v1beta_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*File); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_ai_generativelanguage_v1beta_file_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_ai_generativelanguage_v1beta_file_proto_goTypes, + DependencyIndexes: file_google_ai_generativelanguage_v1beta_file_proto_depIdxs, + MessageInfos: file_google_ai_generativelanguage_v1beta_file_proto_msgTypes, + }.Build() + File_google_ai_generativelanguage_v1beta_file_proto = out.File + file_google_ai_generativelanguage_v1beta_file_proto_rawDesc = nil + file_google_ai_generativelanguage_v1beta_file_proto_goTypes = nil + file_google_ai_generativelanguage_v1beta_file_proto_depIdxs = nil +} diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/file_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/file_service.pb.go new file mode 100755 index 000000000000..3fade963d7c2 --- /dev/null +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/file_service.pb.go @@ -0,0 +1,805 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/ai/generativelanguage/v1beta/file_service.proto + +package generativelanguagepb + +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" + emptypb "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 for `CreateFile`. +type CreateFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Metadata for the file to create. + File *File `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` +} + +func (x *CreateFileRequest) Reset() { + *x = CreateFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFileRequest) ProtoMessage() {} + +func (x *CreateFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 CreateFileRequest.ProtoReflect.Descriptor instead. +func (*CreateFileRequest) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateFileRequest) GetFile() *File { + if x != nil { + return x.File + } + return nil +} + +// Response for `CreateFile`. +type CreateFileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Metadata for the created file. + File *File `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` +} + +func (x *CreateFileResponse) Reset() { + *x = CreateFileResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateFileResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFileResponse) ProtoMessage() {} + +func (x *CreateFileResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 CreateFileResponse.ProtoReflect.Descriptor instead. +func (*CreateFileResponse) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateFileResponse) GetFile() *File { + if x != nil { + return x.File + } + return nil +} + +// Request for `ListFiles`. +type ListFilesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Maximum number of `File`s to return per page. + // If unspecified, defaults to 10. Maximum `page_size` is 100. + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token from a previous `ListFiles` call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListFilesRequest) Reset() { + *x = ListFilesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFilesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFilesRequest) ProtoMessage() {} + +func (x *ListFilesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 ListFilesRequest.ProtoReflect.Descriptor instead. +func (*ListFilesRequest) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{2} +} + +func (x *ListFilesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListFilesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for `ListFiles`. +type ListFilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of `File`s. + Files []*File `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` + // A token that can be sent as a `page_token` into a subsequent `ListFiles` + // call. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListFilesResponse) Reset() { + *x = ListFilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListFilesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFilesResponse) ProtoMessage() {} + +func (x *ListFilesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 ListFilesResponse.ProtoReflect.Descriptor instead. +func (*ListFilesResponse) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListFilesResponse) GetFiles() []*File { + if x != nil { + return x.Files + } + return nil +} + +func (x *ListFilesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request for `GetFile`. +type GetFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the `File` to get. + // Example: `files/abc-123` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetFileRequest) Reset() { + *x = GetFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFileRequest) ProtoMessage() {} + +func (x *GetFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 GetFileRequest.ProtoReflect.Descriptor instead. +func (*GetFileRequest) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{4} +} + +func (x *GetFileRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request for `DeleteFile`. +type DeleteFileRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the `File` to delete. + // Example: `files/abc-123` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteFileRequest) Reset() { + *x = DeleteFileRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteFileRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFileRequest) ProtoMessage() {} + +func (x *DeleteFileRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_ai_generativelanguage_v1beta_file_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 DeleteFileRequest.ProtoReflect.Descriptor instead. +func (*DeleteFileRequest) Descriptor() ([]byte, []int) { + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteFileRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_ai_generativelanguage_v1beta_file_service_proto protoreflect.FileDescriptor + +var file_google_ai_generativelanguage_v1beta_file_service_proto_rawDesc = []byte{ + 0x0a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 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, 0x22, 0x57, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x53, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x58, 0x0a, 0x10, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 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, 0x7c, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 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, 0x54, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x32, 0xfa, 0x04, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, + 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x0f, 0x12, 0x0d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x90, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x25, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0x83, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x25, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x2a, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x24, 0xca, 0x41, 0x21, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, + 0x9c, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x10, 0x46, 0x69, 0x6c, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x5d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescOnce sync.Once + file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescData = file_google_ai_generativelanguage_v1beta_file_service_proto_rawDesc +) + +func file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescGZIP() []byte { + file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescOnce.Do(func() { + file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescData) + }) + return file_google_ai_generativelanguage_v1beta_file_service_proto_rawDescData +} + +var file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_ai_generativelanguage_v1beta_file_service_proto_goTypes = []interface{}{ + (*CreateFileRequest)(nil), // 0: google.ai.generativelanguage.v1beta.CreateFileRequest + (*CreateFileResponse)(nil), // 1: google.ai.generativelanguage.v1beta.CreateFileResponse + (*ListFilesRequest)(nil), // 2: google.ai.generativelanguage.v1beta.ListFilesRequest + (*ListFilesResponse)(nil), // 3: google.ai.generativelanguage.v1beta.ListFilesResponse + (*GetFileRequest)(nil), // 4: google.ai.generativelanguage.v1beta.GetFileRequest + (*DeleteFileRequest)(nil), // 5: google.ai.generativelanguage.v1beta.DeleteFileRequest + (*File)(nil), // 6: google.ai.generativelanguage.v1beta.File + (*emptypb.Empty)(nil), // 7: google.protobuf.Empty +} +var file_google_ai_generativelanguage_v1beta_file_service_proto_depIdxs = []int32{ + 6, // 0: google.ai.generativelanguage.v1beta.CreateFileRequest.file:type_name -> google.ai.generativelanguage.v1beta.File + 6, // 1: google.ai.generativelanguage.v1beta.CreateFileResponse.file:type_name -> google.ai.generativelanguage.v1beta.File + 6, // 2: google.ai.generativelanguage.v1beta.ListFilesResponse.files:type_name -> google.ai.generativelanguage.v1beta.File + 0, // 3: google.ai.generativelanguage.v1beta.FileService.CreateFile:input_type -> google.ai.generativelanguage.v1beta.CreateFileRequest + 2, // 4: google.ai.generativelanguage.v1beta.FileService.ListFiles:input_type -> google.ai.generativelanguage.v1beta.ListFilesRequest + 4, // 5: google.ai.generativelanguage.v1beta.FileService.GetFile:input_type -> google.ai.generativelanguage.v1beta.GetFileRequest + 5, // 6: google.ai.generativelanguage.v1beta.FileService.DeleteFile:input_type -> google.ai.generativelanguage.v1beta.DeleteFileRequest + 1, // 7: google.ai.generativelanguage.v1beta.FileService.CreateFile:output_type -> google.ai.generativelanguage.v1beta.CreateFileResponse + 3, // 8: google.ai.generativelanguage.v1beta.FileService.ListFiles:output_type -> google.ai.generativelanguage.v1beta.ListFilesResponse + 6, // 9: google.ai.generativelanguage.v1beta.FileService.GetFile:output_type -> google.ai.generativelanguage.v1beta.File + 7, // 10: google.ai.generativelanguage.v1beta.FileService.DeleteFile:output_type -> google.protobuf.Empty + 7, // [7:11] is the sub-list for method output_type + 3, // [3:7] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_ai_generativelanguage_v1beta_file_service_proto_init() } +func file_google_ai_generativelanguage_v1beta_file_service_proto_init() { + if File_google_ai_generativelanguage_v1beta_file_service_proto != nil { + return + } + file_google_ai_generativelanguage_v1beta_file_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFileResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFilesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFilesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteFileRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_ai_generativelanguage_v1beta_file_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_ai_generativelanguage_v1beta_file_service_proto_goTypes, + DependencyIndexes: file_google_ai_generativelanguage_v1beta_file_service_proto_depIdxs, + MessageInfos: file_google_ai_generativelanguage_v1beta_file_service_proto_msgTypes, + }.Build() + File_google_ai_generativelanguage_v1beta_file_service_proto = out.File + file_google_ai_generativelanguage_v1beta_file_service_proto_rawDesc = nil + file_google_ai_generativelanguage_v1beta_file_service_proto_goTypes = nil + file_google_ai_generativelanguage_v1beta_file_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 + +// FileServiceClient is the client API for FileService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type FileServiceClient interface { + // Creates a `File`. + CreateFile(ctx context.Context, in *CreateFileRequest, opts ...grpc.CallOption) (*CreateFileResponse, error) + // Lists the metadata for `File`s owned by the requesting project. + ListFiles(ctx context.Context, in *ListFilesRequest, opts ...grpc.CallOption) (*ListFilesResponse, error) + // Gets the metadata for the given `File`. + GetFile(ctx context.Context, in *GetFileRequest, opts ...grpc.CallOption) (*File, error) + // Deletes the `File`. + DeleteFile(ctx context.Context, in *DeleteFileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type fileServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewFileServiceClient(cc grpc.ClientConnInterface) FileServiceClient { + return &fileServiceClient{cc} +} + +func (c *fileServiceClient) CreateFile(ctx context.Context, in *CreateFileRequest, opts ...grpc.CallOption) (*CreateFileResponse, error) { + out := new(CreateFileResponse) + err := c.cc.Invoke(ctx, "/google.ai.generativelanguage.v1beta.FileService/CreateFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fileServiceClient) ListFiles(ctx context.Context, in *ListFilesRequest, opts ...grpc.CallOption) (*ListFilesResponse, error) { + out := new(ListFilesResponse) + err := c.cc.Invoke(ctx, "/google.ai.generativelanguage.v1beta.FileService/ListFiles", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fileServiceClient) GetFile(ctx context.Context, in *GetFileRequest, opts ...grpc.CallOption) (*File, error) { + out := new(File) + err := c.cc.Invoke(ctx, "/google.ai.generativelanguage.v1beta.FileService/GetFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *fileServiceClient) DeleteFile(ctx context.Context, in *DeleteFileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.ai.generativelanguage.v1beta.FileService/DeleteFile", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FileServiceServer is the server API for FileService service. +type FileServiceServer interface { + // Creates a `File`. + CreateFile(context.Context, *CreateFileRequest) (*CreateFileResponse, error) + // Lists the metadata for `File`s owned by the requesting project. + ListFiles(context.Context, *ListFilesRequest) (*ListFilesResponse, error) + // Gets the metadata for the given `File`. + GetFile(context.Context, *GetFileRequest) (*File, error) + // Deletes the `File`. + DeleteFile(context.Context, *DeleteFileRequest) (*emptypb.Empty, error) +} + +// UnimplementedFileServiceServer can be embedded to have forward compatible implementations. +type UnimplementedFileServiceServer struct { +} + +func (*UnimplementedFileServiceServer) CreateFile(context.Context, *CreateFileRequest) (*CreateFileResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateFile not implemented") +} +func (*UnimplementedFileServiceServer) ListFiles(context.Context, *ListFilesRequest) (*ListFilesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListFiles not implemented") +} +func (*UnimplementedFileServiceServer) GetFile(context.Context, *GetFileRequest) (*File, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFile not implemented") +} +func (*UnimplementedFileServiceServer) DeleteFile(context.Context, *DeleteFileRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFile not implemented") +} + +func RegisterFileServiceServer(s *grpc.Server, srv FileServiceServer) { + s.RegisterService(&_FileService_serviceDesc, srv) +} + +func _FileService_CreateFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FileServiceServer).CreateFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.ai.generativelanguage.v1beta.FileService/CreateFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FileServiceServer).CreateFile(ctx, req.(*CreateFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FileService_ListFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListFilesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FileServiceServer).ListFiles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.ai.generativelanguage.v1beta.FileService/ListFiles", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FileServiceServer).ListFiles(ctx, req.(*ListFilesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FileService_GetFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FileServiceServer).GetFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.ai.generativelanguage.v1beta.FileService/GetFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FileServiceServer).GetFile(ctx, req.(*GetFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FileService_DeleteFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFileRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FileServiceServer).DeleteFile(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.ai.generativelanguage.v1beta.FileService/DeleteFile", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FileServiceServer).DeleteFile(ctx, req.(*DeleteFileRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _FileService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.ai.generativelanguage.v1beta.FileService", + HandlerType: (*FileServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateFile", + Handler: _FileService_CreateFile_Handler, + }, + { + MethodName: "ListFiles", + Handler: _FileService_ListFiles_Handler, + }, + { + MethodName: "GetFile", + Handler: _FileService_GetFile_Handler, + }, + { + MethodName: "DeleteFile", + Handler: _FileService_DeleteFile_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/ai/generativelanguage/v1beta/file_service.proto", +} diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go index 2bf32df0e57e..7328ccca79f1 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/generative_service.pb.go @@ -346,6 +346,8 @@ type GenerateContentRequest struct { // // Format: `name=models/{model}`. Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Optional. Developer set system instruction. Currently, text only. + SystemInstruction *Content `protobuf:"bytes,8,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"` // Required. The content of the current conversation with the model. // // For single-turn queries, this is a single instance. For multi-turn queries, @@ -360,6 +362,8 @@ type GenerateContentRequest struct { // knowledge and scope of the model. The only supported tool is currently // `Function`. Tools []*Tool `protobuf:"bytes,5,rep,name=tools,proto3" json:"tools,omitempty"` + // Optional. Tool configuration for any `Tool` specified in the request. + ToolConfig *ToolConfig `protobuf:"bytes,7,opt,name=tool_config,json=toolConfig,proto3" json:"tool_config,omitempty"` // Optional. A list of unique `SafetySetting` instances for blocking unsafe // content. // @@ -417,6 +421,13 @@ func (x *GenerateContentRequest) GetModel() string { return "" } +func (x *GenerateContentRequest) GetSystemInstruction() *Content { + if x != nil { + return x.SystemInstruction + } + return nil +} + func (x *GenerateContentRequest) GetContents() []*Content { if x != nil { return x.Contents @@ -431,6 +442,13 @@ func (x *GenerateContentRequest) GetTools() []*Tool { return nil } +func (x *GenerateContentRequest) GetToolConfig() *ToolConfig { + if x != nil { + return x.ToolConfig + } + return nil +} + func (x *GenerateContentRequest) GetSafetySettings() []*SafetySetting { if x != nil { return x.SafetySettings @@ -454,7 +472,7 @@ type GenerationConfig struct { // Optional. Number of generated responses to return. // - // This value must be between [1, 8], inclusive. If unset, this will default + // Currently, this value can only be set to 1. If unset, this will default // to 1. CandidateCount *int32 `protobuf:"varint,1,opt,name=candidate_count,json=candidateCount,proto3,oneof" json:"candidate_count,omitempty"` // Optional. The set of character sequences (up to 5) that will stop output @@ -1926,463 +1944,477 @@ var file_google_ai_generativelanguage_v1beta_generative_service_proto_rawDesc = 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, 0xda, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x05, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 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, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, - 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x73, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, - 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, - 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6c, 0x0a, - 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0xdf, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x0f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x74, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x04, 0x74, - 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x04, 0x74, 0x6f, - 0x70, 0x4b, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, - 0x70, 0x5f, 0x6b, 0x22, 0x8b, 0x03, 0x0a, 0x17, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x65, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, + 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x05, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x63, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x6d, 0x61, - 0x78, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x78, - 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x40, - 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, - 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x22, 0x91, 0x04, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, - 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x74, 0x0a, - 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, + 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, + 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0f, 0x73, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x11, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x1a, 0xaf, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, - 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x7f, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x57, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, - 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x42, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, - 0x48, 0x45, 0x52, 0x10, 0x02, 0x22, 0xbc, 0x05, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xdf, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x0f, 0x63, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x6e, + 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x6f, + 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x61, + 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0f, 0x6d, 0x61, + 0x78, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0b, 0x74, 0x65, + 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x05, + 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x03, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x50, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x05, 0x74, + 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x04, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x22, 0x8b, 0x03, 0x0a, 0x17, 0x53, 0x65, 0x6d, + 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x47, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x63, 0x0a, 0x10, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x68, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, - 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x66, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, - 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x63, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, - 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x75, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6e, 0x0a, 0x0c, 0x46, 0x69, - 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x49, - 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, - 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, - 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x03, 0x12, - 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, - 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0xd9, 0x03, 0x0a, 0x13, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x7a, 0x0a, 0x11, - 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x18, 0x73, 0x65, 0x6d, - 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x5f, - 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x32, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, + 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x15, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, + 0x75, 0x6e, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x91, 0x04, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, + 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x74, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x64, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x16, - 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x72, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x5c, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, - 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x50, 0x0a, 0x16, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x1b, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x63, - 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0xba, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x09, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, + 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x1a, 0xaf, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x7f, 0x0a, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x0e, + 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x42, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x22, 0xbc, 0x05, 0x0a, 0x09, 0x43, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xfc, 0x05, - 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x0f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x12, 0x73, 0x65, - 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x6d, - 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, - 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 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, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x6e, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, - 0x60, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x74, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x22, 0x59, 0x0a, - 0x0b, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x18, - 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x42, - 0x53, 0x54, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x45, - 0x58, 0x54, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x56, - 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x91, 0x05, 0x0a, - 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, + 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, - 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, - 0x3f, 0x0a, 0x16, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, - 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x15, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, - 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x7a, 0x0a, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, - 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x75, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x1a, 0xc3, 0x02, 0x0a, - 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x82, - 0x01, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x6e, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x19, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, + 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, + 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, + 0x54, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xd9, 0x03, 0x0a, 0x13, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x7a, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x10, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x8b, 0x01, + 0x0a, 0x18, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x68, 0x75, 0x6e, + 0x6b, 0x48, 0x00, 0x52, 0x16, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x5c, 0x0a, 0x12, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, + 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x50, 0x0a, 0x16, 0x53, 0x65, 0x6d, + 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x43, 0x68, + 0x75, 0x6e, 0x6b, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x19, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5a, + 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x22, 0xfc, 0x05, 0x0a, 0x15, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x0f, + 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x48, 0x00, 0x52, + 0x0e, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x6d, 0x0a, 0x12, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, - 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x42, 0x0a, - 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, - 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, - 0x02, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x22, 0xb7, 0x02, 0x0a, 0x13, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, - 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 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, - 0x4b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x09, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x16, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, - 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, - 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, - 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 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, 0x59, 0x0a, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x78, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x11, 0x73, 0x65, 0x6d, + 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x72, 0x12, 0x45, + 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 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, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x0c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, - 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 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, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x38, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2a, 0x8f, 0x01, 0x0a, 0x08, 0x54, 0x61, - 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, - 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, - 0x0a, 0x13, 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x54, 0x49, 0x43, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, - 0x41, 0x52, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x41, 0x53, 0x53, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, - 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x32, 0x81, 0x0b, 0x0a, 0x11, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x86, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x78, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x01, 0x2a, 0x5a, 0x32, 0x3a, 0x01, - 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x3d, 0x74, 0x75, 0x6e, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x22, 0x28, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x3a, 0x2e, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x74, 0x79, + 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, + 0x74, 0x79, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xda, 0x41, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, - 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, - 0x27, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0xe0, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, - 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0xc5, 0x01, 0x0a, 0x0c, - 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, + 0x01, 0x01, 0x22, 0x59, 0x0a, 0x0b, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, + 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x4e, 0x53, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x59, 0x4c, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x0b, 0x41, 0x42, 0x53, 0x54, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, + 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x58, 0x54, 0x52, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, + 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x91, 0x05, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, + 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x40, 0xda, 0x41, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, - 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, + 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x61, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x16, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x15, 0x61, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, + 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, + 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x88, 0x01, + 0x01, 0x1a, 0xc3, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, + 0x61, 0x63, 0x6b, 0x12, 0x82, 0x01, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x22, 0x42, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x22, 0xb7, 0x02, 0x0a, 0x13, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 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, 0x4b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, + 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x54, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, + 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x45, + 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xbd, 0x01, + 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x05, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 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, 0x59, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x78, 0x0a, + 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x62, + 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6d, 0x62, + 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, + 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 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, 0x4d, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x22, 0x38, 0x0a, 0x13, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x2a, 0x8f, + 0x01, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x54, + 0x41, 0x53, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, + 0x56, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, + 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x54, 0x49, 0x43, 0x5f, + 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, + 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, + 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, + 0x32, 0x81, 0x0b, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x0e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x01, + 0x2a, 0x5a, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x74, 0x75, 0x6e, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0xeb, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xda, 0x41, 0x2b, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x73, + 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2c, 0x61, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0xe0, 0x01, + 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, - 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x24, 0xca, 0x41, 0x21, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, - 0xa2, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x16, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x2f, 0x67, 0x65, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x22, 0x2e, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, + 0x12, 0xc5, 0x01, 0x0a, 0x0c, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x3b, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, + 0x2a, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x6d, 0x62, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xde, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, 0x64, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x47, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6d, 0x62, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x0b, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, 0x41, + 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x1a, 0x24, + 0xca, 0x41, 0x21, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0xa2, 0x01, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x42, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5d, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x61, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x65, 0x70, 0x62, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2427,64 +2459,67 @@ var file_google_ai_generativelanguage_v1beta_generative_service_proto_goTypes = (*GenerateAnswerResponse_InputFeedback)(nil), // 24: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback (*Content)(nil), // 25: google.ai.generativelanguage.v1beta.Content (*Tool)(nil), // 26: google.ai.generativelanguage.v1beta.Tool - (*SafetySetting)(nil), // 27: google.ai.generativelanguage.v1beta.SafetySetting - (*MetadataFilter)(nil), // 28: google.ai.generativelanguage.v1beta.MetadataFilter - (*SafetyRating)(nil), // 29: google.ai.generativelanguage.v1beta.SafetyRating - (*CitationMetadata)(nil), // 30: google.ai.generativelanguage.v1beta.CitationMetadata - (*GroundingPassages)(nil), // 31: google.ai.generativelanguage.v1beta.GroundingPassages + (*ToolConfig)(nil), // 27: google.ai.generativelanguage.v1beta.ToolConfig + (*SafetySetting)(nil), // 28: google.ai.generativelanguage.v1beta.SafetySetting + (*MetadataFilter)(nil), // 29: google.ai.generativelanguage.v1beta.MetadataFilter + (*SafetyRating)(nil), // 30: google.ai.generativelanguage.v1beta.SafetyRating + (*CitationMetadata)(nil), // 31: google.ai.generativelanguage.v1beta.CitationMetadata + (*GroundingPassages)(nil), // 32: google.ai.generativelanguage.v1beta.GroundingPassages } var file_google_ai_generativelanguage_v1beta_generative_service_proto_depIdxs = []int32{ - 25, // 0: google.ai.generativelanguage.v1beta.GenerateContentRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content - 26, // 1: google.ai.generativelanguage.v1beta.GenerateContentRequest.tools:type_name -> google.ai.generativelanguage.v1beta.Tool - 27, // 2: google.ai.generativelanguage.v1beta.GenerateContentRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting - 6, // 3: google.ai.generativelanguage.v1beta.GenerateContentRequest.generation_config:type_name -> google.ai.generativelanguage.v1beta.GenerationConfig - 25, // 4: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.query:type_name -> google.ai.generativelanguage.v1beta.Content - 28, // 5: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.metadata_filters:type_name -> google.ai.generativelanguage.v1beta.MetadataFilter - 9, // 6: google.ai.generativelanguage.v1beta.GenerateContentResponse.candidates:type_name -> google.ai.generativelanguage.v1beta.Candidate - 21, // 7: google.ai.generativelanguage.v1beta.GenerateContentResponse.prompt_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback - 25, // 8: google.ai.generativelanguage.v1beta.Candidate.content:type_name -> google.ai.generativelanguage.v1beta.Content - 2, // 9: google.ai.generativelanguage.v1beta.Candidate.finish_reason:type_name -> google.ai.generativelanguage.v1beta.Candidate.FinishReason - 29, // 10: google.ai.generativelanguage.v1beta.Candidate.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating - 30, // 11: google.ai.generativelanguage.v1beta.Candidate.citation_metadata:type_name -> google.ai.generativelanguage.v1beta.CitationMetadata - 11, // 12: google.ai.generativelanguage.v1beta.Candidate.grounding_attributions:type_name -> google.ai.generativelanguage.v1beta.GroundingAttribution - 22, // 13: google.ai.generativelanguage.v1beta.AttributionSourceId.grounding_passage:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId - 23, // 14: google.ai.generativelanguage.v1beta.AttributionSourceId.semantic_retriever_chunk:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk - 10, // 15: google.ai.generativelanguage.v1beta.GroundingAttribution.source_id:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId - 25, // 16: google.ai.generativelanguage.v1beta.GroundingAttribution.content:type_name -> google.ai.generativelanguage.v1beta.Content - 31, // 17: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.inline_passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassages - 7, // 18: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.semantic_retriever:type_name -> google.ai.generativelanguage.v1beta.SemanticRetrieverConfig - 25, // 19: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content - 3, // 20: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.answer_style:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest.AnswerStyle - 27, // 21: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting - 9, // 22: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.answer:type_name -> google.ai.generativelanguage.v1beta.Candidate - 24, // 23: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.input_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback - 25, // 24: google.ai.generativelanguage.v1beta.EmbedContentRequest.content:type_name -> google.ai.generativelanguage.v1beta.Content - 0, // 25: google.ai.generativelanguage.v1beta.EmbedContentRequest.task_type:type_name -> google.ai.generativelanguage.v1beta.TaskType - 15, // 26: google.ai.generativelanguage.v1beta.EmbedContentResponse.embedding:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding - 14, // 27: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest.requests:type_name -> google.ai.generativelanguage.v1beta.EmbedContentRequest - 15, // 28: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse.embeddings:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding - 25, // 29: google.ai.generativelanguage.v1beta.CountTokensRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content - 1, // 30: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.BlockReason - 29, // 31: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating - 4, // 32: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.BlockReason - 29, // 33: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating - 5, // 34: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest - 12, // 35: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:input_type -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest - 5, // 36: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest - 14, // 37: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:input_type -> google.ai.generativelanguage.v1beta.EmbedContentRequest - 17, // 38: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:input_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest - 19, // 39: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:input_type -> google.ai.generativelanguage.v1beta.CountTokensRequest - 8, // 40: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse - 13, // 41: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:output_type -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse - 8, // 42: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse - 16, // 43: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:output_type -> google.ai.generativelanguage.v1beta.EmbedContentResponse - 18, // 44: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:output_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse - 20, // 45: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:output_type -> google.ai.generativelanguage.v1beta.CountTokensResponse - 40, // [40:46] is the sub-list for method output_type - 34, // [34:40] is the sub-list for method input_type - 34, // [34:34] is the sub-list for extension type_name - 34, // [34:34] is the sub-list for extension extendee - 0, // [0:34] is the sub-list for field type_name + 25, // 0: google.ai.generativelanguage.v1beta.GenerateContentRequest.system_instruction:type_name -> google.ai.generativelanguage.v1beta.Content + 25, // 1: google.ai.generativelanguage.v1beta.GenerateContentRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 26, // 2: google.ai.generativelanguage.v1beta.GenerateContentRequest.tools:type_name -> google.ai.generativelanguage.v1beta.Tool + 27, // 3: google.ai.generativelanguage.v1beta.GenerateContentRequest.tool_config:type_name -> google.ai.generativelanguage.v1beta.ToolConfig + 28, // 4: google.ai.generativelanguage.v1beta.GenerateContentRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting + 6, // 5: google.ai.generativelanguage.v1beta.GenerateContentRequest.generation_config:type_name -> google.ai.generativelanguage.v1beta.GenerationConfig + 25, // 6: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.query:type_name -> google.ai.generativelanguage.v1beta.Content + 29, // 7: google.ai.generativelanguage.v1beta.SemanticRetrieverConfig.metadata_filters:type_name -> google.ai.generativelanguage.v1beta.MetadataFilter + 9, // 8: google.ai.generativelanguage.v1beta.GenerateContentResponse.candidates:type_name -> google.ai.generativelanguage.v1beta.Candidate + 21, // 9: google.ai.generativelanguage.v1beta.GenerateContentResponse.prompt_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback + 25, // 10: google.ai.generativelanguage.v1beta.Candidate.content:type_name -> google.ai.generativelanguage.v1beta.Content + 2, // 11: google.ai.generativelanguage.v1beta.Candidate.finish_reason:type_name -> google.ai.generativelanguage.v1beta.Candidate.FinishReason + 30, // 12: google.ai.generativelanguage.v1beta.Candidate.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 31, // 13: google.ai.generativelanguage.v1beta.Candidate.citation_metadata:type_name -> google.ai.generativelanguage.v1beta.CitationMetadata + 11, // 14: google.ai.generativelanguage.v1beta.Candidate.grounding_attributions:type_name -> google.ai.generativelanguage.v1beta.GroundingAttribution + 22, // 15: google.ai.generativelanguage.v1beta.AttributionSourceId.grounding_passage:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.GroundingPassageId + 23, // 16: google.ai.generativelanguage.v1beta.AttributionSourceId.semantic_retriever_chunk:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId.SemanticRetrieverChunk + 10, // 17: google.ai.generativelanguage.v1beta.GroundingAttribution.source_id:type_name -> google.ai.generativelanguage.v1beta.AttributionSourceId + 25, // 18: google.ai.generativelanguage.v1beta.GroundingAttribution.content:type_name -> google.ai.generativelanguage.v1beta.Content + 32, // 19: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.inline_passages:type_name -> google.ai.generativelanguage.v1beta.GroundingPassages + 7, // 20: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.semantic_retriever:type_name -> google.ai.generativelanguage.v1beta.SemanticRetrieverConfig + 25, // 21: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 3, // 22: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.answer_style:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest.AnswerStyle + 28, // 23: google.ai.generativelanguage.v1beta.GenerateAnswerRequest.safety_settings:type_name -> google.ai.generativelanguage.v1beta.SafetySetting + 9, // 24: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.answer:type_name -> google.ai.generativelanguage.v1beta.Candidate + 24, // 25: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.input_feedback:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback + 25, // 26: google.ai.generativelanguage.v1beta.EmbedContentRequest.content:type_name -> google.ai.generativelanguage.v1beta.Content + 0, // 27: google.ai.generativelanguage.v1beta.EmbedContentRequest.task_type:type_name -> google.ai.generativelanguage.v1beta.TaskType + 15, // 28: google.ai.generativelanguage.v1beta.EmbedContentResponse.embedding:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding + 14, // 29: google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest.requests:type_name -> google.ai.generativelanguage.v1beta.EmbedContentRequest + 15, // 30: google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse.embeddings:type_name -> google.ai.generativelanguage.v1beta.ContentEmbedding + 25, // 31: google.ai.generativelanguage.v1beta.CountTokensRequest.contents:type_name -> google.ai.generativelanguage.v1beta.Content + 1, // 32: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.BlockReason + 30, // 33: google.ai.generativelanguage.v1beta.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 4, // 34: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.block_reason:type_name -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.BlockReason + 30, // 35: google.ai.generativelanguage.v1beta.GenerateAnswerResponse.InputFeedback.safety_ratings:type_name -> google.ai.generativelanguage.v1beta.SafetyRating + 5, // 36: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest + 12, // 37: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:input_type -> google.ai.generativelanguage.v1beta.GenerateAnswerRequest + 5, // 38: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:input_type -> google.ai.generativelanguage.v1beta.GenerateContentRequest + 14, // 39: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:input_type -> google.ai.generativelanguage.v1beta.EmbedContentRequest + 17, // 40: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:input_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsRequest + 19, // 41: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:input_type -> google.ai.generativelanguage.v1beta.CountTokensRequest + 8, // 42: google.ai.generativelanguage.v1beta.GenerativeService.GenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse + 13, // 43: google.ai.generativelanguage.v1beta.GenerativeService.GenerateAnswer:output_type -> google.ai.generativelanguage.v1beta.GenerateAnswerResponse + 8, // 44: google.ai.generativelanguage.v1beta.GenerativeService.StreamGenerateContent:output_type -> google.ai.generativelanguage.v1beta.GenerateContentResponse + 16, // 45: google.ai.generativelanguage.v1beta.GenerativeService.EmbedContent:output_type -> google.ai.generativelanguage.v1beta.EmbedContentResponse + 18, // 46: google.ai.generativelanguage.v1beta.GenerativeService.BatchEmbedContents:output_type -> google.ai.generativelanguage.v1beta.BatchEmbedContentsResponse + 20, // 47: google.ai.generativelanguage.v1beta.GenerativeService.CountTokens:output_type -> google.ai.generativelanguage.v1beta.CountTokensResponse + 42, // [42:48] is the sub-list for method output_type + 36, // [36:42] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name } func init() { file_google_ai_generativelanguage_v1beta_generative_service_proto_init() } diff --git a/aiplatform/apiv1/aiplatformpb/content.pb.go b/aiplatform/apiv1/aiplatformpb/content.pb.go index 6582daf80901..5d783d95c81e 100755 --- a/aiplatform/apiv1/aiplatformpb/content.pb.go +++ b/aiplatform/apiv1/aiplatformpb/content.pb.go @@ -160,6 +160,59 @@ func (SafetySetting_HarmBlockThreshold) EnumDescriptor() ([]byte, []int) { return file_google_cloud_aiplatform_v1_content_proto_rawDescGZIP(), []int{6, 0} } +// Probability vs severity. +type SafetySetting_HarmBlockMethod int32 + +const ( + // The harm block method is unspecified. + SafetySetting_HARM_BLOCK_METHOD_UNSPECIFIED SafetySetting_HarmBlockMethod = 0 + // The harm block method uses both probability and severity scores. + SafetySetting_SEVERITY SafetySetting_HarmBlockMethod = 1 + // The harm block method uses the probability score. + SafetySetting_PROBABILITY SafetySetting_HarmBlockMethod = 2 +) + +// Enum value maps for SafetySetting_HarmBlockMethod. +var ( + SafetySetting_HarmBlockMethod_name = map[int32]string{ + 0: "HARM_BLOCK_METHOD_UNSPECIFIED", + 1: "SEVERITY", + 2: "PROBABILITY", + } + SafetySetting_HarmBlockMethod_value = map[string]int32{ + "HARM_BLOCK_METHOD_UNSPECIFIED": 0, + "SEVERITY": 1, + "PROBABILITY": 2, + } +) + +func (x SafetySetting_HarmBlockMethod) Enum() *SafetySetting_HarmBlockMethod { + p := new(SafetySetting_HarmBlockMethod) + *p = x + return p +} + +func (x SafetySetting_HarmBlockMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SafetySetting_HarmBlockMethod) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_content_proto_enumTypes[2].Descriptor() +} + +func (SafetySetting_HarmBlockMethod) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[2] +} + +func (x SafetySetting_HarmBlockMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SafetySetting_HarmBlockMethod.Descriptor instead. +func (SafetySetting_HarmBlockMethod) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_content_proto_rawDescGZIP(), []int{6, 1} +} + // Harm probability levels in the content. type SafetyRating_HarmProbability int32 @@ -205,11 +258,11 @@ func (x SafetyRating_HarmProbability) String() string { } func (SafetyRating_HarmProbability) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1_content_proto_enumTypes[2].Descriptor() + return file_google_cloud_aiplatform_v1_content_proto_enumTypes[3].Descriptor() } func (SafetyRating_HarmProbability) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[2] + return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[3] } func (x SafetyRating_HarmProbability) Number() protoreflect.EnumNumber { @@ -266,11 +319,11 @@ func (x SafetyRating_HarmSeverity) String() string { } func (SafetyRating_HarmSeverity) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1_content_proto_enumTypes[3].Descriptor() + return file_google_cloud_aiplatform_v1_content_proto_enumTypes[4].Descriptor() } func (SafetyRating_HarmSeverity) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[3] + return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[4] } func (x SafetyRating_HarmSeverity) Number() protoreflect.EnumNumber { @@ -350,11 +403,11 @@ func (x Candidate_FinishReason) String() string { } func (Candidate_FinishReason) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1_content_proto_enumTypes[4].Descriptor() + return file_google_cloud_aiplatform_v1_content_proto_enumTypes[5].Descriptor() } func (Candidate_FinishReason) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[4] + return &file_google_cloud_aiplatform_v1_content_proto_enumTypes[5] } func (x Candidate_FinishReason) Number() protoreflect.EnumNumber { @@ -602,9 +655,10 @@ type Part_VideoMetadata struct { func (*Part_VideoMetadata) isPart_Metadata() {} -// Raw media bytes. +// Content blob. // -// Text should not be sent as raw bytes, use the 'text' field. +// It's preferred to send as [text][google.cloud.aiplatform.v1.Part.text] +// directly rather than raw bytes. type Blob struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -612,7 +666,7 @@ type Blob struct { // Required. The IANA standard MIME type of the source data. MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` - // Required. Raw bytes for media formats. + // Required. Raw bytes. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } @@ -796,6 +850,18 @@ type GenerationConfig struct { MaxOutputTokens *int32 `protobuf:"varint,5,opt,name=max_output_tokens,json=maxOutputTokens,proto3,oneof" json:"max_output_tokens,omitempty"` // Optional. Stop sequences. StopSequences []string `protobuf:"bytes,6,rep,name=stop_sequences,json=stopSequences,proto3" json:"stop_sequences,omitempty"` + // Optional. Positive penalties. + PresencePenalty *float32 `protobuf:"fixed32,8,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"` + // Optional. Frequency penalties. + FrequencyPenalty *float32 `protobuf:"fixed32,9,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"` + // Optional. Output response mimetype of the generated candidate text. + // Supported mimetype: + // - `text/plain`: (default) Text output. + // - `application/json`: JSON response in the candidates. + // The model needs to be prompted to output the appropriate response type, + // otherwise the behavior is undefined. + // This is a preview feature. + ResponseMimeType string `protobuf:"bytes,13,opt,name=response_mime_type,json=responseMimeType,proto3" json:"response_mime_type,omitempty"` } func (x *GenerationConfig) Reset() { @@ -872,6 +938,27 @@ func (x *GenerationConfig) GetStopSequences() []string { return nil } +func (x *GenerationConfig) GetPresencePenalty() float32 { + if x != nil && x.PresencePenalty != nil { + return *x.PresencePenalty + } + return 0 +} + +func (x *GenerationConfig) GetFrequencyPenalty() float32 { + if x != nil && x.FrequencyPenalty != nil { + return *x.FrequencyPenalty + } + return 0 +} + +func (x *GenerationConfig) GetResponseMimeType() string { + if x != nil { + return x.ResponseMimeType + } + return "" +} + // Safety settings. type SafetySetting struct { state protoimpl.MessageState @@ -882,6 +969,9 @@ type SafetySetting struct { Category HarmCategory `protobuf:"varint,1,opt,name=category,proto3,enum=google.cloud.aiplatform.v1.HarmCategory" json:"category,omitempty"` // Required. The harm block threshold. Threshold SafetySetting_HarmBlockThreshold `protobuf:"varint,2,opt,name=threshold,proto3,enum=google.cloud.aiplatform.v1.SafetySetting_HarmBlockThreshold" json:"threshold,omitempty"` + // Optional. Specify if the threshold is used for probability or severity + // score. If not specified, the threshold is used for probability score. + Method SafetySetting_HarmBlockMethod `protobuf:"varint,4,opt,name=method,proto3,enum=google.cloud.aiplatform.v1.SafetySetting_HarmBlockMethod" json:"method,omitempty"` } func (x *SafetySetting) Reset() { @@ -930,6 +1020,13 @@ func (x *SafetySetting) GetThreshold() SafetySetting_HarmBlockThreshold { return SafetySetting_HARM_BLOCK_THRESHOLD_UNSPECIFIED } +func (x *SafetySetting) GetMethod() SafetySetting_HarmBlockMethod { + if x != nil { + return x.Method + } + return SafetySetting_HARM_BLOCK_METHOD_UNSPECIFIED +} + // Safety rating corresponding to the generated content. type SafetyRating struct { state protoimpl.MessageState @@ -1617,7 +1714,7 @@ var file_google_cloud_aiplatform_v1_content_proto_rawDesc = []byte{ 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xdf, 0x02, 0x0a, 0x10, 0x47, 0x65, + 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xa9, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, @@ -1634,203 +1731,226 @@ var file_google_cloud_aiplatform_v1_content_proto_rawDesc = []byte{ 0x61, 0x78, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, - 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, - 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0xd2, 0x02, 0x0a, 0x0d, - 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x48, 0x61, 0x72, - 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x5f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, - 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 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, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x48, 0x61, - 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x12, 0x24, 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, - 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, - 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x42, - 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, - 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, - 0x22, 0x8a, 0x05, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x12, 0x49, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x73, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, + 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, + 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x05, 0x52, 0x0f, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, + 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x06, 0x52, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x50, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, + 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x22, 0xff, 0x03, 0x0a, 0x0d, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x5f, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 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, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x12, 0x56, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x39, 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, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x5f, 0x0a, 0x0b, - 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 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, 0x53, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, - 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, - 0x11, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, - 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, - 0x56, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 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, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, - 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x50, 0x52, - 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x47, 0x4c, 0x49, - 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, - 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, - 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x53, - 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, - 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, - 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, - 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, - 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x48, - 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, - 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, - 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x5b, 0x0a, - 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x47, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, + 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, + 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x24, 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, + 0x4d, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, + 0x0f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x04, 0x22, 0x53, 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x56, 0x45, + 0x52, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x22, 0x8a, 0x05, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x12, 0x5f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 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, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 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, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, + 0x0a, 0x0e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0f, 0x48, 0x61, 0x72, + 0x6d, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x1c, + 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x07, + 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, + 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x94, 0x01, + 0x0a, 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, + 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, + 0x45, 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, + 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, + 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, + 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, + 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, + 0x47, 0x48, 0x10, 0x04, 0x22, 0x5b, 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, + 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0xc7, 0x05, 0x0a, 0x09, 0x43, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x42, 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, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x43, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, - 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x65, 0x22, 0xc7, 0x05, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 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, 0x43, 0x61, 0x6e, 0x64, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 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, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x5c, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x66, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5e, 0x0a, 0x11, + 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 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, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x54, - 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x04, 0x20, 0x03, 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, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 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, 0x43, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x63, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x12, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x07, 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, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x9f, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, + 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, + 0x45, 0x54, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, + 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, + 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, 0x49, 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, 0x49, 0x49, 0x10, + 0x08, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x75, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbc, 0x02, 0x0a, 0x14, + 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x03, 0x77, 0x65, 0x62, 0x18, 0x03, 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, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x03, + 0x77, 0x65, 0x62, 0x12, 0x42, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 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, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, + 0x37, 0x0a, 0x03, 0x57, 0x65, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9f, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x49, 0x4e, - 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, - 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x03, 0x12, 0x0e, - 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x09, - 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, - 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, - 0x49, 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x07, - 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, 0x49, 0x49, 0x10, 0x08, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x75, 0x0a, - 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a, 0x0b, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbc, 0x02, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, - 0x03, 0x77, 0x65, 0x62, 0x18, 0x03, 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, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x42, 0x0a, 0x07, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 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, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x36, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, - 0x41, 0x03, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x37, 0x0a, 0x03, 0x57, 0x65, 0x62, 0x12, - 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x77, 0x65, 0x62, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x16, - 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xb4, 0x01, 0x0a, 0x0c, 0x48, - 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x48, - 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, - 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x48, 0x41, 0x54, 0x45, - 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, - 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x44, 0x41, 0x4e, 0x47, 0x45, - 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1c, - 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, - 0x48, 0x41, 0x52, 0x41, 0x53, 0x53, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, - 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x45, - 0x58, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, - 0x04, 0x42, 0xca, 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, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 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, + 0x12, 0x31, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 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, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2a, 0xb4, 0x01, 0x0a, 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, + 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, + 0x52, 0x59, 0x5f, 0x48, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x01, + 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, + 0x59, 0x5f, 0x44, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, + 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x48, 0x41, 0x52, 0x41, 0x53, 0x53, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x45, 0x58, + 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x42, 0xca, 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, 0x0c, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 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 ( @@ -1845,63 +1965,65 @@ func file_google_cloud_aiplatform_v1_content_proto_rawDescGZIP() []byte { return file_google_cloud_aiplatform_v1_content_proto_rawDescData } -var file_google_cloud_aiplatform_v1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_cloud_aiplatform_v1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 6) var file_google_cloud_aiplatform_v1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_google_cloud_aiplatform_v1_content_proto_goTypes = []interface{}{ (HarmCategory)(0), // 0: google.cloud.aiplatform.v1.HarmCategory (SafetySetting_HarmBlockThreshold)(0), // 1: google.cloud.aiplatform.v1.SafetySetting.HarmBlockThreshold - (SafetyRating_HarmProbability)(0), // 2: google.cloud.aiplatform.v1.SafetyRating.HarmProbability - (SafetyRating_HarmSeverity)(0), // 3: google.cloud.aiplatform.v1.SafetyRating.HarmSeverity - (Candidate_FinishReason)(0), // 4: google.cloud.aiplatform.v1.Candidate.FinishReason - (*Content)(nil), // 5: google.cloud.aiplatform.v1.Content - (*Part)(nil), // 6: google.cloud.aiplatform.v1.Part - (*Blob)(nil), // 7: google.cloud.aiplatform.v1.Blob - (*FileData)(nil), // 8: google.cloud.aiplatform.v1.FileData - (*VideoMetadata)(nil), // 9: google.cloud.aiplatform.v1.VideoMetadata - (*GenerationConfig)(nil), // 10: google.cloud.aiplatform.v1.GenerationConfig - (*SafetySetting)(nil), // 11: google.cloud.aiplatform.v1.SafetySetting - (*SafetyRating)(nil), // 12: google.cloud.aiplatform.v1.SafetyRating - (*CitationMetadata)(nil), // 13: google.cloud.aiplatform.v1.CitationMetadata - (*Citation)(nil), // 14: google.cloud.aiplatform.v1.Citation - (*Candidate)(nil), // 15: google.cloud.aiplatform.v1.Candidate - (*Segment)(nil), // 16: google.cloud.aiplatform.v1.Segment - (*GroundingAttribution)(nil), // 17: google.cloud.aiplatform.v1.GroundingAttribution - (*GroundingMetadata)(nil), // 18: google.cloud.aiplatform.v1.GroundingMetadata - (*GroundingAttribution_Web)(nil), // 19: google.cloud.aiplatform.v1.GroundingAttribution.Web - (*FunctionCall)(nil), // 20: google.cloud.aiplatform.v1.FunctionCall - (*FunctionResponse)(nil), // 21: google.cloud.aiplatform.v1.FunctionResponse - (*durationpb.Duration)(nil), // 22: google.protobuf.Duration - (*date.Date)(nil), // 23: google.type.Date + (SafetySetting_HarmBlockMethod)(0), // 2: google.cloud.aiplatform.v1.SafetySetting.HarmBlockMethod + (SafetyRating_HarmProbability)(0), // 3: google.cloud.aiplatform.v1.SafetyRating.HarmProbability + (SafetyRating_HarmSeverity)(0), // 4: google.cloud.aiplatform.v1.SafetyRating.HarmSeverity + (Candidate_FinishReason)(0), // 5: google.cloud.aiplatform.v1.Candidate.FinishReason + (*Content)(nil), // 6: google.cloud.aiplatform.v1.Content + (*Part)(nil), // 7: google.cloud.aiplatform.v1.Part + (*Blob)(nil), // 8: google.cloud.aiplatform.v1.Blob + (*FileData)(nil), // 9: google.cloud.aiplatform.v1.FileData + (*VideoMetadata)(nil), // 10: google.cloud.aiplatform.v1.VideoMetadata + (*GenerationConfig)(nil), // 11: google.cloud.aiplatform.v1.GenerationConfig + (*SafetySetting)(nil), // 12: google.cloud.aiplatform.v1.SafetySetting + (*SafetyRating)(nil), // 13: google.cloud.aiplatform.v1.SafetyRating + (*CitationMetadata)(nil), // 14: google.cloud.aiplatform.v1.CitationMetadata + (*Citation)(nil), // 15: google.cloud.aiplatform.v1.Citation + (*Candidate)(nil), // 16: google.cloud.aiplatform.v1.Candidate + (*Segment)(nil), // 17: google.cloud.aiplatform.v1.Segment + (*GroundingAttribution)(nil), // 18: google.cloud.aiplatform.v1.GroundingAttribution + (*GroundingMetadata)(nil), // 19: google.cloud.aiplatform.v1.GroundingMetadata + (*GroundingAttribution_Web)(nil), // 20: google.cloud.aiplatform.v1.GroundingAttribution.Web + (*FunctionCall)(nil), // 21: google.cloud.aiplatform.v1.FunctionCall + (*FunctionResponse)(nil), // 22: google.cloud.aiplatform.v1.FunctionResponse + (*durationpb.Duration)(nil), // 23: google.protobuf.Duration + (*date.Date)(nil), // 24: google.type.Date } var file_google_cloud_aiplatform_v1_content_proto_depIdxs = []int32{ - 6, // 0: google.cloud.aiplatform.v1.Content.parts:type_name -> google.cloud.aiplatform.v1.Part - 7, // 1: google.cloud.aiplatform.v1.Part.inline_data:type_name -> google.cloud.aiplatform.v1.Blob - 8, // 2: google.cloud.aiplatform.v1.Part.file_data:type_name -> google.cloud.aiplatform.v1.FileData - 20, // 3: google.cloud.aiplatform.v1.Part.function_call:type_name -> google.cloud.aiplatform.v1.FunctionCall - 21, // 4: google.cloud.aiplatform.v1.Part.function_response:type_name -> google.cloud.aiplatform.v1.FunctionResponse - 9, // 5: google.cloud.aiplatform.v1.Part.video_metadata:type_name -> google.cloud.aiplatform.v1.VideoMetadata - 22, // 6: google.cloud.aiplatform.v1.VideoMetadata.start_offset:type_name -> google.protobuf.Duration - 22, // 7: google.cloud.aiplatform.v1.VideoMetadata.end_offset:type_name -> google.protobuf.Duration + 7, // 0: google.cloud.aiplatform.v1.Content.parts:type_name -> google.cloud.aiplatform.v1.Part + 8, // 1: google.cloud.aiplatform.v1.Part.inline_data:type_name -> google.cloud.aiplatform.v1.Blob + 9, // 2: google.cloud.aiplatform.v1.Part.file_data:type_name -> google.cloud.aiplatform.v1.FileData + 21, // 3: google.cloud.aiplatform.v1.Part.function_call:type_name -> google.cloud.aiplatform.v1.FunctionCall + 22, // 4: google.cloud.aiplatform.v1.Part.function_response:type_name -> google.cloud.aiplatform.v1.FunctionResponse + 10, // 5: google.cloud.aiplatform.v1.Part.video_metadata:type_name -> google.cloud.aiplatform.v1.VideoMetadata + 23, // 6: google.cloud.aiplatform.v1.VideoMetadata.start_offset:type_name -> google.protobuf.Duration + 23, // 7: google.cloud.aiplatform.v1.VideoMetadata.end_offset:type_name -> google.protobuf.Duration 0, // 8: google.cloud.aiplatform.v1.SafetySetting.category:type_name -> google.cloud.aiplatform.v1.HarmCategory 1, // 9: google.cloud.aiplatform.v1.SafetySetting.threshold:type_name -> google.cloud.aiplatform.v1.SafetySetting.HarmBlockThreshold - 0, // 10: google.cloud.aiplatform.v1.SafetyRating.category:type_name -> google.cloud.aiplatform.v1.HarmCategory - 2, // 11: google.cloud.aiplatform.v1.SafetyRating.probability:type_name -> google.cloud.aiplatform.v1.SafetyRating.HarmProbability - 3, // 12: google.cloud.aiplatform.v1.SafetyRating.severity:type_name -> google.cloud.aiplatform.v1.SafetyRating.HarmSeverity - 14, // 13: google.cloud.aiplatform.v1.CitationMetadata.citations:type_name -> google.cloud.aiplatform.v1.Citation - 23, // 14: google.cloud.aiplatform.v1.Citation.publication_date:type_name -> google.type.Date - 5, // 15: google.cloud.aiplatform.v1.Candidate.content:type_name -> google.cloud.aiplatform.v1.Content - 4, // 16: google.cloud.aiplatform.v1.Candidate.finish_reason:type_name -> google.cloud.aiplatform.v1.Candidate.FinishReason - 12, // 17: google.cloud.aiplatform.v1.Candidate.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating - 13, // 18: google.cloud.aiplatform.v1.Candidate.citation_metadata:type_name -> google.cloud.aiplatform.v1.CitationMetadata - 18, // 19: google.cloud.aiplatform.v1.Candidate.grounding_metadata:type_name -> google.cloud.aiplatform.v1.GroundingMetadata - 19, // 20: google.cloud.aiplatform.v1.GroundingAttribution.web:type_name -> google.cloud.aiplatform.v1.GroundingAttribution.Web - 16, // 21: google.cloud.aiplatform.v1.GroundingAttribution.segment:type_name -> google.cloud.aiplatform.v1.Segment - 17, // 22: google.cloud.aiplatform.v1.GroundingMetadata.grounding_attributions:type_name -> google.cloud.aiplatform.v1.GroundingAttribution - 23, // [23:23] is the sub-list for method output_type - 23, // [23:23] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 2, // 10: google.cloud.aiplatform.v1.SafetySetting.method:type_name -> google.cloud.aiplatform.v1.SafetySetting.HarmBlockMethod + 0, // 11: google.cloud.aiplatform.v1.SafetyRating.category:type_name -> google.cloud.aiplatform.v1.HarmCategory + 3, // 12: google.cloud.aiplatform.v1.SafetyRating.probability:type_name -> google.cloud.aiplatform.v1.SafetyRating.HarmProbability + 4, // 13: google.cloud.aiplatform.v1.SafetyRating.severity:type_name -> google.cloud.aiplatform.v1.SafetyRating.HarmSeverity + 15, // 14: google.cloud.aiplatform.v1.CitationMetadata.citations:type_name -> google.cloud.aiplatform.v1.Citation + 24, // 15: google.cloud.aiplatform.v1.Citation.publication_date:type_name -> google.type.Date + 6, // 16: google.cloud.aiplatform.v1.Candidate.content:type_name -> google.cloud.aiplatform.v1.Content + 5, // 17: google.cloud.aiplatform.v1.Candidate.finish_reason:type_name -> google.cloud.aiplatform.v1.Candidate.FinishReason + 13, // 18: google.cloud.aiplatform.v1.Candidate.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating + 14, // 19: google.cloud.aiplatform.v1.Candidate.citation_metadata:type_name -> google.cloud.aiplatform.v1.CitationMetadata + 19, // 20: google.cloud.aiplatform.v1.Candidate.grounding_metadata:type_name -> google.cloud.aiplatform.v1.GroundingMetadata + 20, // 21: google.cloud.aiplatform.v1.GroundingAttribution.web:type_name -> google.cloud.aiplatform.v1.GroundingAttribution.Web + 17, // 22: google.cloud.aiplatform.v1.GroundingAttribution.segment:type_name -> google.cloud.aiplatform.v1.Segment + 18, // 23: google.cloud.aiplatform.v1.GroundingMetadata.grounding_attributions:type_name -> google.cloud.aiplatform.v1.GroundingAttribution + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1_content_proto_init() } @@ -2110,7 +2232,7 @@ func file_google_cloud_aiplatform_v1_content_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1_content_proto_rawDesc, - NumEnums: 5, + NumEnums: 6, NumMessages: 15, NumExtensions: 0, NumServices: 0, diff --git a/aiplatform/apiv1/aiplatformpb/custom_job.pb.go b/aiplatform/apiv1/aiplatformpb/custom_job.pb.go index fc8866f14256..28490cb82bcd 100755 --- a/aiplatform/apiv1/aiplatformpb/custom_job.pb.go +++ b/aiplatform/apiv1/aiplatformpb/custom_job.pb.go @@ -220,6 +220,14 @@ type CustomJobSpec struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Optional. The ID of the PersistentResource in the same Project and Location + // which to run + // + // If this is specified, the job will be run on existing machines held by the + // PersistentResource instead of on-demand short-live machines. + // The network and CMEK configs on the job should be consistent with those on + // the PersistentResource, otherwise, the job will be rejected. + PersistentResourceId string `protobuf:"bytes,14,opt,name=persistent_resource_id,json=persistentResourceId,proto3" json:"persistent_resource_id,omitempty"` // Required. The spec of the worker pools including machine type and Docker // image. All worker pools except the first one are optional and can be // skipped by providing an empty value. @@ -368,6 +376,13 @@ func (*CustomJobSpec) Descriptor() ([]byte, []int) { return file_google_cloud_aiplatform_v1_custom_job_proto_rawDescGZIP(), []int{1} } +func (x *CustomJobSpec) GetPersistentResourceId() string { + if x != nil { + return x.PersistentResourceId + } + return "" +} + func (x *CustomJobSpec) GetWorkerPoolSpecs() []*WorkerPoolSpec { if x != nil { return x.WorkerPoolSpecs @@ -918,143 +933,149 @@ var file_google_cloud_aiplatform_v1_custom_job_proto_rawDesc = []byte{ 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, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x94, 0x07, 0x0a, 0x0d, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5b, 0x0a, 0x11, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x22, 0x80, 0x08, 0x0a, 0x0d, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6a, 0x0a, 0x16, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x01, + 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 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, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, + 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, + 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, + 0x70, 0x65, 0x63, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, + 0x6e, 0x67, 0x18, 0x03, 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, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 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, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x15, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x06, 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, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 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, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x73, 0x68, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, + 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x49, + 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x01, + 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, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0xd8, 0x03, 0x0a, + 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x52, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, + 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 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, 0x50, 0x79, + 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, + 0x00, 0x52, 0x11, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x52, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, + 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x6e, 0x66, 0x73, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x18, 0x04, 0x20, 0x03, 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, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, - 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 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, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, - 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 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, 0x31, 0x0a, 0x12, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x5e, - 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 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, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x43, - 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, - 0x0a, 0x25, 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, 0x54, 0x65, 0x6e, 0x73, - 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, - 0x65, 0x62, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, - 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x01, 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, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x12, - 0x3f, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x27, 0xe0, 0x41, 0x01, 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, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x22, 0xd8, 0x03, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x6e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 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, 0x44, 0x69, 0x73, + 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 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, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, + 0xe2, 0x01, 0x0a, 0x11, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, + 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x73, + 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x79, + 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x34, + 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 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, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, - 0x6e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, - 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, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x52, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, + 0x03, 0x65, 0x6e, 0x76, 0x22, 0xb1, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, + 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, 0x52, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x19, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, 0x6e, 0x57, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0xcc, 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, 0x2e, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, - 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x6e, 0x66, 0x73, 0x5f, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 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, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x41, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 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, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, - 0x70, 0x65, 0x63, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x0d, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, - 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x34, 0x0a, - 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 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, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x52, 0x03, - 0x65, 0x6e, 0x76, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x6f, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0c, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x55, 0x72, 0x69, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x34, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x22, 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, 0x45, 0x6e, 0x76, - 0x56, 0x61, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x22, 0xb1, 0x01, 0x0a, 0x0a, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x01, 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, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x40, 0x0a, 0x1d, - 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6f, 0x6e, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x4f, - 0x6e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, - 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0xcc, 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, - 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 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, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4a, 0x6f, 0x62, 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 ( diff --git a/aiplatform/apiv1/aiplatformpb/endpoint.pb.go b/aiplatform/apiv1/aiplatformpb/endpoint.pb.go index d4fedad51bc2..f1bbeda582f1 100755 --- a/aiplatform/apiv1/aiplatformpb/endpoint.pb.go +++ b/aiplatform/apiv1/aiplatformpb/endpoint.pb.go @@ -316,6 +316,12 @@ type DeployedModel struct { // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] // will be used for the explanation configuration. ExplanationSpec *ExplanationSpec `protobuf:"bytes,9,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"` + // If true, deploy the model without explainable feature, regardless the + // existence of + // [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec] + // or + // [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]. + DisableExplanations bool `protobuf:"varint,19,opt,name=disable_explanations,json=disableExplanations,proto3" json:"disable_explanations,omitempty"` // The service account that the DeployedModel's container runs as. Specify the // email address of the service account. If this service account is not // specified, the container runs as a service account that doesn't have access @@ -450,6 +456,13 @@ func (x *DeployedModel) GetExplanationSpec() *ExplanationSpec { return nil } +func (x *DeployedModel) GetDisableExplanations() bool { + if x != nil { + return x.DisableExplanations + } + return false +} + func (x *DeployedModel) GetServiceAccount() string { if x != nil { return x.ServiceAccount @@ -769,7 +782,7 @@ var file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc = []byte{ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x22, 0x8a, 0x07, 0x0a, 0x0d, 0x44, 0x65, + 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x22, 0xbd, 0x07, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x61, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, @@ -809,63 +822,66 @@ var file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, - 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, - 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x5e, - 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 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, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x16, - 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, - 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, - 0x69, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x2b, 0x0a, 0x0f, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x48, - 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xc8, 0x01, 0x0a, 0x23, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x62, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, - 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xcb, 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, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 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, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, + 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 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, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2d, + 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, + 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x2b, 0x0a, 0x0f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xc8, 0x01, + 0x0a, 0x23, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, + 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 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, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xcb, 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, 0x0d, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 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 ( diff --git a/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go b/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go index 75bbb4026c4c..f0f1359071e4 100755 --- a/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/endpoint_service.pb.go @@ -241,9 +241,8 @@ type ListEndpointsRequest struct { // names both snake_case and camelCase are supported. // // - `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint - // ID, - // i.e. the last segment of the Endpoint's [resource - // name][google.cloud.aiplatform.v1.Endpoint.name]. + // ID, i.e. the last segment of the Endpoint's + // [resource name][google.cloud.aiplatform.v1.Endpoint.name]. // - `display_name` supports `=` and `!=`. // - `labels` supports general map functions that is: // - `labels.key=value` - key:value equality diff --git a/aiplatform/apiv1/aiplatformpb/machine_resources.pb.go b/aiplatform/apiv1/aiplatformpb/machine_resources.pb.go index a8af6c0cd5fe..cb4dc4235893 100755 --- a/aiplatform/apiv1/aiplatformpb/machine_resources.pb.go +++ b/aiplatform/apiv1/aiplatformpb/machine_resources.pb.go @@ -702,6 +702,63 @@ func (x *AutoscalingMetricSpec) GetTarget() int32 { return 0 } +// A set of Shielded Instance options. +// See [Images using supported Shielded VM +// features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). +type ShieldedVmConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines whether the instance has [Secure + // Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) + // enabled. + // + // Secure Boot helps ensure that the system only runs authentic software by + // verifying the digital signature of all boot components, and halting the + // boot process if signature verification fails. + EnableSecureBoot bool `protobuf:"varint,1,opt,name=enable_secure_boot,json=enableSecureBoot,proto3" json:"enable_secure_boot,omitempty"` +} + +func (x *ShieldedVmConfig) Reset() { + *x = ShieldedVmConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_machine_resources_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShieldedVmConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShieldedVmConfig) ProtoMessage() {} + +func (x *ShieldedVmConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_machine_resources_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 ShieldedVmConfig.ProtoReflect.Descriptor instead. +func (*ShieldedVmConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_machine_resources_proto_rawDescGZIP(), []int{9} +} + +func (x *ShieldedVmConfig) GetEnableSecureBoot() bool { + if x != nil { + return x.EnableSecureBoot + } + return false +} + var File_google_cloud_aiplatform_v1_machine_resources_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1_machine_resources_proto_rawDesc = []byte{ @@ -798,21 +855,25 @@ var file_google_cloud_aiplatform_v1_machine_resources_proto_rawDesc = []byte{ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 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, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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, + 0x72, 0x67, 0x65, 0x74, 0x22, 0x40, 0x0a, 0x10, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, + 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 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, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 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 ( @@ -827,7 +888,7 @@ func file_google_cloud_aiplatform_v1_machine_resources_proto_rawDescGZIP() []byt return file_google_cloud_aiplatform_v1_machine_resources_proto_rawDescData } -var file_google_cloud_aiplatform_v1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_aiplatform_v1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_google_cloud_aiplatform_v1_machine_resources_proto_goTypes = []interface{}{ (*MachineSpec)(nil), // 0: google.cloud.aiplatform.v1.MachineSpec (*DedicatedResources)(nil), // 1: google.cloud.aiplatform.v1.DedicatedResources @@ -838,18 +899,19 @@ var file_google_cloud_aiplatform_v1_machine_resources_proto_goTypes = []interfac (*PersistentDiskSpec)(nil), // 6: google.cloud.aiplatform.v1.PersistentDiskSpec (*NfsMount)(nil), // 7: google.cloud.aiplatform.v1.NfsMount (*AutoscalingMetricSpec)(nil), // 8: google.cloud.aiplatform.v1.AutoscalingMetricSpec - (AcceleratorType)(0), // 9: google.cloud.aiplatform.v1.AcceleratorType + (*ShieldedVmConfig)(nil), // 9: google.cloud.aiplatform.v1.ShieldedVmConfig + (AcceleratorType)(0), // 10: google.cloud.aiplatform.v1.AcceleratorType } var file_google_cloud_aiplatform_v1_machine_resources_proto_depIdxs = []int32{ - 9, // 0: google.cloud.aiplatform.v1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1.AcceleratorType - 0, // 1: google.cloud.aiplatform.v1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec - 8, // 2: google.cloud.aiplatform.v1.DedicatedResources.autoscaling_metric_specs:type_name -> google.cloud.aiplatform.v1.AutoscalingMetricSpec - 0, // 3: google.cloud.aiplatform.v1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec - 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 + 10, // 0: google.cloud.aiplatform.v1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1.AcceleratorType + 0, // 1: google.cloud.aiplatform.v1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec + 8, // 2: google.cloud.aiplatform.v1.DedicatedResources.autoscaling_metric_specs:type_name -> google.cloud.aiplatform.v1.AutoscalingMetricSpec + 0, // 3: google.cloud.aiplatform.v1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec + 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 } func init() { file_google_cloud_aiplatform_v1_machine_resources_proto_init() } @@ -967,6 +1029,18 @@ func file_google_cloud_aiplatform_v1_machine_resources_proto_init() { return nil } } + file_google_cloud_aiplatform_v1_machine_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShieldedVmConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -974,7 +1048,7 @@ func file_google_cloud_aiplatform_v1_machine_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1_machine_resources_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1/aiplatformpb/network_spec.pb.go b/aiplatform/apiv1/aiplatformpb/network_spec.pb.go new file mode 100755 index 000000000000..6bcbe1a09f66 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/network_spec.pb.go @@ -0,0 +1,214 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/network_spec.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) +) + +// Network spec. +type NetworkSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether to enable public internet access. Default false. + EnableInternetAccess bool `protobuf:"varint,1,opt,name=enable_internet_access,json=enableInternetAccess,proto3" json:"enable_internet_access,omitempty"` + // The full name of the Google Compute Engine + // [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + // The name of the subnet that this instance is in. + // Format: + // `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + Subnetwork string `protobuf:"bytes,3,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"` +} + +func (x *NetworkSpec) Reset() { + *x = NetworkSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_network_spec_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkSpec) ProtoMessage() {} + +func (x *NetworkSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_network_spec_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 NetworkSpec.ProtoReflect.Descriptor instead. +func (*NetworkSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_network_spec_proto_rawDescGZIP(), []int{0} +} + +func (x *NetworkSpec) GetEnableInternetAccess() bool { + if x != nil { + return x.EnableInternetAccess + } + return false +} + +func (x *NetworkSpec) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *NetworkSpec) GetSubnetwork() string { + if x != nil { + return x.Subnetwork + } + return "" +} + +var File_google_cloud_aiplatform_v1_network_spec_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_network_spec_proto_rawDesc = []byte{ + 0x0a, 0x2d, 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, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 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, 0xca, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 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, 0x46, 0x0a, 0x0a, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x42, 0xb2, 0x02, 0xea, 0x41, 0x61, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x10, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 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_network_spec_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_network_spec_proto_rawDescData = file_google_cloud_aiplatform_v1_network_spec_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_network_spec_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_network_spec_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_network_spec_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_network_spec_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_network_spec_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_network_spec_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1_network_spec_proto_goTypes = []interface{}{ + (*NetworkSpec)(nil), // 0: google.cloud.aiplatform.v1.NetworkSpec +} +var file_google_cloud_aiplatform_v1_network_spec_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_network_spec_proto_init() } +func file_google_cloud_aiplatform_v1_network_spec_proto_init() { + if File_google_cloud_aiplatform_v1_network_spec_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_network_spec_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_network_spec_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_network_spec_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_network_spec_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_network_spec_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_network_spec_proto = out.File + file_google_cloud_aiplatform_v1_network_spec_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_network_spec_proto_goTypes = nil + file_google_cloud_aiplatform_v1_network_spec_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/notebook_euc_config.pb.go b/aiplatform/apiv1/aiplatformpb/notebook_euc_config.pb.go new file mode 100755 index 000000000000..9a0bd5f120f8 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/notebook_euc_config.pb.go @@ -0,0 +1,200 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/notebook_euc_config.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 euc configuration of NotebookRuntimeTemplate. +type NotebookEucConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. + // In proto3, the default value of a boolean is false. In this way, by default + // EUC will be enabled for NotebookRuntimeTemplate. + EucDisabled bool `protobuf:"varint,1,opt,name=euc_disabled,json=eucDisabled,proto3" json:"euc_disabled,omitempty"` + // Output only. Whether ActAs check is bypassed for service account attached + // to the VM. If false, we need ActAs check for the default Compute Engine + // Service account. When a Runtime is created, a VM is allocated using Default + // Compute Engine Service Account. Any user requesting to use this Runtime + // requires Service Account User (ActAs) permission over this SA. If true, + // Runtime owner is using EUC and does not require the above permission as VM + // no longer use default Compute Engine SA, but a P4SA. + BypassActasCheck bool `protobuf:"varint,2,opt,name=bypass_actas_check,json=bypassActasCheck,proto3" json:"bypass_actas_check,omitempty"` +} + +func (x *NotebookEucConfig) Reset() { + *x = NotebookEucConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_euc_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookEucConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookEucConfig) ProtoMessage() {} + +func (x *NotebookEucConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_euc_config_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 NotebookEucConfig.ProtoReflect.Descriptor instead. +func (*NotebookEucConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookEucConfig) GetEucDisabled() bool { + if x != nil { + return x.EucDisabled + } + return false +} + +func (x *NotebookEucConfig) GetBypassActasCheck() bool { + if x != nil { + return x.BypassActasCheck + } + return false +} + +var File_google_cloud_aiplatform_v1_notebook_euc_config_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDesc = []byte{ + 0x0a, 0x34, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x65, 0x75, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 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, 0x6e, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x45, + 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x75, 0x63, 0x5f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x04, 0x52, 0x0b, 0x65, 0x75, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x31, 0x0a, 0x12, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x61, 0x73, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x10, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x41, 0x63, 0x74, 0x61, 0x73, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x42, 0xd4, 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, 0x16, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x45, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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_notebook_euc_config_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescData = file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_notebook_euc_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1_notebook_euc_config_proto_goTypes = []interface{}{ + (*NotebookEucConfig)(nil), // 0: google.cloud.aiplatform.v1.NotebookEucConfig +} +var file_google_cloud_aiplatform_v1_notebook_euc_config_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_notebook_euc_config_proto_init() } +func file_google_cloud_aiplatform_v1_notebook_euc_config_proto_init() { + if File_google_cloud_aiplatform_v1_notebook_euc_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookEucConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_notebook_euc_config_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_notebook_euc_config_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_notebook_euc_config_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_notebook_euc_config_proto = out.File + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_goTypes = nil + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/notebook_idle_shutdown_config.pb.go b/aiplatform/apiv1/aiplatformpb/notebook_idle_shutdown_config.pb.go new file mode 100755 index 000000000000..36cca1163753 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/notebook_idle_shutdown_config.pb.go @@ -0,0 +1,203 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/notebook_idle_shutdown_config.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" + durationpb "google.golang.org/protobuf/types/known/durationpb" +) + +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 idle shutdown configuration of NotebookRuntimeTemplate, which contains +// the idle_timeout as required field. +type NotebookIdleShutdownConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Duration is accurate to the second. In Notebook, Idle Timeout is + // accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 + // * 60. + IdleTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` + // Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate. + IdleShutdownDisabled bool `protobuf:"varint,2,opt,name=idle_shutdown_disabled,json=idleShutdownDisabled,proto3" json:"idle_shutdown_disabled,omitempty"` +} + +func (x *NotebookIdleShutdownConfig) Reset() { + *x = NotebookIdleShutdownConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookIdleShutdownConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookIdleShutdownConfig) ProtoMessage() {} + +func (x *NotebookIdleShutdownConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_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 NotebookIdleShutdownConfig.ProtoReflect.Descriptor instead. +func (*NotebookIdleShutdownConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookIdleShutdownConfig) GetIdleTimeout() *durationpb.Duration { + if x != nil { + return x.IdleTimeout + } + return nil +} + +func (x *NotebookIdleShutdownConfig) GetIdleShutdownDisabled() bool { + if x != nil { + return x.IdleShutdownDisabled + } + return false +} + +var File_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDesc = []byte{ + 0x0a, 0x3e, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 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, 0x22, 0x95, 0x01, + 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, + 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x34, 0x0a, 0x16, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x69, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xdd, 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, 0x1f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 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_notebook_idle_shutdown_config_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescData = file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_goTypes = []interface{}{ + (*NotebookIdleShutdownConfig)(nil), // 0: google.cloud.aiplatform.v1.NotebookIdleShutdownConfig + (*durationpb.Duration)(nil), // 1: google.protobuf.Duration +} +var file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_depIdxs = []int32{ + 1, // 0: google.cloud.aiplatform.v1.NotebookIdleShutdownConfig.idle_timeout:type_name -> google.protobuf.Duration + 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_notebook_idle_shutdown_config_proto_init() } +func file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_init() { + if File_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookIdleShutdownConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto = out.File + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_goTypes = nil + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/notebook_runtime.pb.go b/aiplatform/apiv1/aiplatformpb/notebook_runtime.pb.go new file mode 100755 index 000000000000..db11b4ad9b79 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/notebook_runtime.pb.go @@ -0,0 +1,1003 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/notebook_runtime.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) +) + +// Represents a notebook runtime type. +type NotebookRuntimeType int32 + +const ( + // Unspecified notebook runtime type, NotebookRuntimeType will default to + // USER_DEFINED. + NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED NotebookRuntimeType = 0 + // runtime or template with coustomized configurations from user. + NotebookRuntimeType_USER_DEFINED NotebookRuntimeType = 1 + // runtime or template with system defined configurations. + NotebookRuntimeType_ONE_CLICK NotebookRuntimeType = 2 +) + +// Enum value maps for NotebookRuntimeType. +var ( + NotebookRuntimeType_name = map[int32]string{ + 0: "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", + 1: "USER_DEFINED", + 2: "ONE_CLICK", + } + NotebookRuntimeType_value = map[string]int32{ + "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED": 0, + "USER_DEFINED": 1, + "ONE_CLICK": 2, + } +) + +func (x NotebookRuntimeType) Enum() *NotebookRuntimeType { + p := new(NotebookRuntimeType) + *p = x + return p +} + +func (x NotebookRuntimeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntimeType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[0].Descriptor() +} + +func (NotebookRuntimeType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[0] +} + +func (x NotebookRuntimeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntimeType.Descriptor instead. +func (NotebookRuntimeType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP(), []int{0} +} + +// The substate of the NotebookRuntime to display health information. +type NotebookRuntime_HealthState int32 + +const ( + // Unspecified health state. + NotebookRuntime_HEALTH_STATE_UNSPECIFIED NotebookRuntime_HealthState = 0 + // NotebookRuntime is in healthy state. Applies to ACTIVE state. + NotebookRuntime_HEALTHY NotebookRuntime_HealthState = 1 + // NotebookRuntime is in unhealthy state. Applies to ACTIVE state. + NotebookRuntime_UNHEALTHY NotebookRuntime_HealthState = 2 +) + +// Enum value maps for NotebookRuntime_HealthState. +var ( + NotebookRuntime_HealthState_name = map[int32]string{ + 0: "HEALTH_STATE_UNSPECIFIED", + 1: "HEALTHY", + 2: "UNHEALTHY", + } + NotebookRuntime_HealthState_value = map[string]int32{ + "HEALTH_STATE_UNSPECIFIED": 0, + "HEALTHY": 1, + "UNHEALTHY": 2, + } +) + +func (x NotebookRuntime_HealthState) Enum() *NotebookRuntime_HealthState { + p := new(NotebookRuntime_HealthState) + *p = x + return p +} + +func (x NotebookRuntime_HealthState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntime_HealthState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[1].Descriptor() +} + +func (NotebookRuntime_HealthState) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[1] +} + +func (x NotebookRuntime_HealthState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntime_HealthState.Descriptor instead. +func (NotebookRuntime_HealthState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP(), []int{1, 0} +} + +// The substate of the NotebookRuntime to display state of runtime. +// The resource of NotebookRuntime is in ACTIVE state for these sub state. +type NotebookRuntime_RuntimeState int32 + +const ( + // Unspecified runtime state. + NotebookRuntime_RUNTIME_STATE_UNSPECIFIED NotebookRuntime_RuntimeState = 0 + // NotebookRuntime is in running state. + NotebookRuntime_RUNNING NotebookRuntime_RuntimeState = 1 + // NotebookRuntime is in starting state. + NotebookRuntime_BEING_STARTED NotebookRuntime_RuntimeState = 2 + // NotebookRuntime is in stopping state. + NotebookRuntime_BEING_STOPPED NotebookRuntime_RuntimeState = 3 + // NotebookRuntime is in stopped state. + NotebookRuntime_STOPPED NotebookRuntime_RuntimeState = 4 + // NotebookRuntime is in upgrading state. It is in the middle of upgrading + // process. + NotebookRuntime_BEING_UPGRADED NotebookRuntime_RuntimeState = 5 + // NotebookRuntime was unable to start/stop properly. + NotebookRuntime_ERROR NotebookRuntime_RuntimeState = 100 + // NotebookRuntime is in invalid state. Cannot be recovered. + NotebookRuntime_INVALID NotebookRuntime_RuntimeState = 101 +) + +// Enum value maps for NotebookRuntime_RuntimeState. +var ( + NotebookRuntime_RuntimeState_name = map[int32]string{ + 0: "RUNTIME_STATE_UNSPECIFIED", + 1: "RUNNING", + 2: "BEING_STARTED", + 3: "BEING_STOPPED", + 4: "STOPPED", + 5: "BEING_UPGRADED", + 100: "ERROR", + 101: "INVALID", + } + NotebookRuntime_RuntimeState_value = map[string]int32{ + "RUNTIME_STATE_UNSPECIFIED": 0, + "RUNNING": 1, + "BEING_STARTED": 2, + "BEING_STOPPED": 3, + "STOPPED": 4, + "BEING_UPGRADED": 5, + "ERROR": 100, + "INVALID": 101, + } +) + +func (x NotebookRuntime_RuntimeState) Enum() *NotebookRuntime_RuntimeState { + p := new(NotebookRuntime_RuntimeState) + *p = x + return p +} + +func (x NotebookRuntime_RuntimeState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntime_RuntimeState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[2].Descriptor() +} + +func (NotebookRuntime_RuntimeState) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes[2] +} + +func (x NotebookRuntime_RuntimeState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntime_RuntimeState.Descriptor instead. +func (NotebookRuntime_RuntimeState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP(), []int{1, 1} +} + +// A template that specifies runtime configurations such as machine type, +// runtime version, network configurations, etc. +// Multiple runtimes can be created from a runtime template. +type NotebookRuntimeTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the NotebookRuntimeTemplate. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the NotebookRuntimeTemplate. + // 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"` + // The description of the NotebookRuntimeTemplate. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The default template to use if not specified. + IsDefault bool `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + // Optional. Immutable. The specification of a single machine for the + // template. + MachineSpec *MachineSpec `protobuf:"bytes,5,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Optional. The specification of [persistent + // disk][https://cloud.google.com/compute/docs/disks/persistent-disks] + // attached to the runtime as data disk storage. + DataPersistentDiskSpec *PersistentDiskSpec `protobuf:"bytes,8,opt,name=data_persistent_disk_spec,json=dataPersistentDiskSpec,proto3" json:"data_persistent_disk_spec,omitempty"` + // Optional. Network spec. + NetworkSpec *NetworkSpec `protobuf:"bytes,12,opt,name=network_spec,json=networkSpec,proto3" json:"network_spec,omitempty"` + // The service account that the runtime workload runs as. + // You can use any service account within the same project, but you + // must have the service account user permission to use the instance. + // + // If not specified, the [Compute Engine default service + // account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) + // is used. + ServiceAccount string `protobuf:"bytes,13,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize the + // NotebookRuntimeTemplates. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The idle shutdown configuration of NotebookRuntimeTemplate. This config + // will only be set when idle shutdown is enabled. + IdleShutdownConfig *NotebookIdleShutdownConfig `protobuf:"bytes,17,opt,name=idle_shutdown_config,json=idleShutdownConfig,proto3" json:"idle_shutdown_config,omitempty"` + // EUC configuration of the NotebookRuntimeTemplate. + EucConfig *NotebookEucConfig `protobuf:"bytes,18,opt,name=euc_config,json=eucConfig,proto3" json:"euc_config,omitempty"` + // Output only. Timestamp when this NotebookRuntimeTemplate was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this NotebookRuntimeTemplate was most recently + // updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Immutable. The type of the notebook runtime template. + NotebookRuntimeType NotebookRuntimeType `protobuf:"varint,19,opt,name=notebook_runtime_type,json=notebookRuntimeType,proto3,enum=google.cloud.aiplatform.v1.NotebookRuntimeType" json:"notebook_runtime_type,omitempty"` + // Optional. Immutable. Runtime Shielded VM spec. + ShieldedVmConfig *ShieldedVmConfig `protobuf:"bytes,20,opt,name=shielded_vm_config,json=shieldedVmConfig,proto3" json:"shielded_vm_config,omitempty"` + // Optional. The Compute Engine tags to add to runtime (see [Tagging + // instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + NetworkTags []string `protobuf:"bytes,21,rep,name=network_tags,json=networkTags,proto3" json:"network_tags,omitempty"` +} + +func (x *NotebookRuntimeTemplate) Reset() { + *x = NotebookRuntimeTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntimeTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntimeTemplate) ProtoMessage() {} + +func (x *NotebookRuntimeTemplate) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_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 NotebookRuntimeTemplate.ProtoReflect.Descriptor instead. +func (*NotebookRuntimeTemplate) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookRuntimeTemplate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetIsDefault() bool { + if x != nil { + return x.IsDefault + } + return false +} + +func (x *NotebookRuntimeTemplate) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetDataPersistentDiskSpec() *PersistentDiskSpec { + if x != nil { + return x.DataPersistentDiskSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNetworkSpec() *NetworkSpec { + if x != nil { + return x.NetworkSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetIdleShutdownConfig() *NotebookIdleShutdownConfig { + if x != nil { + return x.IdleShutdownConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetEucConfig() *NotebookEucConfig { + if x != nil { + return x.EucConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNotebookRuntimeType() NotebookRuntimeType { + if x != nil { + return x.NotebookRuntimeType + } + return NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED +} + +func (x *NotebookRuntimeTemplate) GetShieldedVmConfig() *ShieldedVmConfig { + if x != nil { + return x.ShieldedVmConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNetworkTags() []string { + if x != nil { + return x.NetworkTags + } + return nil +} + +// A runtime is a virtual machine allocated to a particular user for a +// particular Notebook file on temporary basis with lifetime limited to 24 +// hours. +type NotebookRuntime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the NotebookRuntime. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user email of the NotebookRuntime. + RuntimeUser string `protobuf:"bytes,2,opt,name=runtime_user,json=runtimeUser,proto3" json:"runtime_user,omitempty"` + // Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is + // created from. + NotebookRuntimeTemplateRef *NotebookRuntimeTemplateRef `protobuf:"bytes,3,opt,name=notebook_runtime_template_ref,json=notebookRuntimeTemplateRef,proto3" json:"notebook_runtime_template_ref,omitempty"` + // Output only. The proxy endpoint used to access the NotebookRuntime. + ProxyUri string `protobuf:"bytes,5,opt,name=proxy_uri,json=proxyUri,proto3" json:"proxy_uri,omitempty"` + // Output only. Timestamp when this NotebookRuntime was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this NotebookRuntime was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The health state of the NotebookRuntime. + HealthState NotebookRuntime_HealthState `protobuf:"varint,8,opt,name=health_state,json=healthState,proto3,enum=google.cloud.aiplatform.v1.NotebookRuntime_HealthState" json:"health_state,omitempty"` + // Required. The display name of the NotebookRuntime. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the NotebookRuntime. + Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The service account that the NotebookRuntime workload runs as. + ServiceAccount string `protobuf:"bytes,13,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Output only. The runtime (instance) state of the NotebookRuntime. + RuntimeState NotebookRuntime_RuntimeState `protobuf:"varint,14,opt,name=runtime_state,json=runtimeState,proto3,enum=google.cloud.aiplatform.v1.NotebookRuntime_RuntimeState" json:"runtime_state,omitempty"` + // Output only. Whether NotebookRuntime is upgradable. + IsUpgradable bool `protobuf:"varint,15,opt,name=is_upgradable,json=isUpgradable,proto3" json:"is_upgradable,omitempty"` + // The labels with user-defined metadata to organize your + // NotebookRuntime. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one NotebookRuntime + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for NotebookRuntime: + // + // * "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output + // only, its value is the Compute Engine instance id. + // * "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is + // either "bigquery" or "vertex"; if absent, it should be "vertex". This is to + // describe the entry service, either BigQuery or Vertex. + Labels map[string]string `protobuf:"bytes,16,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this NotebookRuntime will be expired: + // 1. System Predefined NotebookRuntime: 24 hours after creation. After + // expiration, system predifined runtime will be deleted. + // 2. User created NotebookRuntime: 6 months after last upgrade. After + // expiration, user created runtime will be stopped and allowed for upgrade. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Output only. The VM os image version of NotebookRuntime. + Version string `protobuf:"bytes,18,opt,name=version,proto3" json:"version,omitempty"` + // Output only. The type of the notebook runtime. + NotebookRuntimeType NotebookRuntimeType `protobuf:"varint,19,opt,name=notebook_runtime_type,json=notebookRuntimeType,proto3,enum=google.cloud.aiplatform.v1.NotebookRuntimeType" json:"notebook_runtime_type,omitempty"` + // Optional. The Compute Engine tags to add to runtime (see [Tagging + // instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + NetworkTags []string `protobuf:"bytes,25,rep,name=network_tags,json=networkTags,proto3" json:"network_tags,omitempty"` +} + +func (x *NotebookRuntime) Reset() { + *x = NotebookRuntime{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntime) ProtoMessage() {} + +func (x *NotebookRuntime) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_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 NotebookRuntime.ProtoReflect.Descriptor instead. +func (*NotebookRuntime) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP(), []int{1} +} + +func (x *NotebookRuntime) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NotebookRuntime) GetRuntimeUser() string { + if x != nil { + return x.RuntimeUser + } + return "" +} + +func (x *NotebookRuntime) GetNotebookRuntimeTemplateRef() *NotebookRuntimeTemplateRef { + if x != nil { + return x.NotebookRuntimeTemplateRef + } + return nil +} + +func (x *NotebookRuntime) GetProxyUri() string { + if x != nil { + return x.ProxyUri + } + return "" +} + +func (x *NotebookRuntime) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *NotebookRuntime) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *NotebookRuntime) GetHealthState() NotebookRuntime_HealthState { + if x != nil { + return x.HealthState + } + return NotebookRuntime_HEALTH_STATE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NotebookRuntime) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NotebookRuntime) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *NotebookRuntime) GetRuntimeState() NotebookRuntime_RuntimeState { + if x != nil { + return x.RuntimeState + } + return NotebookRuntime_RUNTIME_STATE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetIsUpgradable() bool { + if x != nil { + return x.IsUpgradable + } + return false +} + +func (x *NotebookRuntime) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *NotebookRuntime) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *NotebookRuntime) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *NotebookRuntime) GetNotebookRuntimeType() NotebookRuntimeType { + if x != nil { + return x.NotebookRuntimeType + } + return NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetNetworkTags() []string { + if x != nil { + return x.NetworkTags + } + return nil +} + +var File_google_cloud_aiplatform_v1_notebook_runtime_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDesc = []byte{ + 0x0a, 0x31, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, + 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, 0x32, 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, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2d, 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, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, + 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x65, 0x75, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3e, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 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, 0xd3, 0x0a, 0x0a, 0x17, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 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, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x69, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 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, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, + 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6e, 0x0a, 0x19, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 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, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x64, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4f, 0x0a, 0x0c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 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, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x68, 0x0a, 0x14, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x69, 0x64, 0x6c, 0x65, 0x53, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, + 0x0a, 0x65, 0x75, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x09, 0x65, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 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, 0x0b, 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, + 0x6b, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 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, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x62, 0x0a, 0x12, + 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 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, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x56, 0x6d, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x10, + 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x3a, 0x95, 0x01, 0xea, 0x41, 0x91, 0x01, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5c, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, + 0x7b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x22, 0xc8, 0x0b, 0x0a, 0x0f, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x12, 0x7e, 0x0a, 0x1d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, + 0x66, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x55, + 0x72, 0x69, 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, 0x5f, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x62, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0c, 0x69, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4f, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x48, + 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x11, 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, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x22, 0x99, 0x01, + 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, + 0x0a, 0x19, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x45, + 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, + 0x0d, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x04, 0x12, 0x12, 0x0a, + 0x0e, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, + 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x64, 0x12, 0x0b, 0x0a, 0x07, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x65, 0x3a, 0x7b, 0xea, 0x41, 0x78, 0x0a, 0x29, + 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4b, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x7d, 0x2a, 0x5d, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, + 0x21, 0x4e, 0x4f, 0x54, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4c, + 0x49, 0x43, 0x4b, 0x10, 0x02, 0x42, 0xd2, 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, 0x14, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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_notebook_runtime_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescData = file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_aiplatform_v1_notebook_runtime_proto_goTypes = []interface{}{ + (NotebookRuntimeType)(0), // 0: google.cloud.aiplatform.v1.NotebookRuntimeType + (NotebookRuntime_HealthState)(0), // 1: google.cloud.aiplatform.v1.NotebookRuntime.HealthState + (NotebookRuntime_RuntimeState)(0), // 2: google.cloud.aiplatform.v1.NotebookRuntime.RuntimeState + (*NotebookRuntimeTemplate)(nil), // 3: google.cloud.aiplatform.v1.NotebookRuntimeTemplate + (*NotebookRuntime)(nil), // 4: google.cloud.aiplatform.v1.NotebookRuntime + nil, // 5: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.LabelsEntry + nil, // 6: google.cloud.aiplatform.v1.NotebookRuntime.LabelsEntry + (*MachineSpec)(nil), // 7: google.cloud.aiplatform.v1.MachineSpec + (*PersistentDiskSpec)(nil), // 8: google.cloud.aiplatform.v1.PersistentDiskSpec + (*NetworkSpec)(nil), // 9: google.cloud.aiplatform.v1.NetworkSpec + (*NotebookIdleShutdownConfig)(nil), // 10: google.cloud.aiplatform.v1.NotebookIdleShutdownConfig + (*NotebookEucConfig)(nil), // 11: google.cloud.aiplatform.v1.NotebookEucConfig + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*ShieldedVmConfig)(nil), // 13: google.cloud.aiplatform.v1.ShieldedVmConfig + (*NotebookRuntimeTemplateRef)(nil), // 14: google.cloud.aiplatform.v1.NotebookRuntimeTemplateRef +} +var file_google_cloud_aiplatform_v1_notebook_runtime_proto_depIdxs = []int32{ + 7, // 0: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec + 8, // 1: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.data_persistent_disk_spec:type_name -> google.cloud.aiplatform.v1.PersistentDiskSpec + 9, // 2: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.network_spec:type_name -> google.cloud.aiplatform.v1.NetworkSpec + 5, // 3: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.labels:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeTemplate.LabelsEntry + 10, // 4: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.idle_shutdown_config:type_name -> google.cloud.aiplatform.v1.NotebookIdleShutdownConfig + 11, // 5: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.euc_config:type_name -> google.cloud.aiplatform.v1.NotebookEucConfig + 12, // 6: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.create_time:type_name -> google.protobuf.Timestamp + 12, // 7: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.update_time:type_name -> google.protobuf.Timestamp + 0, // 8: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.notebook_runtime_type:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeType + 13, // 9: google.cloud.aiplatform.v1.NotebookRuntimeTemplate.shielded_vm_config:type_name -> google.cloud.aiplatform.v1.ShieldedVmConfig + 14, // 10: google.cloud.aiplatform.v1.NotebookRuntime.notebook_runtime_template_ref:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeTemplateRef + 12, // 11: google.cloud.aiplatform.v1.NotebookRuntime.create_time:type_name -> google.protobuf.Timestamp + 12, // 12: google.cloud.aiplatform.v1.NotebookRuntime.update_time:type_name -> google.protobuf.Timestamp + 1, // 13: google.cloud.aiplatform.v1.NotebookRuntime.health_state:type_name -> google.cloud.aiplatform.v1.NotebookRuntime.HealthState + 2, // 14: google.cloud.aiplatform.v1.NotebookRuntime.runtime_state:type_name -> google.cloud.aiplatform.v1.NotebookRuntime.RuntimeState + 6, // 15: google.cloud.aiplatform.v1.NotebookRuntime.labels:type_name -> google.cloud.aiplatform.v1.NotebookRuntime.LabelsEntry + 12, // 16: google.cloud.aiplatform.v1.NotebookRuntime.expiration_time:type_name -> google.protobuf.Timestamp + 0, // 17: google.cloud.aiplatform.v1.NotebookRuntime.notebook_runtime_type:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeType + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_notebook_runtime_proto_init() } +func file_google_cloud_aiplatform_v1_notebook_runtime_proto_init() { + if File_google_cloud_aiplatform_v1_notebook_runtime_proto != nil { + return + } + file_google_cloud_aiplatform_v1_machine_resources_proto_init() + file_google_cloud_aiplatform_v1_network_spec_proto_init() + file_google_cloud_aiplatform_v1_notebook_euc_config_proto_init() + file_google_cloud_aiplatform_v1_notebook_idle_shutdown_config_proto_init() + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntimeTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDesc, + NumEnums: 3, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_notebook_runtime_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_notebook_runtime_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1_notebook_runtime_proto_enumTypes, + MessageInfos: file_google_cloud_aiplatform_v1_notebook_runtime_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_notebook_runtime_proto = out.File + file_google_cloud_aiplatform_v1_notebook_runtime_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_notebook_runtime_proto_goTypes = nil + file_google_cloud_aiplatform_v1_notebook_runtime_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/notebook_runtime_template_ref.pb.go b/aiplatform/apiv1/aiplatformpb/notebook_runtime_template_ref.pb.go new file mode 100755 index 000000000000..21a312c46810 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/notebook_runtime_template_ref.pb.go @@ -0,0 +1,188 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/notebook_runtime_template_ref.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) +) + +// Points to a NotebookRuntimeTemplateRef. +type NotebookRuntimeTemplateRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. A resource name of the NotebookRuntimeTemplate. + NotebookRuntimeTemplate string `protobuf:"bytes,1,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` +} + +func (x *NotebookRuntimeTemplateRef) Reset() { + *x = NotebookRuntimeTemplateRef{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntimeTemplateRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntimeTemplateRef) ProtoMessage() {} + +func (x *NotebookRuntimeTemplateRef) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_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 NotebookRuntimeTemplateRef.ProtoReflect.Descriptor instead. +func (*NotebookRuntimeTemplateRef) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookRuntimeTemplateRef) GetNotebookRuntimeTemplate() string { + if x != nil { + return x.NotebookRuntimeTemplate + } + return "" +} + +var File_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDesc = []byte{ + 0x0a, 0x3e, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 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, 0x93, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x12, 0x75, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x05, 0xfa, + 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x17, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0xdd, + 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, 0x1f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 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_notebook_runtime_template_ref_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescData = file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_goTypes = []interface{}{ + (*NotebookRuntimeTemplateRef)(nil), // 0: google.cloud.aiplatform.v1.NotebookRuntimeTemplateRef +} +var file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_init() } +func file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_init() { + if File_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntimeTemplateRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto = out.File + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_goTypes = nil + file_google_cloud_aiplatform_v1_notebook_runtime_template_ref_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/notebook_service.pb.go b/aiplatform/apiv1/aiplatformpb/notebook_service.pb.go new file mode 100755 index 000000000000..9ef624c31615 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/notebook_service.pb.go @@ -0,0 +1,2362 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/notebook_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" + 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" + _ "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [NotebookService.CreateNotebookRuntimeTemplate][google.cloud.aiplatform.v1.NotebookService.CreateNotebookRuntimeTemplate]. +type CreateNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The NotebookRuntimeTemplate to create. + NotebookRuntimeTemplate *NotebookRuntimeTemplate `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` + // Optional. User specified ID for the notebook runtime template. + NotebookRuntimeTemplateId string `protobuf:"bytes,3,opt,name=notebook_runtime_template_id,json=notebookRuntimeTemplateId,proto3" json:"notebook_runtime_template_id,omitempty"` +} + +func (x *CreateNotebookRuntimeTemplateRequest) Reset() { + *x = CreateNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *CreateNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 CreateNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*CreateNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetNotebookRuntimeTemplate() *NotebookRuntimeTemplate { + if x != nil { + return x.NotebookRuntimeTemplate + } + return nil +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetNotebookRuntimeTemplateId() string { + if x != nil { + return x.NotebookRuntimeTemplateId + } + return "" +} + +// Metadata information for +// [NotebookService.CreateNotebookRuntimeTemplate][google.cloud.aiplatform.v1.NotebookService.CreateNotebookRuntimeTemplate]. +type CreateNotebookRuntimeTemplateOperationMetadata 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 *CreateNotebookRuntimeTemplateOperationMetadata) Reset() { + *x = CreateNotebookRuntimeTemplateOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNotebookRuntimeTemplateOperationMetadata) ProtoMessage() {} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 CreateNotebookRuntimeTemplateOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateNotebookRuntimeTemplateOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [NotebookService.GetNotebookRuntimeTemplate][google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntimeTemplate] +type GetNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntimeTemplate resource. + // Format: + // `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotebookRuntimeTemplateRequest) Reset() { + *x = GetNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *GetNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 GetNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*GetNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetNotebookRuntimeTemplateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates]. +type ListNotebookRuntimeTemplatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // NotebookRuntimeTemplates. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` + // represents the NotebookRuntimeTemplate ID, + // i.e. the last segment of the NotebookRuntimeTemplate's [resource name] + // [google.cloud.aiplatform.v1.NotebookRuntimeTemplate.name]. + // - `display_name` supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // - `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: + // [USER_DEFINED, ONE_CLICK]. + // + // Some examples: + // + // - `notebookRuntimeTemplate=notebookRuntimeTemplate123` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` + // - `notebookRuntimeType=USER_DEFINED` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListNotebookRuntimeTemplatesResponse.next_page_token][google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesResponse.next_page_token] + // of the previous + // [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. Supported fields: + // + // - `display_name` + // - `create_time` + // - `update_time` + // + // Example: `display_name, create_time desc`. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNotebookRuntimeTemplatesRequest) Reset() { + *x = ListNotebookRuntimeTemplatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimeTemplatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimeTemplatesRequest) ProtoMessage() {} + +func (x *ListNotebookRuntimeTemplatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 ListNotebookRuntimeTemplatesRequest.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimeTemplatesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates]. +type ListNotebookRuntimeTemplatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of NotebookRuntimeTemplates in the requested page. + NotebookRuntimeTemplates []*NotebookRuntimeTemplate `protobuf:"bytes,1,rep,name=notebook_runtime_templates,json=notebookRuntimeTemplates,proto3" json:"notebook_runtime_templates,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListNotebookRuntimeTemplatesRequest.page_token][google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesRequest.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 *ListNotebookRuntimeTemplatesResponse) Reset() { + *x = ListNotebookRuntimeTemplatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimeTemplatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimeTemplatesResponse) ProtoMessage() {} + +func (x *ListNotebookRuntimeTemplatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 ListNotebookRuntimeTemplatesResponse.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimeTemplatesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListNotebookRuntimeTemplatesResponse) GetNotebookRuntimeTemplates() []*NotebookRuntimeTemplate { + if x != nil { + return x.NotebookRuntimeTemplates + } + return nil +} + +func (x *ListNotebookRuntimeTemplatesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [NotebookService.DeleteNotebookRuntimeTemplate][google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntimeTemplate]. +type DeleteNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntimeTemplate resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNotebookRuntimeTemplateRequest) Reset() { + *x = DeleteNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *DeleteNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 DeleteNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteNotebookRuntimeTemplateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.AssignNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.AssignNotebookRuntime]. +type AssignNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to get the NotebookRuntime + // assignment. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The resource name of the NotebookRuntimeTemplate based on which a + // NotebookRuntime will be assigned (reuse or create a new one). + NotebookRuntimeTemplate string `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` + // Required. Provide runtime specific information (e.g. runtime owner, + // notebook id) used for NotebookRuntime assignment. + NotebookRuntime *NotebookRuntime `protobuf:"bytes,3,opt,name=notebook_runtime,json=notebookRuntime,proto3" json:"notebook_runtime,omitempty"` + // Optional. User specified ID for the notebook runtime. + NotebookRuntimeId string `protobuf:"bytes,4,opt,name=notebook_runtime_id,json=notebookRuntimeId,proto3" json:"notebook_runtime_id,omitempty"` +} + +func (x *AssignNotebookRuntimeRequest) Reset() { + *x = AssignNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssignNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignNotebookRuntimeRequest) ProtoMessage() {} + +func (x *AssignNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 AssignNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*AssignNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{6} +} + +func (x *AssignNotebookRuntimeRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntimeTemplate() string { + if x != nil { + return x.NotebookRuntimeTemplate + } + return "" +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntime() *NotebookRuntime { + if x != nil { + return x.NotebookRuntime + } + return nil +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntimeId() string { + if x != nil { + return x.NotebookRuntimeId + } + return "" +} + +// Metadata information for +// [NotebookService.AssignNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.AssignNotebookRuntime]. +type AssignNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *AssignNotebookRuntimeOperationMetadata) Reset() { + *x = AssignNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssignNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *AssignNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 AssignNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*AssignNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{7} +} + +func (x *AssignNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *AssignNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Request message for +// [NotebookService.GetNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntime] +type GetNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotebookRuntimeRequest) Reset() { + *x = GetNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookRuntimeRequest) ProtoMessage() {} + +func (x *GetNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 GetNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*GetNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{8} +} + +func (x *GetNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes]. +type ListNotebookRuntimesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // NotebookRuntimes. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `notebookRuntime` supports = and !=. `notebookRuntime` represents the + // NotebookRuntime ID, + // i.e. the last segment of the NotebookRuntime's [resource name] + // [google.cloud.aiplatform.v1.NotebookRuntime.name]. + // - `displayName` supports = and != and regex. + // - `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` + // represents the NotebookRuntimeTemplate ID, + // i.e. the last segment of the NotebookRuntimeTemplate's [resource name] + // [google.cloud.aiplatform.v1.NotebookRuntimeTemplate.name]. + // - `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, + // HEALTH_STATE_UNSPECIFIED]. + // - `runtimeState` supports = and !=. runtimeState enum: + // [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, + // STOPPED, BEING_UPGRADED, ERROR, INVALID]. + // - `runtimeUser` supports = and !=. + // - API version is UI only: `uiState` supports = and !=. uiState enum: + // [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, + // UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, + // UI_RESOURCE_STATE_CREATION_FAILED]. + // - `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: + // [USER_DEFINED, ONE_CLICK]. + // + // Some examples: + // + // - `notebookRuntime="notebookRuntime123"` + // - `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` + // - `notebookRuntimeTemplate="notebookRuntimeTemplate321"` + // - `healthState=HEALTHY` + // - `runtimeState=RUNNING` + // - `runtimeUser="test@google.com"` + // - `uiState=UI_RESOURCE_STATE_BEING_DELETED` + // - `notebookRuntimeType=USER_DEFINED` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListNotebookRuntimesResponse.next_page_token][google.cloud.aiplatform.v1.ListNotebookRuntimesResponse.next_page_token] + // of the previous + // [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. Supported fields: + // + // - `display_name` + // - `create_time` + // - `update_time` + // + // Example: `display_name, create_time desc`. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNotebookRuntimesRequest) Reset() { + *x = ListNotebookRuntimesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimesRequest) ProtoMessage() {} + +func (x *ListNotebookRuntimesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 ListNotebookRuntimesRequest.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListNotebookRuntimesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNotebookRuntimesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListNotebookRuntimesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes]. +type ListNotebookRuntimesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of NotebookRuntimes in the requested page. + NotebookRuntimes []*NotebookRuntime `protobuf:"bytes,1,rep,name=notebook_runtimes,json=notebookRuntimes,proto3" json:"notebook_runtimes,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListNotebookRuntimesRequest.page_token][google.cloud.aiplatform.v1.ListNotebookRuntimesRequest.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 *ListNotebookRuntimesResponse) Reset() { + *x = ListNotebookRuntimesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimesResponse) ProtoMessage() {} + +func (x *ListNotebookRuntimesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 ListNotebookRuntimesResponse.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListNotebookRuntimesResponse) GetNotebookRuntimes() []*NotebookRuntime { + if x != nil { + return x.NotebookRuntimes + } + return nil +} + +func (x *ListNotebookRuntimesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [NotebookService.DeleteNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntime]. +type DeleteNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be deleted. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNotebookRuntimeRequest) Reset() { + *x = DeleteNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotebookRuntimeRequest) ProtoMessage() {} + +func (x *DeleteNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 DeleteNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{11} +} + +func (x *DeleteNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be upgrade. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *UpgradeNotebookRuntimeRequest) Reset() { + *x = UpgradeNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeRequest) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 UpgradeNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UpgradeNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Metadata information for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) Reset() { + *x = UpgradeNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 UpgradeNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{13} +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Response message for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpgradeNotebookRuntimeResponse) Reset() { + *x = UpgradeNotebookRuntimeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeResponse) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 UpgradeNotebookRuntimeResponse.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{14} +} + +// Request message for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be started. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *StartNotebookRuntimeRequest) Reset() { + *x = StartNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeRequest) ProtoMessage() {} + +func (x *StartNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 StartNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{15} +} + +func (x *StartNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Metadata information for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *StartNotebookRuntimeOperationMetadata) Reset() { + *x = StartNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *StartNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_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 StartNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{16} +} + +func (x *StartNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *StartNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Response message for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StartNotebookRuntimeResponse) Reset() { + *x = StartNotebookRuntimeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeResponse) ProtoMessage() {} + +func (x *StartNotebookRuntimeResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartNotebookRuntimeResponse.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP(), []int{17} +} + +var File_google_cloud_aiplatform_v1_notebook_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_notebook_service_proto_rawDesc = []byte{ + 0x0a, 0x31, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 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, 0x31, 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, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 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, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x02, 0x0a, 0x24, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x74, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, + 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x1c, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x91, 0x01, + 0x0a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x72, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x22, 0xc1, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x1a, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x18, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 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, 0x75, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xea, 0x02, 0x0a, + 0x1c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x75, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x17, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x26, 0x41, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x62, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xa0, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 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, 0x22, 0x65, 0x0a, 0x1c, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2b, 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x1d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x27, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x25, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x1e, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0xff, 0x14, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xee, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 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, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 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, 0xeb, 0x01, 0xca, 0x41, 0x49, 0x0a, 0x17, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x3d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x3a, 0x19, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x3c, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3d, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3f, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 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, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x1d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 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, 0x7e, 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, 0x3e, 0x2a, 0x3c, 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, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbd, 0x02, 0x0a, 0x15, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 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, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0xca, + 0x01, 0xca, 0x41, 0x39, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x45, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0xbd, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 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, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x43, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x12, 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, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0xe8, + 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 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, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x76, 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, 0x36, 0x2a, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8f, 0x02, 0x0a, 0x16, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x39, 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, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x9a, + 0x01, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 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, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x85, 0x02, 0x0a, 0x14, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 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, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x94, 0x01, 0xca, + 0x41, 0x45, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x3f, 0x3a, 0x01, 0x2a, 0x22, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, + 0x61, 0x72, 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, 0xd2, 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, 0x14, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 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_notebook_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescData = file_google_cloud_aiplatform_v1_notebook_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_notebook_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_google_cloud_aiplatform_v1_notebook_service_proto_goTypes = []interface{}{ + (*CreateNotebookRuntimeTemplateRequest)(nil), // 0: google.cloud.aiplatform.v1.CreateNotebookRuntimeTemplateRequest + (*CreateNotebookRuntimeTemplateOperationMetadata)(nil), // 1: google.cloud.aiplatform.v1.CreateNotebookRuntimeTemplateOperationMetadata + (*GetNotebookRuntimeTemplateRequest)(nil), // 2: google.cloud.aiplatform.v1.GetNotebookRuntimeTemplateRequest + (*ListNotebookRuntimeTemplatesRequest)(nil), // 3: google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesRequest + (*ListNotebookRuntimeTemplatesResponse)(nil), // 4: google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesResponse + (*DeleteNotebookRuntimeTemplateRequest)(nil), // 5: google.cloud.aiplatform.v1.DeleteNotebookRuntimeTemplateRequest + (*AssignNotebookRuntimeRequest)(nil), // 6: google.cloud.aiplatform.v1.AssignNotebookRuntimeRequest + (*AssignNotebookRuntimeOperationMetadata)(nil), // 7: google.cloud.aiplatform.v1.AssignNotebookRuntimeOperationMetadata + (*GetNotebookRuntimeRequest)(nil), // 8: google.cloud.aiplatform.v1.GetNotebookRuntimeRequest + (*ListNotebookRuntimesRequest)(nil), // 9: google.cloud.aiplatform.v1.ListNotebookRuntimesRequest + (*ListNotebookRuntimesResponse)(nil), // 10: google.cloud.aiplatform.v1.ListNotebookRuntimesResponse + (*DeleteNotebookRuntimeRequest)(nil), // 11: google.cloud.aiplatform.v1.DeleteNotebookRuntimeRequest + (*UpgradeNotebookRuntimeRequest)(nil), // 12: google.cloud.aiplatform.v1.UpgradeNotebookRuntimeRequest + (*UpgradeNotebookRuntimeOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1.UpgradeNotebookRuntimeOperationMetadata + (*UpgradeNotebookRuntimeResponse)(nil), // 14: google.cloud.aiplatform.v1.UpgradeNotebookRuntimeResponse + (*StartNotebookRuntimeRequest)(nil), // 15: google.cloud.aiplatform.v1.StartNotebookRuntimeRequest + (*StartNotebookRuntimeOperationMetadata)(nil), // 16: google.cloud.aiplatform.v1.StartNotebookRuntimeOperationMetadata + (*StartNotebookRuntimeResponse)(nil), // 17: google.cloud.aiplatform.v1.StartNotebookRuntimeResponse + (*NotebookRuntimeTemplate)(nil), // 18: google.cloud.aiplatform.v1.NotebookRuntimeTemplate + (*GenericOperationMetadata)(nil), // 19: google.cloud.aiplatform.v1.GenericOperationMetadata + (*fieldmaskpb.FieldMask)(nil), // 20: google.protobuf.FieldMask + (*NotebookRuntime)(nil), // 21: google.cloud.aiplatform.v1.NotebookRuntime + (*longrunningpb.Operation)(nil), // 22: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1_notebook_service_proto_depIdxs = []int32{ + 18, // 0: google.cloud.aiplatform.v1.CreateNotebookRuntimeTemplateRequest.notebook_runtime_template:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeTemplate + 19, // 1: google.cloud.aiplatform.v1.CreateNotebookRuntimeTemplateOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 20, // 2: google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesRequest.read_mask:type_name -> google.protobuf.FieldMask + 18, // 3: google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesResponse.notebook_runtime_templates:type_name -> google.cloud.aiplatform.v1.NotebookRuntimeTemplate + 21, // 4: google.cloud.aiplatform.v1.AssignNotebookRuntimeRequest.notebook_runtime:type_name -> google.cloud.aiplatform.v1.NotebookRuntime + 19, // 5: google.cloud.aiplatform.v1.AssignNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 20, // 6: google.cloud.aiplatform.v1.ListNotebookRuntimesRequest.read_mask:type_name -> google.protobuf.FieldMask + 21, // 7: google.cloud.aiplatform.v1.ListNotebookRuntimesResponse.notebook_runtimes:type_name -> google.cloud.aiplatform.v1.NotebookRuntime + 19, // 8: google.cloud.aiplatform.v1.UpgradeNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 19, // 9: google.cloud.aiplatform.v1.StartNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 0, // 10: google.cloud.aiplatform.v1.NotebookService.CreateNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1.CreateNotebookRuntimeTemplateRequest + 2, // 11: google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1.GetNotebookRuntimeTemplateRequest + 3, // 12: google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates:input_type -> google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesRequest + 5, // 13: google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1.DeleteNotebookRuntimeTemplateRequest + 6, // 14: google.cloud.aiplatform.v1.NotebookService.AssignNotebookRuntime:input_type -> google.cloud.aiplatform.v1.AssignNotebookRuntimeRequest + 8, // 15: google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntime:input_type -> google.cloud.aiplatform.v1.GetNotebookRuntimeRequest + 9, // 16: google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes:input_type -> google.cloud.aiplatform.v1.ListNotebookRuntimesRequest + 11, // 17: google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntime:input_type -> google.cloud.aiplatform.v1.DeleteNotebookRuntimeRequest + 12, // 18: google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime:input_type -> google.cloud.aiplatform.v1.UpgradeNotebookRuntimeRequest + 15, // 19: google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime:input_type -> google.cloud.aiplatform.v1.StartNotebookRuntimeRequest + 22, // 20: google.cloud.aiplatform.v1.NotebookService.CreateNotebookRuntimeTemplate:output_type -> google.longrunning.Operation + 18, // 21: google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntimeTemplate:output_type -> google.cloud.aiplatform.v1.NotebookRuntimeTemplate + 4, // 22: google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates:output_type -> google.cloud.aiplatform.v1.ListNotebookRuntimeTemplatesResponse + 22, // 23: google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntimeTemplate:output_type -> google.longrunning.Operation + 22, // 24: google.cloud.aiplatform.v1.NotebookService.AssignNotebookRuntime:output_type -> google.longrunning.Operation + 21, // 25: google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntime:output_type -> google.cloud.aiplatform.v1.NotebookRuntime + 10, // 26: google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes:output_type -> google.cloud.aiplatform.v1.ListNotebookRuntimesResponse + 22, // 27: google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntime:output_type -> google.longrunning.Operation + 22, // 28: google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime:output_type -> google.longrunning.Operation + 22, // 29: google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime:output_type -> google.longrunning.Operation + 20, // [20:30] is the sub-list for method output_type + 10, // [10:20] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_notebook_service_proto_init() } +func file_google_cloud_aiplatform_v1_notebook_service_proto_init() { + if File_google_cloud_aiplatform_v1_notebook_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1_notebook_runtime_proto_init() + file_google_cloud_aiplatform_v1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNotebookRuntimeTemplateOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimeTemplatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimeTemplatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AssignNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AssignNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_notebook_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 18, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1_notebook_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_notebook_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_notebook_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_notebook_service_proto = out.File + file_google_cloud_aiplatform_v1_notebook_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_notebook_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1_notebook_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 + +// NotebookServiceClient is the client API for NotebookService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NotebookServiceClient interface { + // Creates a NotebookRuntimeTemplate. + CreateNotebookRuntimeTemplate(ctx context.Context, in *CreateNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a NotebookRuntimeTemplate. + GetNotebookRuntimeTemplate(ctx context.Context, in *GetNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*NotebookRuntimeTemplate, error) + // Lists NotebookRuntimeTemplates in a Location. + ListNotebookRuntimeTemplates(ctx context.Context, in *ListNotebookRuntimeTemplatesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimeTemplatesResponse, error) + // Deletes a NotebookRuntimeTemplate. + DeleteNotebookRuntimeTemplate(ctx context.Context, in *DeleteNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Assigns a NotebookRuntime to a user for a particular Notebook file. This + // method will either returns an existing assignment or generates a new one. + AssignNotebookRuntime(ctx context.Context, in *AssignNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a NotebookRuntime. + GetNotebookRuntime(ctx context.Context, in *GetNotebookRuntimeRequest, opts ...grpc.CallOption) (*NotebookRuntime, error) + // Lists NotebookRuntimes in a Location. + ListNotebookRuntimes(ctx context.Context, in *ListNotebookRuntimesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimesResponse, error) + // Deletes a NotebookRuntime. + DeleteNotebookRuntime(ctx context.Context, in *DeleteNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Upgrades a NotebookRuntime. + UpgradeNotebookRuntime(ctx context.Context, in *UpgradeNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Starts a NotebookRuntime. + StartNotebookRuntime(ctx context.Context, in *StartNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type notebookServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNotebookServiceClient(cc grpc.ClientConnInterface) NotebookServiceClient { + return ¬ebookServiceClient{cc} +} + +func (c *notebookServiceClient) CreateNotebookRuntimeTemplate(ctx context.Context, in *CreateNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/CreateNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) GetNotebookRuntimeTemplate(ctx context.Context, in *GetNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*NotebookRuntimeTemplate, error) { + out := new(NotebookRuntimeTemplate) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/GetNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) ListNotebookRuntimeTemplates(ctx context.Context, in *ListNotebookRuntimeTemplatesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimeTemplatesResponse, error) { + out := new(ListNotebookRuntimeTemplatesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/ListNotebookRuntimeTemplates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) DeleteNotebookRuntimeTemplate(ctx context.Context, in *DeleteNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/DeleteNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) AssignNotebookRuntime(ctx context.Context, in *AssignNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/AssignNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) GetNotebookRuntime(ctx context.Context, in *GetNotebookRuntimeRequest, opts ...grpc.CallOption) (*NotebookRuntime, error) { + out := new(NotebookRuntime) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/GetNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) ListNotebookRuntimes(ctx context.Context, in *ListNotebookRuntimesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimesResponse, error) { + out := new(ListNotebookRuntimesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/ListNotebookRuntimes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) DeleteNotebookRuntime(ctx context.Context, in *DeleteNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/DeleteNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) UpgradeNotebookRuntime(ctx context.Context, in *UpgradeNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/UpgradeNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) StartNotebookRuntime(ctx context.Context, in *StartNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.NotebookService/StartNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NotebookServiceServer is the server API for NotebookService service. +type NotebookServiceServer interface { + // Creates a NotebookRuntimeTemplate. + CreateNotebookRuntimeTemplate(context.Context, *CreateNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) + // Gets a NotebookRuntimeTemplate. + GetNotebookRuntimeTemplate(context.Context, *GetNotebookRuntimeTemplateRequest) (*NotebookRuntimeTemplate, error) + // Lists NotebookRuntimeTemplates in a Location. + ListNotebookRuntimeTemplates(context.Context, *ListNotebookRuntimeTemplatesRequest) (*ListNotebookRuntimeTemplatesResponse, error) + // Deletes a NotebookRuntimeTemplate. + DeleteNotebookRuntimeTemplate(context.Context, *DeleteNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) + // Assigns a NotebookRuntime to a user for a particular Notebook file. This + // method will either returns an existing assignment or generates a new one. + AssignNotebookRuntime(context.Context, *AssignNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Gets a NotebookRuntime. + GetNotebookRuntime(context.Context, *GetNotebookRuntimeRequest) (*NotebookRuntime, error) + // Lists NotebookRuntimes in a Location. + ListNotebookRuntimes(context.Context, *ListNotebookRuntimesRequest) (*ListNotebookRuntimesResponse, error) + // Deletes a NotebookRuntime. + DeleteNotebookRuntime(context.Context, *DeleteNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Upgrades a NotebookRuntime. + UpgradeNotebookRuntime(context.Context, *UpgradeNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Starts a NotebookRuntime. + StartNotebookRuntime(context.Context, *StartNotebookRuntimeRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedNotebookServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNotebookServiceServer struct { +} + +func (*UnimplementedNotebookServiceServer) CreateNotebookRuntimeTemplate(context.Context, *CreateNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) GetNotebookRuntimeTemplate(context.Context, *GetNotebookRuntimeTemplateRequest) (*NotebookRuntimeTemplate, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) ListNotebookRuntimeTemplates(context.Context, *ListNotebookRuntimeTemplatesRequest) (*ListNotebookRuntimeTemplatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNotebookRuntimeTemplates not implemented") +} +func (*UnimplementedNotebookServiceServer) DeleteNotebookRuntimeTemplate(context.Context, *DeleteNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) AssignNotebookRuntime(context.Context, *AssignNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method AssignNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) GetNotebookRuntime(context.Context, *GetNotebookRuntimeRequest) (*NotebookRuntime, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) ListNotebookRuntimes(context.Context, *ListNotebookRuntimesRequest) (*ListNotebookRuntimesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNotebookRuntimes not implemented") +} +func (*UnimplementedNotebookServiceServer) DeleteNotebookRuntime(context.Context, *DeleteNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) UpgradeNotebookRuntime(context.Context, *UpgradeNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpgradeNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) StartNotebookRuntime(context.Context, *StartNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method StartNotebookRuntime not implemented") +} + +func RegisterNotebookServiceServer(s *grpc.Server, srv NotebookServiceServer) { + s.RegisterService(&_NotebookService_serviceDesc, srv) +} + +func _NotebookService_CreateNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).CreateNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/CreateNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).CreateNotebookRuntimeTemplate(ctx, req.(*CreateNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_GetNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).GetNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/GetNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).GetNotebookRuntimeTemplate(ctx, req.(*GetNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_ListNotebookRuntimeTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNotebookRuntimeTemplatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).ListNotebookRuntimeTemplates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/ListNotebookRuntimeTemplates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).ListNotebookRuntimeTemplates(ctx, req.(*ListNotebookRuntimeTemplatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_DeleteNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).DeleteNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/DeleteNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).DeleteNotebookRuntimeTemplate(ctx, req.(*DeleteNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_AssignNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AssignNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).AssignNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/AssignNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).AssignNotebookRuntime(ctx, req.(*AssignNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_GetNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).GetNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/GetNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).GetNotebookRuntime(ctx, req.(*GetNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_ListNotebookRuntimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNotebookRuntimesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).ListNotebookRuntimes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/ListNotebookRuntimes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).ListNotebookRuntimes(ctx, req.(*ListNotebookRuntimesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_DeleteNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).DeleteNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/DeleteNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).DeleteNotebookRuntime(ctx, req.(*DeleteNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_UpgradeNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpgradeNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).UpgradeNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/UpgradeNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).UpgradeNotebookRuntime(ctx, req.(*UpgradeNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_StartNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).StartNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.NotebookService/StartNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).StartNotebookRuntime(ctx, req.(*StartNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NotebookService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1.NotebookService", + HandlerType: (*NotebookServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateNotebookRuntimeTemplate", + Handler: _NotebookService_CreateNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "GetNotebookRuntimeTemplate", + Handler: _NotebookService_GetNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "ListNotebookRuntimeTemplates", + Handler: _NotebookService_ListNotebookRuntimeTemplates_Handler, + }, + { + MethodName: "DeleteNotebookRuntimeTemplate", + Handler: _NotebookService_DeleteNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "AssignNotebookRuntime", + Handler: _NotebookService_AssignNotebookRuntime_Handler, + }, + { + MethodName: "GetNotebookRuntime", + Handler: _NotebookService_GetNotebookRuntime_Handler, + }, + { + MethodName: "ListNotebookRuntimes", + Handler: _NotebookService_ListNotebookRuntimes_Handler, + }, + { + MethodName: "DeleteNotebookRuntime", + Handler: _NotebookService_DeleteNotebookRuntime_Handler, + }, + { + MethodName: "UpgradeNotebookRuntime", + Handler: _NotebookService_UpgradeNotebookRuntime_Handler, + }, + { + MethodName: "StartNotebookRuntime", + Handler: _NotebookService_StartNotebookRuntime_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1/notebook_service.proto", +} diff --git a/aiplatform/apiv1/aiplatformpb/openapi.pb.go b/aiplatform/apiv1/aiplatformpb/openapi.pb.go index ac46597be7e4..637c16534c3f 100755 --- a/aiplatform/apiv1/aiplatformpb/openapi.pb.go +++ b/aiplatform/apiv1/aiplatformpb/openapi.pb.go @@ -121,23 +121,51 @@ type Schema struct { // Optional. The format of the data. // Supported formats: // - // for NUMBER type: float, double - // for INTEGER type: int32, int64 + // for NUMBER type: "float", "double" + // for INTEGER type: "int32", "int64" + // for STRING type: "email", "byte", etc Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"` + // Optional. The title of the Schema. + Title string `protobuf:"bytes,24,opt,name=title,proto3" json:"title,omitempty"` // Optional. The description of the data. Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` // Optional. Indicates if the value may be null. Nullable bool `protobuf:"varint,6,opt,name=nullable,proto3" json:"nullable,omitempty"` - // Optional. Schema of the elements of Type.ARRAY. + // Optional. Default value of the data. + Default *structpb.Value `protobuf:"bytes,23,opt,name=default,proto3" json:"default,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE ARRAY + // Schema of the elements of Type.ARRAY. Items *Schema `protobuf:"bytes,2,opt,name=items,proto3" json:"items,omitempty"` + // Optional. Minimum number of the elements for Type.ARRAY. + MinItems int64 `protobuf:"varint,21,opt,name=min_items,json=minItems,proto3" json:"min_items,omitempty"` + // Optional. Maximum number of the elements for Type.ARRAY. + MaxItems int64 `protobuf:"varint,22,opt,name=max_items,json=maxItems,proto3" json:"max_items,omitempty"` // Optional. Possible values of the element of Type.STRING with enum format. // For example we can define an Enum Direction as : // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} Enum []string `protobuf:"bytes,9,rep,name=enum,proto3" json:"enum,omitempty"` - // Optional. Properties of Type.OBJECT. + // Optional. SCHEMA FIELDS FOR TYPE OBJECT + // Properties of Type.OBJECT. Properties map[string]*Schema `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. Required properties of Type.OBJECT. Required []string `protobuf:"bytes,5,rep,name=required,proto3" json:"required,omitempty"` + // Optional. Minimum number of the properties for Type.OBJECT. + MinProperties int64 `protobuf:"varint,14,opt,name=min_properties,json=minProperties,proto3" json:"min_properties,omitempty"` + // Optional. Maximum number of the properties for Type.OBJECT. + MaxProperties int64 `protobuf:"varint,15,opt,name=max_properties,json=maxProperties,proto3" json:"max_properties,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER + // Minimum value of the Type.INTEGER and Type.NUMBER + Minimum float64 `protobuf:"fixed64,16,opt,name=minimum,proto3" json:"minimum,omitempty"` + // Optional. Maximum value of the Type.INTEGER and Type.NUMBER + Maximum float64 `protobuf:"fixed64,17,opt,name=maximum,proto3" json:"maximum,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE STRING + // Minimum length of the Type.STRING + MinLength int64 `protobuf:"varint,18,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` + // Optional. Maximum length of the Type.STRING + MaxLength int64 `protobuf:"varint,19,opt,name=max_length,json=maxLength,proto3" json:"max_length,omitempty"` + // Optional. Pattern of the Type.STRING to restrict a string to a regular + // expression. + Pattern string `protobuf:"bytes,20,opt,name=pattern,proto3" json:"pattern,omitempty"` // Optional. Example of the object. Will only populated when the object is the // root. Example *structpb.Value `protobuf:"bytes,4,opt,name=example,proto3" json:"example,omitempty"` @@ -189,6 +217,13 @@ func (x *Schema) GetFormat() string { return "" } +func (x *Schema) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + func (x *Schema) GetDescription() string { if x != nil { return x.Description @@ -203,6 +238,13 @@ func (x *Schema) GetNullable() bool { return false } +func (x *Schema) GetDefault() *structpb.Value { + if x != nil { + return x.Default + } + return nil +} + func (x *Schema) GetItems() *Schema { if x != nil { return x.Items @@ -210,6 +252,20 @@ func (x *Schema) GetItems() *Schema { return nil } +func (x *Schema) GetMinItems() int64 { + if x != nil { + return x.MinItems + } + return 0 +} + +func (x *Schema) GetMaxItems() int64 { + if x != nil { + return x.MaxItems + } + return 0 +} + func (x *Schema) GetEnum() []string { if x != nil { return x.Enum @@ -231,6 +287,55 @@ func (x *Schema) GetRequired() []string { return nil } +func (x *Schema) GetMinProperties() int64 { + if x != nil { + return x.MinProperties + } + return 0 +} + +func (x *Schema) GetMaxProperties() int64 { + if x != nil { + return x.MaxProperties + } + return 0 +} + +func (x *Schema) GetMinimum() float64 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *Schema) GetMaximum() float64 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *Schema) GetMinLength() int64 { + if x != nil { + return x.MinLength + } + return 0 +} + +func (x *Schema) GetMaxLength() int64 { + if x != nil { + return x.MaxLength + } + return 0 +} + +func (x *Schema) GetPattern() string { + if x != nil { + return x.Pattern + } + return "" +} + func (x *Schema) GetExample() *structpb.Value { if x != nil { return x.Example @@ -249,60 +354,85 @@ var file_google_cloud_aiplatform_v1_openapi_proto_rawDesc = []byte{ 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x07, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 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, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, + 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x75, + 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 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, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x57, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 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, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, + 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x22, + 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x78, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x61, 0x0a, 0x0f, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 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, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, + 0x65, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, + 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, + 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, + 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x10, 0x06, 0x42, 0xca, 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, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x61, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x38, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 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, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x65, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, - 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, - 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, - 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x10, 0x06, 0x42, 0xca, 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, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 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, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x41, + 0x70, 0x69, 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 ( @@ -327,15 +457,16 @@ var file_google_cloud_aiplatform_v1_openapi_proto_goTypes = []interface{}{ } var file_google_cloud_aiplatform_v1_openapi_proto_depIdxs = []int32{ 0, // 0: google.cloud.aiplatform.v1.Schema.type:type_name -> google.cloud.aiplatform.v1.Type - 1, // 1: google.cloud.aiplatform.v1.Schema.items:type_name -> google.cloud.aiplatform.v1.Schema - 2, // 2: google.cloud.aiplatform.v1.Schema.properties:type_name -> google.cloud.aiplatform.v1.Schema.PropertiesEntry - 3, // 3: google.cloud.aiplatform.v1.Schema.example:type_name -> google.protobuf.Value - 1, // 4: google.cloud.aiplatform.v1.Schema.PropertiesEntry.value:type_name -> google.cloud.aiplatform.v1.Schema - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 3, // 1: google.cloud.aiplatform.v1.Schema.default:type_name -> google.protobuf.Value + 1, // 2: google.cloud.aiplatform.v1.Schema.items:type_name -> google.cloud.aiplatform.v1.Schema + 2, // 3: google.cloud.aiplatform.v1.Schema.properties:type_name -> google.cloud.aiplatform.v1.Schema.PropertiesEntry + 3, // 4: google.cloud.aiplatform.v1.Schema.example:type_name -> google.protobuf.Value + 1, // 5: google.cloud.aiplatform.v1.Schema.PropertiesEntry.value:type_name -> google.cloud.aiplatform.v1.Schema + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1_openapi_proto_init() } diff --git a/aiplatform/apiv1/aiplatformpb/persistent_resource.pb.go b/aiplatform/apiv1/aiplatformpb/persistent_resource.pb.go new file mode 100755 index 000000000000..c30439a68d64 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/persistent_resource.pb.go @@ -0,0 +1,1038 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/persistent_resource.proto + +package aiplatformpb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + 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) +) + +// Describes the PersistentResource state. +type PersistentResource_State int32 + +const ( + // Not set. + PersistentResource_STATE_UNSPECIFIED PersistentResource_State = 0 + // The PROVISIONING state indicates the persistent resources is being + // created. + PersistentResource_PROVISIONING PersistentResource_State = 1 + // The RUNNING state indicates the persistent resource is healthy and fully + // usable. + PersistentResource_RUNNING PersistentResource_State = 3 + // The STOPPING state indicates the persistent resource is being deleted. + PersistentResource_STOPPING PersistentResource_State = 4 + // The ERROR state indicates the persistent resource may be unusable. + // Details can be found in the `error` field. + PersistentResource_ERROR PersistentResource_State = 5 + // The REBOOTING state indicates the persistent resource is being rebooted + // (PR is not available right now but is expected to be ready again later). + PersistentResource_REBOOTING PersistentResource_State = 6 + // The UPDATING state indicates the persistent resource is being updated. + PersistentResource_UPDATING PersistentResource_State = 7 +) + +// Enum value maps for PersistentResource_State. +var ( + PersistentResource_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "PROVISIONING", + 3: "RUNNING", + 4: "STOPPING", + 5: "ERROR", + 6: "REBOOTING", + 7: "UPDATING", + } + PersistentResource_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "PROVISIONING": 1, + "RUNNING": 3, + "STOPPING": 4, + "ERROR": 5, + "REBOOTING": 6, + "UPDATING": 7, + } +) + +func (x PersistentResource_State) Enum() *PersistentResource_State { + p := new(PersistentResource_State) + *p = x + return p +} + +func (x PersistentResource_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PersistentResource_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_enumTypes[0].Descriptor() +} + +func (PersistentResource_State) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1_persistent_resource_proto_enumTypes[0] +} + +func (x PersistentResource_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PersistentResource_State.Descriptor instead. +func (PersistentResource_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{0, 0} +} + +// Represents long-lasting resources that are dedicated to users to runs custom +// workloads. +// A PersistentResource can have multiple node pools and each node +// pool can have its own machine spec. +type PersistentResource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Resource name of a PersistentResource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The display name of the PersistentResource. + // 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"` + // Required. The spec of the pools of different resources. + ResourcePools []*ResourcePool `protobuf:"bytes,4,rep,name=resource_pools,json=resourcePools,proto3" json:"resource_pools,omitempty"` + // Output only. The detailed state of a Study. + State PersistentResource_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.aiplatform.v1.PersistentResource_State" json:"state,omitempty"` + // Output only. Only populated when persistent resource's state is `STOPPING` + // or `ERROR`. + Error *status.Status `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` + // Output only. Time when the PersistentResource was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when the PersistentResource for the first time entered + // the `RUNNING` state. + StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Time when the PersistentResource was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. The labels with user-defined metadata to organize + // PersistentResource. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The full name of the Compute Engine + // [network](/compute/docs/networks-and-firewalls#networks) to peered with + // Vertex AI to host the persistent resources. + // For example, `projects/12345/global/networks/myVPC`. + // [Format](/compute/docs/reference/rest/v1/networks/insert) + // is of the form `projects/{project}/global/networks/{network}`. + // Where {project} is a project number, as in `12345`, and {network} is a + // network name. + // + // To specify this field, you must have already [configured VPC Network + // Peering for Vertex + // AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). + // + // If this field is left unspecified, the resources aren't peered with any + // network. + Network string `protobuf:"bytes,11,opt,name=network,proto3" json:"network,omitempty"` + // Optional. Customer-managed encryption key spec for a PersistentResource. + // If set, this PersistentResource and all sub-resources of this + // PersistentResource will be secured by this key. + EncryptionSpec *EncryptionSpec `protobuf:"bytes,12,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` + // Optional. Persistent Resource runtime spec. + // For example, used for Ray cluster configuration. + ResourceRuntimeSpec *ResourceRuntimeSpec `protobuf:"bytes,13,opt,name=resource_runtime_spec,json=resourceRuntimeSpec,proto3" json:"resource_runtime_spec,omitempty"` + // Output only. Runtime information of the Persistent Resource. + ResourceRuntime *ResourceRuntime `protobuf:"bytes,14,opt,name=resource_runtime,json=resourceRuntime,proto3" json:"resource_runtime,omitempty"` + // Optional. A list of names for the reserved IP ranges under the VPC network + // that can be used for this persistent resource. + // + // If set, we will deploy the persistent resource within the provided IP + // ranges. Otherwise, the persistent resource is deployed to any IP + // ranges under the provided VPC network. + // + // Example: ['vertex-ai-ip-range']. + ReservedIpRanges []string `protobuf:"bytes,15,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` +} + +func (x *PersistentResource) Reset() { + *x = PersistentResource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PersistentResource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersistentResource) ProtoMessage() {} + +func (x *PersistentResource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 PersistentResource.ProtoReflect.Descriptor instead. +func (*PersistentResource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{0} +} + +func (x *PersistentResource) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PersistentResource) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PersistentResource) GetResourcePools() []*ResourcePool { + if x != nil { + return x.ResourcePools + } + return nil +} + +func (x *PersistentResource) GetState() PersistentResource_State { + if x != nil { + return x.State + } + return PersistentResource_STATE_UNSPECIFIED +} + +func (x *PersistentResource) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *PersistentResource) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PersistentResource) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *PersistentResource) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PersistentResource) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *PersistentResource) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *PersistentResource) GetEncryptionSpec() *EncryptionSpec { + if x != nil { + return x.EncryptionSpec + } + return nil +} + +func (x *PersistentResource) GetResourceRuntimeSpec() *ResourceRuntimeSpec { + if x != nil { + return x.ResourceRuntimeSpec + } + return nil +} + +func (x *PersistentResource) GetResourceRuntime() *ResourceRuntime { + if x != nil { + return x.ResourceRuntime + } + return nil +} + +func (x *PersistentResource) GetReservedIpRanges() []string { + if x != nil { + return x.ReservedIpRanges + } + return nil +} + +// Represents the spec of a group of resources of the same type, +// for example machine type, disk, and accelerators, in a PersistentResource. +type ResourcePool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. The unique ID in a PersistentResource for referring to this + // resource pool. User can specify it if necessary. Otherwise, it's generated + // automatically. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. Immutable. The specification of a single machine. + MachineSpec *MachineSpec `protobuf:"bytes,2,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Optional. The total number of machines to use for this resource pool. + ReplicaCount *int64 `protobuf:"varint,3,opt,name=replica_count,json=replicaCount,proto3,oneof" json:"replica_count,omitempty"` + // Optional. Disk spec for the machine in this node pool. + DiskSpec *DiskSpec `protobuf:"bytes,4,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"` + // Output only. The number of machines currently in use by training jobs for + // this resource pool. Will replace idle_replica_count. + UsedReplicaCount int64 `protobuf:"varint,6,opt,name=used_replica_count,json=usedReplicaCount,proto3" json:"used_replica_count,omitempty"` + // Optional. Optional spec to configure GKE autoscaling + AutoscalingSpec *ResourcePool_AutoscalingSpec `protobuf:"bytes,7,opt,name=autoscaling_spec,json=autoscalingSpec,proto3" json:"autoscaling_spec,omitempty"` +} + +func (x *ResourcePool) Reset() { + *x = ResourcePool{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourcePool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcePool) ProtoMessage() {} + +func (x *ResourcePool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ResourcePool.ProtoReflect.Descriptor instead. +func (*ResourcePool) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{1} +} + +func (x *ResourcePool) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ResourcePool) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *ResourcePool) GetReplicaCount() int64 { + if x != nil && x.ReplicaCount != nil { + return *x.ReplicaCount + } + return 0 +} + +func (x *ResourcePool) GetDiskSpec() *DiskSpec { + if x != nil { + return x.DiskSpec + } + return nil +} + +func (x *ResourcePool) GetUsedReplicaCount() int64 { + if x != nil { + return x.UsedReplicaCount + } + return 0 +} + +func (x *ResourcePool) GetAutoscalingSpec() *ResourcePool_AutoscalingSpec { + if x != nil { + return x.AutoscalingSpec + } + return nil +} + +// Configuration for the runtime on a PersistentResource instance, including +// but not limited to: +// +// * Service accounts used to run the workloads. +// * Whether to make it a dedicated Ray Cluster. +type ResourceRuntimeSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configure the use of workload identity on the PersistentResource + ServiceAccountSpec *ServiceAccountSpec `protobuf:"bytes,2,opt,name=service_account_spec,json=serviceAccountSpec,proto3" json:"service_account_spec,omitempty"` + // Optional. Ray cluster configuration. + // Required when creating a dedicated RayCluster on the PersistentResource. + RaySpec *RaySpec `protobuf:"bytes,1,opt,name=ray_spec,json=raySpec,proto3" json:"ray_spec,omitempty"` +} + +func (x *ResourceRuntimeSpec) Reset() { + *x = ResourceRuntimeSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceRuntimeSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceRuntimeSpec) ProtoMessage() {} + +func (x *ResourceRuntimeSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ResourceRuntimeSpec.ProtoReflect.Descriptor instead. +func (*ResourceRuntimeSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{2} +} + +func (x *ResourceRuntimeSpec) GetServiceAccountSpec() *ServiceAccountSpec { + if x != nil { + return x.ServiceAccountSpec + } + return nil +} + +func (x *ResourceRuntimeSpec) GetRaySpec() *RaySpec { + if x != nil { + return x.RaySpec + } + return nil +} + +// Configuration information for the Ray cluster. +// For experimental launch, Ray cluster creation and Persistent +// cluster creation are 1:1 mapping: We will provision all the nodes within the +// Persistent cluster as Ray nodes. +type RaySpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RaySpec) Reset() { + *x = RaySpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RaySpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RaySpec) ProtoMessage() {} + +func (x *RaySpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 RaySpec.ProtoReflect.Descriptor instead. +func (*RaySpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{3} +} + +// Persistent Cluster runtime information as output +type ResourceRuntime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ResourceRuntime) Reset() { + *x = ResourceRuntime{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceRuntime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceRuntime) ProtoMessage() {} + +func (x *ResourceRuntime) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ResourceRuntime.ProtoReflect.Descriptor instead. +func (*ResourceRuntime) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{4} +} + +// Configuration for the use of custom service account to run the workloads. +type ServiceAccountSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. If true, custom user-managed service account is enforced to run + // any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses + // the [Vertex AI Custom Code Service + // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). + EnableCustomServiceAccount bool `protobuf:"varint,1,opt,name=enable_custom_service_account,json=enableCustomServiceAccount,proto3" json:"enable_custom_service_account,omitempty"` + // Optional. Required when all below conditions are met + // - `enable_custom_service_account` is true; + // - any runtime is specified via `ResourceRuntimeSpec` on creation time, + // for example, Ray + // + // The users must have `iam.serviceAccounts.actAs` permission on this service + // account and then the specified runtime containers will run as it. + // + // Do not set this field if you want to submit jobs using custom service + // account to this PersistentResource after creation, but only specify the + // `service_account` inside the job. + ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` +} + +func (x *ServiceAccountSpec) Reset() { + *x = ServiceAccountSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAccountSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAccountSpec) ProtoMessage() {} + +func (x *ServiceAccountSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ServiceAccountSpec.ProtoReflect.Descriptor instead. +func (*ServiceAccountSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{5} +} + +func (x *ServiceAccountSpec) GetEnableCustomServiceAccount() bool { + if x != nil { + return x.EnableCustomServiceAccount + } + return false +} + +func (x *ServiceAccountSpec) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +// The min/max number of replicas allowed if enabling autoscaling +type ResourcePool_AutoscalingSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. min replicas in the node pool, + // must be ≤ replica_count and < max_replica_count or will throw error + MinReplicaCount *int64 `protobuf:"varint,1,opt,name=min_replica_count,json=minReplicaCount,proto3,oneof" json:"min_replica_count,omitempty"` + // Optional. max replicas in the node pool, + // must be ≥ replica_count and > min_replica_count or will throw error + MaxReplicaCount *int64 `protobuf:"varint,2,opt,name=max_replica_count,json=maxReplicaCount,proto3,oneof" json:"max_replica_count,omitempty"` +} + +func (x *ResourcePool_AutoscalingSpec) Reset() { + *x = ResourcePool_AutoscalingSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourcePool_AutoscalingSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourcePool_AutoscalingSpec) ProtoMessage() {} + +func (x *ResourcePool_AutoscalingSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ResourcePool_AutoscalingSpec.ProtoReflect.Descriptor instead. +func (*ResourcePool_AutoscalingSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *ResourcePool_AutoscalingSpec) GetMinReplicaCount() int64 { + if x != nil && x.MinReplicaCount != nil { + return *x.MinReplicaCount + } + return 0 +} + +func (x *ResourcePool_AutoscalingSpec) GetMaxReplicaCount() int64 { + if x != nil && x.MaxReplicaCount != nil { + return *x.MaxReplicaCount + } + return 0 +} + +var File_google_cloud_aiplatform_v1_persistent_resource_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDesc = []byte{ + 0x0a, 0x34, 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, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 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, 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, 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, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x32, 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, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x96, + 0x0a, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 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, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 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, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 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, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 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, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 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, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 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, 0x58, 0x0a, 0x0f, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, + 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, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x68, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0d, + 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, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x5b, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 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, 0x73, 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, 0x10, 0x0a, 0x0c, 0x50, 0x52, + 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, + 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x3a, + 0x85, 0x01, 0xea, 0x41, 0x81, 0x01, 0x0a, 0x2c, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x51, 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, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x22, 0xc9, 0x04, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x52, 0x0a, + 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, + 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x2d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x46, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 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, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x64, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x75, 0x73, 0x65, 0x64, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x68, 0x0a, 0x10, 0x61, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x07, 0x20, 0x01, 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, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, + 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xa9, 0x01, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x69, 0x6e, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x34, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x01, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, 0x14, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x02, 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, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x61, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x72, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x22, 0x09, 0x0a, 0x07, 0x52, 0x61, 0x79, 0x53, 0x70, + 0x65, 0x63, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x1d, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0xd5, 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, 0x17, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 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_persistent_resource_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescData = file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_persistent_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_google_cloud_aiplatform_v1_persistent_resource_proto_goTypes = []interface{}{ + (PersistentResource_State)(0), // 0: google.cloud.aiplatform.v1.PersistentResource.State + (*PersistentResource)(nil), // 1: google.cloud.aiplatform.v1.PersistentResource + (*ResourcePool)(nil), // 2: google.cloud.aiplatform.v1.ResourcePool + (*ResourceRuntimeSpec)(nil), // 3: google.cloud.aiplatform.v1.ResourceRuntimeSpec + (*RaySpec)(nil), // 4: google.cloud.aiplatform.v1.RaySpec + (*ResourceRuntime)(nil), // 5: google.cloud.aiplatform.v1.ResourceRuntime + (*ServiceAccountSpec)(nil), // 6: google.cloud.aiplatform.v1.ServiceAccountSpec + nil, // 7: google.cloud.aiplatform.v1.PersistentResource.LabelsEntry + (*ResourcePool_AutoscalingSpec)(nil), // 8: google.cloud.aiplatform.v1.ResourcePool.AutoscalingSpec + (*status.Status)(nil), // 9: google.rpc.Status + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp + (*EncryptionSpec)(nil), // 11: google.cloud.aiplatform.v1.EncryptionSpec + (*MachineSpec)(nil), // 12: google.cloud.aiplatform.v1.MachineSpec + (*DiskSpec)(nil), // 13: google.cloud.aiplatform.v1.DiskSpec +} +var file_google_cloud_aiplatform_v1_persistent_resource_proto_depIdxs = []int32{ + 2, // 0: google.cloud.aiplatform.v1.PersistentResource.resource_pools:type_name -> google.cloud.aiplatform.v1.ResourcePool + 0, // 1: google.cloud.aiplatform.v1.PersistentResource.state:type_name -> google.cloud.aiplatform.v1.PersistentResource.State + 9, // 2: google.cloud.aiplatform.v1.PersistentResource.error:type_name -> google.rpc.Status + 10, // 3: google.cloud.aiplatform.v1.PersistentResource.create_time:type_name -> google.protobuf.Timestamp + 10, // 4: google.cloud.aiplatform.v1.PersistentResource.start_time:type_name -> google.protobuf.Timestamp + 10, // 5: google.cloud.aiplatform.v1.PersistentResource.update_time:type_name -> google.protobuf.Timestamp + 7, // 6: google.cloud.aiplatform.v1.PersistentResource.labels:type_name -> google.cloud.aiplatform.v1.PersistentResource.LabelsEntry + 11, // 7: google.cloud.aiplatform.v1.PersistentResource.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec + 3, // 8: google.cloud.aiplatform.v1.PersistentResource.resource_runtime_spec:type_name -> google.cloud.aiplatform.v1.ResourceRuntimeSpec + 5, // 9: google.cloud.aiplatform.v1.PersistentResource.resource_runtime:type_name -> google.cloud.aiplatform.v1.ResourceRuntime + 12, // 10: google.cloud.aiplatform.v1.ResourcePool.machine_spec:type_name -> google.cloud.aiplatform.v1.MachineSpec + 13, // 11: google.cloud.aiplatform.v1.ResourcePool.disk_spec:type_name -> google.cloud.aiplatform.v1.DiskSpec + 8, // 12: google.cloud.aiplatform.v1.ResourcePool.autoscaling_spec:type_name -> google.cloud.aiplatform.v1.ResourcePool.AutoscalingSpec + 6, // 13: google.cloud.aiplatform.v1.ResourceRuntimeSpec.service_account_spec:type_name -> google.cloud.aiplatform.v1.ServiceAccountSpec + 4, // 14: google.cloud.aiplatform.v1.ResourceRuntimeSpec.ray_spec:type_name -> google.cloud.aiplatform.v1.RaySpec + 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_persistent_resource_proto_init() } +func file_google_cloud_aiplatform_v1_persistent_resource_proto_init() { + if File_google_cloud_aiplatform_v1_persistent_resource_proto != nil { + return + } + file_google_cloud_aiplatform_v1_encryption_spec_proto_init() + file_google_cloud_aiplatform_v1_machine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PersistentResource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourcePool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceRuntimeSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RaySpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceRuntime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAccountSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourcePool_AutoscalingSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes[7].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDesc, + NumEnums: 1, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1_persistent_resource_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_persistent_resource_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1_persistent_resource_proto_enumTypes, + MessageInfos: file_google_cloud_aiplatform_v1_persistent_resource_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_persistent_resource_proto = out.File + file_google_cloud_aiplatform_v1_persistent_resource_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_persistent_resource_proto_goTypes = nil + file_google_cloud_aiplatform_v1_persistent_resource_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1/aiplatformpb/persistent_resource_service.pb.go b/aiplatform/apiv1/aiplatformpb/persistent_resource_service.pb.go new file mode 100755 index 000000000000..8588c58f9b22 --- /dev/null +++ b/aiplatform/apiv1/aiplatformpb/persistent_resource_service.pb.go @@ -0,0 +1,1377 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1/persistent_resource_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" + 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" + _ "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [PersistentResourceService.CreatePersistentResource][google.cloud.aiplatform.v1.PersistentResourceService.CreatePersistentResource]. +type CreatePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // PersistentResource in. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The PersistentResource to create. + PersistentResource *PersistentResource `protobuf:"bytes,2,opt,name=persistent_resource,json=persistentResource,proto3" json:"persistent_resource,omitempty"` + // Required. The ID to use for the PersistentResource, which become the final + // component of the PersistentResource's resource name. + // + // The maximum length is 63 characters, and valid characters + // are `/^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$/`. + PersistentResourceId string `protobuf:"bytes,3,opt,name=persistent_resource_id,json=persistentResourceId,proto3" json:"persistent_resource_id,omitempty"` +} + +func (x *CreatePersistentResourceRequest) Reset() { + *x = CreatePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersistentResourceRequest) ProtoMessage() {} + +func (x *CreatePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 CreatePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*CreatePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreatePersistentResourceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreatePersistentResourceRequest) GetPersistentResource() *PersistentResource { + if x != nil { + return x.PersistentResource + } + return nil +} + +func (x *CreatePersistentResourceRequest) GetPersistentResourceId() string { + if x != nil { + return x.PersistentResourceId + } + return "" +} + +// Details of operations that perform create PersistentResource. +type CreatePersistentResourceOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for PersistentResource. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Progress Message for Create LRO + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *CreatePersistentResourceOperationMetadata) Reset() { + *x = CreatePersistentResourceOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePersistentResourceOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePersistentResourceOperationMetadata) ProtoMessage() {} + +func (x *CreatePersistentResourceOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 CreatePersistentResourceOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreatePersistentResourceOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreatePersistentResourceOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *CreatePersistentResourceOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Details of operations that perform update PersistentResource. +type UpdatePersistentResourceOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for PersistentResource. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Progress Message for Update LRO + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *UpdatePersistentResourceOperationMetadata) Reset() { + *x = UpdatePersistentResourceOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersistentResourceOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersistentResourceOperationMetadata) ProtoMessage() {} + +func (x *UpdatePersistentResourceOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 UpdatePersistentResourceOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpdatePersistentResourceOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdatePersistentResourceOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *UpdatePersistentResourceOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Details of operations that perform reboot PersistentResource. +type RebootPersistentResourceOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation metadata for PersistentResource. + GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` + // Progress Message for Reboot LRO + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *RebootPersistentResourceOperationMetadata) Reset() { + *x = RebootPersistentResourceOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RebootPersistentResourceOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RebootPersistentResourceOperationMetadata) ProtoMessage() {} + +func (x *RebootPersistentResourceOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 RebootPersistentResourceOperationMetadata.ProtoReflect.Descriptor instead. +func (*RebootPersistentResourceOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RebootPersistentResourceOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *RebootPersistentResourceOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Request message for +// [PersistentResourceService.GetPersistentResource][google.cloud.aiplatform.v1.PersistentResourceService.GetPersistentResource]. +type GetPersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PersistentResource resource. + // Format: + // `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetPersistentResourceRequest) Reset() { + *x = GetPersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPersistentResourceRequest) ProtoMessage() {} + +func (x *GetPersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 GetPersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*GetPersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{4} +} + +func (x *GetPersistentResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [PersistentResourceService.ListPersistentResource][]. +type ListPersistentResourcesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to list the PersistentResources + // from. 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,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListPersistentResourceResponse.next_page_token][] of the previous + // [PersistentResourceService.ListPersistentResource][] call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListPersistentResourcesRequest) Reset() { + *x = ListPersistentResourcesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersistentResourcesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersistentResourcesRequest) ProtoMessage() {} + +func (x *ListPersistentResourcesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ListPersistentResourcesRequest.ProtoReflect.Descriptor instead. +func (*ListPersistentResourcesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListPersistentResourcesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPersistentResourcesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPersistentResourcesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [PersistentResourceService.ListPersistentResources][google.cloud.aiplatform.v1.PersistentResourceService.ListPersistentResources] +type ListPersistentResourcesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PersistentResources []*PersistentResource `protobuf:"bytes,1,rep,name=persistent_resources,json=persistentResources,proto3" json:"persistent_resources,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListPersistentResourcesRequest.page_token][google.cloud.aiplatform.v1.ListPersistentResourcesRequest.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 *ListPersistentResourcesResponse) Reset() { + *x = ListPersistentResourcesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPersistentResourcesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPersistentResourcesResponse) ProtoMessage() {} + +func (x *ListPersistentResourcesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 ListPersistentResourcesResponse.ProtoReflect.Descriptor instead. +func (*ListPersistentResourcesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ListPersistentResourcesResponse) GetPersistentResources() []*PersistentResource { + if x != nil { + return x.PersistentResources + } + return nil +} + +func (x *ListPersistentResourcesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [PersistentResourceService.DeletePersistentResource][google.cloud.aiplatform.v1.PersistentResourceService.DeletePersistentResource]. +type DeletePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PersistentResource to be deleted. + // Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeletePersistentResourceRequest) Reset() { + *x = DeletePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePersistentResourceRequest) ProtoMessage() {} + +func (x *DeletePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 DeletePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*DeletePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{7} +} + +func (x *DeletePersistentResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for UpdatePersistentResource method. +type UpdatePersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The PersistentResource to update. + // + // The PersistentResource's `name` field is used to identify the + // PersistentResource to update. Format: + // `projects/{project}/locations/{location}/persistentResources/{persistent_resource}` + PersistentResource *PersistentResource `protobuf:"bytes,1,opt,name=persistent_resource,json=persistentResource,proto3" json:"persistent_resource,omitempty"` + // Required. Specify the fields to be overwritten in the PersistentResource by + // the update method. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdatePersistentResourceRequest) Reset() { + *x = UpdatePersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePersistentResourceRequest) ProtoMessage() {} + +func (x *UpdatePersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 UpdatePersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*UpdatePersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{8} +} + +func (x *UpdatePersistentResourceRequest) GetPersistentResource() *PersistentResource { + if x != nil { + return x.PersistentResource + } + return nil +} + +func (x *UpdatePersistentResourceRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [PersistentResourceService.RebootPersistentResource][google.cloud.aiplatform.v1.PersistentResourceService.RebootPersistentResource]. +type RebootPersistentResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the PersistentResource resource. + // Format: + // `projects/{project_id_or_number}/locations/{location_id}/persistentResources/{persistent_resource_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RebootPersistentResourceRequest) Reset() { + *x = RebootPersistentResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RebootPersistentResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RebootPersistentResourceRequest) ProtoMessage() {} + +func (x *RebootPersistentResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1_persistent_resource_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 RebootPersistentResourceRequest.ProtoReflect.Descriptor instead. +func (*RebootPersistentResourceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP(), []int{9} +} + +func (x *RebootPersistentResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_cloud_aiplatform_v1_persistent_resource_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDesc = []byte{ + 0x0a, 0x3c, 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, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x34, 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, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x64, 0x0a, 0x13, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x39, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x29, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x29, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xb7, 0x01, 0x0a, 0x29, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x29, + 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x1c, 0x47, 0x65, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, + 0x2c, 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, 0x50, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xac, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, + 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x1f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x64, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x6b, 0x0a, 0x1f, 0x52, 0x65, 0x62, 0x6f, 0x6f, + 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, + 0x0a, 0x2c, 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, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xa5, 0x0d, 0x0a, 0x19, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xc3, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x3b, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0xca, 0x41, + 0x3f, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x31, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x13, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x37, 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, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 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, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 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, 0x70, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 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, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 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, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 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, + 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0xf1, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x3b, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 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, 0x39, 0x2a, 0x37, + 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, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc5, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x3b, 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, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xcc, 0x01, 0xca, 0x41, 0x3f, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x13, 0x70, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x32, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0x8b, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3b, 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, 0x62, 0x6f, 0x6f, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0xca, 0x41, 0x3f, 0x0a, 0x12, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x29, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 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, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 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, + 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x62, 0x6f, 0x6f, 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, 0xdc, 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, + 0x1e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 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_persistent_resource_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescData = file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_google_cloud_aiplatform_v1_persistent_resource_service_proto_goTypes = []interface{}{ + (*CreatePersistentResourceRequest)(nil), // 0: google.cloud.aiplatform.v1.CreatePersistentResourceRequest + (*CreatePersistentResourceOperationMetadata)(nil), // 1: google.cloud.aiplatform.v1.CreatePersistentResourceOperationMetadata + (*UpdatePersistentResourceOperationMetadata)(nil), // 2: google.cloud.aiplatform.v1.UpdatePersistentResourceOperationMetadata + (*RebootPersistentResourceOperationMetadata)(nil), // 3: google.cloud.aiplatform.v1.RebootPersistentResourceOperationMetadata + (*GetPersistentResourceRequest)(nil), // 4: google.cloud.aiplatform.v1.GetPersistentResourceRequest + (*ListPersistentResourcesRequest)(nil), // 5: google.cloud.aiplatform.v1.ListPersistentResourcesRequest + (*ListPersistentResourcesResponse)(nil), // 6: google.cloud.aiplatform.v1.ListPersistentResourcesResponse + (*DeletePersistentResourceRequest)(nil), // 7: google.cloud.aiplatform.v1.DeletePersistentResourceRequest + (*UpdatePersistentResourceRequest)(nil), // 8: google.cloud.aiplatform.v1.UpdatePersistentResourceRequest + (*RebootPersistentResourceRequest)(nil), // 9: google.cloud.aiplatform.v1.RebootPersistentResourceRequest + (*PersistentResource)(nil), // 10: google.cloud.aiplatform.v1.PersistentResource + (*GenericOperationMetadata)(nil), // 11: google.cloud.aiplatform.v1.GenericOperationMetadata + (*fieldmaskpb.FieldMask)(nil), // 12: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 13: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1_persistent_resource_service_proto_depIdxs = []int32{ + 10, // 0: google.cloud.aiplatform.v1.CreatePersistentResourceRequest.persistent_resource:type_name -> google.cloud.aiplatform.v1.PersistentResource + 11, // 1: google.cloud.aiplatform.v1.CreatePersistentResourceOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 11, // 2: google.cloud.aiplatform.v1.UpdatePersistentResourceOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 11, // 3: google.cloud.aiplatform.v1.RebootPersistentResourceOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata + 10, // 4: google.cloud.aiplatform.v1.ListPersistentResourcesResponse.persistent_resources:type_name -> google.cloud.aiplatform.v1.PersistentResource + 10, // 5: google.cloud.aiplatform.v1.UpdatePersistentResourceRequest.persistent_resource:type_name -> google.cloud.aiplatform.v1.PersistentResource + 12, // 6: google.cloud.aiplatform.v1.UpdatePersistentResourceRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 7: google.cloud.aiplatform.v1.PersistentResourceService.CreatePersistentResource:input_type -> google.cloud.aiplatform.v1.CreatePersistentResourceRequest + 4, // 8: google.cloud.aiplatform.v1.PersistentResourceService.GetPersistentResource:input_type -> google.cloud.aiplatform.v1.GetPersistentResourceRequest + 5, // 9: google.cloud.aiplatform.v1.PersistentResourceService.ListPersistentResources:input_type -> google.cloud.aiplatform.v1.ListPersistentResourcesRequest + 7, // 10: google.cloud.aiplatform.v1.PersistentResourceService.DeletePersistentResource:input_type -> google.cloud.aiplatform.v1.DeletePersistentResourceRequest + 8, // 11: google.cloud.aiplatform.v1.PersistentResourceService.UpdatePersistentResource:input_type -> google.cloud.aiplatform.v1.UpdatePersistentResourceRequest + 9, // 12: google.cloud.aiplatform.v1.PersistentResourceService.RebootPersistentResource:input_type -> google.cloud.aiplatform.v1.RebootPersistentResourceRequest + 13, // 13: google.cloud.aiplatform.v1.PersistentResourceService.CreatePersistentResource:output_type -> google.longrunning.Operation + 10, // 14: google.cloud.aiplatform.v1.PersistentResourceService.GetPersistentResource:output_type -> google.cloud.aiplatform.v1.PersistentResource + 6, // 15: google.cloud.aiplatform.v1.PersistentResourceService.ListPersistentResources:output_type -> google.cloud.aiplatform.v1.ListPersistentResourcesResponse + 13, // 16: google.cloud.aiplatform.v1.PersistentResourceService.DeletePersistentResource:output_type -> google.longrunning.Operation + 13, // 17: google.cloud.aiplatform.v1.PersistentResourceService.UpdatePersistentResource:output_type -> google.longrunning.Operation + 13, // 18: google.cloud.aiplatform.v1.PersistentResourceService.RebootPersistentResource:output_type -> google.longrunning.Operation + 13, // [13:19] is the sub-list for method output_type + 7, // [7:13] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1_persistent_resource_service_proto_init() } +func file_google_cloud_aiplatform_v1_persistent_resource_service_proto_init() { + if File_google_cloud_aiplatform_v1_persistent_resource_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1_operation_proto_init() + file_google_cloud_aiplatform_v1_persistent_resource_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePersistentResourceOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersistentResourceOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebootPersistentResourceOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersistentResourcesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPersistentResourcesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RebootPersistentResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1_persistent_resource_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1_persistent_resource_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1_persistent_resource_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1_persistent_resource_service_proto = out.File + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1_persistent_resource_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1_persistent_resource_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 + +// PersistentResourceServiceClient is the client API for PersistentResourceService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type PersistentResourceServiceClient interface { + // Creates a PersistentResource. + CreatePersistentResource(ctx context.Context, in *CreatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a PersistentResource. + GetPersistentResource(ctx context.Context, in *GetPersistentResourceRequest, opts ...grpc.CallOption) (*PersistentResource, error) + // Lists PersistentResources in a Location. + ListPersistentResources(ctx context.Context, in *ListPersistentResourcesRequest, opts ...grpc.CallOption) (*ListPersistentResourcesResponse, error) + // Deletes a PersistentResource. + DeletePersistentResource(ctx context.Context, in *DeletePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a PersistentResource. + UpdatePersistentResource(ctx context.Context, in *UpdatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Reboots a PersistentResource. + RebootPersistentResource(ctx context.Context, in *RebootPersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type persistentResourceServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPersistentResourceServiceClient(cc grpc.ClientConnInterface) PersistentResourceServiceClient { + return &persistentResourceServiceClient{cc} +} + +func (c *persistentResourceServiceClient) CreatePersistentResource(ctx context.Context, in *CreatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/CreatePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) GetPersistentResource(ctx context.Context, in *GetPersistentResourceRequest, opts ...grpc.CallOption) (*PersistentResource, error) { + out := new(PersistentResource) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/GetPersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) ListPersistentResources(ctx context.Context, in *ListPersistentResourcesRequest, opts ...grpc.CallOption) (*ListPersistentResourcesResponse, error) { + out := new(ListPersistentResourcesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/ListPersistentResources", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) DeletePersistentResource(ctx context.Context, in *DeletePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/DeletePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) UpdatePersistentResource(ctx context.Context, in *UpdatePersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/UpdatePersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *persistentResourceServiceClient) RebootPersistentResource(ctx context.Context, in *RebootPersistentResourceRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1.PersistentResourceService/RebootPersistentResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PersistentResourceServiceServer is the server API for PersistentResourceService service. +type PersistentResourceServiceServer interface { + // Creates a PersistentResource. + CreatePersistentResource(context.Context, *CreatePersistentResourceRequest) (*longrunningpb.Operation, error) + // Gets a PersistentResource. + GetPersistentResource(context.Context, *GetPersistentResourceRequest) (*PersistentResource, error) + // Lists PersistentResources in a Location. + ListPersistentResources(context.Context, *ListPersistentResourcesRequest) (*ListPersistentResourcesResponse, error) + // Deletes a PersistentResource. + DeletePersistentResource(context.Context, *DeletePersistentResourceRequest) (*longrunningpb.Operation, error) + // Updates a PersistentResource. + UpdatePersistentResource(context.Context, *UpdatePersistentResourceRequest) (*longrunningpb.Operation, error) + // Reboots a PersistentResource. + RebootPersistentResource(context.Context, *RebootPersistentResourceRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedPersistentResourceServiceServer can be embedded to have forward compatible implementations. +type UnimplementedPersistentResourceServiceServer struct { +} + +func (*UnimplementedPersistentResourceServiceServer) CreatePersistentResource(context.Context, *CreatePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePersistentResource not implemented") +} +func (*UnimplementedPersistentResourceServiceServer) GetPersistentResource(context.Context, *GetPersistentResourceRequest) (*PersistentResource, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPersistentResource not implemented") +} +func (*UnimplementedPersistentResourceServiceServer) ListPersistentResources(context.Context, *ListPersistentResourcesRequest) (*ListPersistentResourcesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPersistentResources not implemented") +} +func (*UnimplementedPersistentResourceServiceServer) DeletePersistentResource(context.Context, *DeletePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePersistentResource not implemented") +} +func (*UnimplementedPersistentResourceServiceServer) UpdatePersistentResource(context.Context, *UpdatePersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePersistentResource not implemented") +} +func (*UnimplementedPersistentResourceServiceServer) RebootPersistentResource(context.Context, *RebootPersistentResourceRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RebootPersistentResource not implemented") +} + +func RegisterPersistentResourceServiceServer(s *grpc.Server, srv PersistentResourceServiceServer) { + s.RegisterService(&_PersistentResourceService_serviceDesc, srv) +} + +func _PersistentResourceService_CreatePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).CreatePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/CreatePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).CreatePersistentResource(ctx, req.(*CreatePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_GetPersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).GetPersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/GetPersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).GetPersistentResource(ctx, req.(*GetPersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_ListPersistentResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPersistentResourcesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).ListPersistentResources(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/ListPersistentResources", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).ListPersistentResources(ctx, req.(*ListPersistentResourcesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_DeletePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).DeletePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/DeletePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).DeletePersistentResource(ctx, req.(*DeletePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_UpdatePersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).UpdatePersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/UpdatePersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).UpdatePersistentResource(ctx, req.(*UpdatePersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _PersistentResourceService_RebootPersistentResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RebootPersistentResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PersistentResourceServiceServer).RebootPersistentResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1.PersistentResourceService/RebootPersistentResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PersistentResourceServiceServer).RebootPersistentResource(ctx, req.(*RebootPersistentResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _PersistentResourceService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1.PersistentResourceService", + HandlerType: (*PersistentResourceServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreatePersistentResource", + Handler: _PersistentResourceService_CreatePersistentResource_Handler, + }, + { + MethodName: "GetPersistentResource", + Handler: _PersistentResourceService_GetPersistentResource_Handler, + }, + { + MethodName: "ListPersistentResources", + Handler: _PersistentResourceService_ListPersistentResources_Handler, + }, + { + MethodName: "DeletePersistentResource", + Handler: _PersistentResourceService_DeletePersistentResource_Handler, + }, + { + MethodName: "UpdatePersistentResource", + Handler: _PersistentResourceService_UpdatePersistentResource_Handler, + }, + { + MethodName: "RebootPersistentResource", + Handler: _PersistentResourceService_RebootPersistentResource_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1/persistent_resource_service.proto", +} diff --git a/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go b/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go index 3168f71445a8..c9a3556d5580 100755 --- a/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go +++ b/aiplatform/apiv1/aiplatformpb/prediction_service.pb.go @@ -52,6 +52,11 @@ const ( GenerateContentResponse_PromptFeedback_SAFETY GenerateContentResponse_PromptFeedback_BlockedReason = 1 // Candidates blocked due to other reason. GenerateContentResponse_PromptFeedback_OTHER GenerateContentResponse_PromptFeedback_BlockedReason = 2 + // Candidates blocked due to the terms which are included from the + // terminology blocklist. + GenerateContentResponse_PromptFeedback_BLOCKLIST GenerateContentResponse_PromptFeedback_BlockedReason = 3 + // Candidates blocked due to prohibited content. + GenerateContentResponse_PromptFeedback_PROHIBITED_CONTENT GenerateContentResponse_PromptFeedback_BlockedReason = 4 ) // Enum value maps for GenerateContentResponse_PromptFeedback_BlockedReason. @@ -60,11 +65,15 @@ var ( 0: "BLOCKED_REASON_UNSPECIFIED", 1: "SAFETY", 2: "OTHER", + 3: "BLOCKLIST", + 4: "PROHIBITED_CONTENT", } GenerateContentResponse_PromptFeedback_BlockedReason_value = map[string]int32{ "BLOCKED_REASON_UNSPECIFIED": 0, "SAFETY": 1, "OTHER": 2, + "BLOCKLIST": 3, + "PROHIBITED_CONTENT": 4, } ) @@ -1553,6 +1562,10 @@ type GenerateContentRequest struct { // this is a repeated field that contains conversation history + latest // request. Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` + // Optional. The user provided system instructions for the model. + // Note: only text should be used in parts and content in each part will be in + // a separate paragraph. + SystemInstruction *Content `protobuf:"bytes,8,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"` // Optional. A list of `Tools` the model may use to generate the next // response. // @@ -1613,6 +1626,13 @@ func (x *GenerateContentRequest) GetContents() []*Content { return nil } +func (x *GenerateContentRequest) GetSystemInstruction() *Content { + if x != nil { + return x.SystemInstruction + } + return nil +} + func (x *GenerateContentRequest) GetTools() []*Tool { if x != nil { return x.Tools @@ -2089,7 +2109,7 @@ var file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = []byte{ 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0xef, 0x02, + 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0xe4, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, @@ -2097,180 +2117,181 @@ var file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = []byte{ 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, 0x02, 0x52, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 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, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x18, 0x06, 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, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 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, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, + 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5e, 0x0a, + 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 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, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, - 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 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, 0x61, 0x66, - 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x5e, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0xc5, 0x06, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x63, - 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 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, 0x43, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 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, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x68, 0x0a, 0x0e, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x06, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, + 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, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x0f, + 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, + 0x03, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, + 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x68, + 0x0a, 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x86, 0x03, 0x0a, 0x0e, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x78, 0x0a, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x50, 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, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x1a, 0xdf, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, - 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x78, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 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, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, - 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x46, 0x0a, - 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, - 0x0a, 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, - 0x48, 0x45, 0x52, 0x10, 0x02, 0x1a, 0x9f, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xe0, 0x17, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x02, - 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 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, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a, - 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x12, 0xfe, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 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, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22, - 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, - 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x98, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, - 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, - 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, - 0x12, 0xc0, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 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, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 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, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, - 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, - 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, + 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, + 0x48, 0x49, 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, + 0x04, 0x1a, 0x9f, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x32, 0xe0, 0x17, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x94, 0x02, 0x0a, 0x07, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 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, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, + 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x48, 0x3a, 0x01, 0x2a, + 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x12, 0xfe, 0x01, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x52, 0x61, 0x77, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, + 0x42, 0x6f, 0x64, 0x79, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x8e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x12, 0x98, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, + 0x79, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, + 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x61, 0x77, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 0x12, 0xc0, 0x01, 0x0a, + 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 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, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 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, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 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, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x95, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 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, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x33, + 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, + 0xcc, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 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, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 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, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x8c, + 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x95, 0x01, + 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, + 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x39, 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, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, - 0xb5, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, @@ -2278,98 +2299,107 @@ var file_google_cloud_aiplatform_v1_prediction_service_proto_rawDesc = []byte{ 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a, - 0x01, 0x2a, 0x5a, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xb5, 0x02, 0x0a, 0x16, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x57, + 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x48, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, - 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, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, - 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xda, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, - 0x69, 0x6e, 0x12, 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, - 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x30, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, + 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, + 0x30, 0x01, 0x12, 0xda, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 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, 0x45, 0x78, 0x70, 0x6c, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0xda, 0x41, 0x2f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, - 0x61, 0x69, 0x6e, 0x12, 0xa7, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 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, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0xda, 0x41, 0x2f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, + 0xa7, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xaa, 0x01, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x92, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4d, - 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, - 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xbb, 0x02, - 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0xda, + 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x92, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4d, 0x3a, 0x01, 0x2a, 0x22, + 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xbb, 0x02, 0x0a, 0x15, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xb6, 0x01, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x53, - 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, - 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, 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, 0xd4, 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, 0x16, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0xda, + 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x53, 0x3a, 0x01, 0x2a, 0x22, + 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, + 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, 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, 0xd4, 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, 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 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 ( @@ -2451,45 +2481,46 @@ var file_google_cloud_aiplatform_v1_prediction_service_proto_depIdxs = []int32{ 25, // 23: google.cloud.aiplatform.v1.CountTokensRequest.instances:type_name -> google.protobuf.Value 30, // 24: google.cloud.aiplatform.v1.CountTokensRequest.contents:type_name -> google.cloud.aiplatform.v1.Content 30, // 25: google.cloud.aiplatform.v1.GenerateContentRequest.contents:type_name -> google.cloud.aiplatform.v1.Content - 31, // 26: google.cloud.aiplatform.v1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool - 32, // 27: google.cloud.aiplatform.v1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1.SafetySetting - 33, // 28: google.cloud.aiplatform.v1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig - 34, // 29: google.cloud.aiplatform.v1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1.Candidate - 23, // 30: google.cloud.aiplatform.v1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback - 24, // 31: google.cloud.aiplatform.v1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata - 0, // 32: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason - 35, // 33: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating - 1, // 34: google.cloud.aiplatform.v1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1.PredictRequest - 3, // 35: google.cloud.aiplatform.v1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1.RawPredictRequest - 4, // 36: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:input_type -> google.cloud.aiplatform.v1.StreamRawPredictRequest - 5, // 37: google.cloud.aiplatform.v1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1.DirectPredictRequest - 7, // 38: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1.DirectRawPredictRequest - 9, // 39: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectPredictRequest - 11, // 40: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictRequest - 13, // 41: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest - 13, // 42: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest - 15, // 43: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1.StreamingRawPredictRequest - 17, // 44: google.cloud.aiplatform.v1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1.ExplainRequest - 21, // 45: google.cloud.aiplatform.v1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest - 21, // 46: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest - 2, // 47: google.cloud.aiplatform.v1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1.PredictResponse - 26, // 48: google.cloud.aiplatform.v1.PredictionService.RawPredict:output_type -> google.api.HttpBody - 26, // 49: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:output_type -> google.api.HttpBody - 6, // 50: google.cloud.aiplatform.v1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1.DirectPredictResponse - 8, // 51: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1.DirectRawPredictResponse - 10, // 52: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectPredictResponse - 12, // 53: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictResponse - 14, // 54: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse - 14, // 55: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse - 16, // 56: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1.StreamingRawPredictResponse - 18, // 57: google.cloud.aiplatform.v1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1.ExplainResponse - 22, // 58: google.cloud.aiplatform.v1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse - 22, // 59: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse - 47, // [47:60] is the sub-list for method output_type - 34, // [34:47] is the sub-list for method input_type - 34, // [34:34] is the sub-list for extension type_name - 34, // [34:34] is the sub-list for extension extendee - 0, // [0:34] is the sub-list for field type_name + 30, // 26: google.cloud.aiplatform.v1.GenerateContentRequest.system_instruction:type_name -> google.cloud.aiplatform.v1.Content + 31, // 27: google.cloud.aiplatform.v1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1.Tool + 32, // 28: google.cloud.aiplatform.v1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1.SafetySetting + 33, // 29: google.cloud.aiplatform.v1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1.GenerationConfig + 34, // 30: google.cloud.aiplatform.v1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1.Candidate + 23, // 31: google.cloud.aiplatform.v1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback + 24, // 32: google.cloud.aiplatform.v1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.UsageMetadata + 0, // 33: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.BlockedReason + 35, // 34: google.cloud.aiplatform.v1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1.SafetyRating + 1, // 35: google.cloud.aiplatform.v1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1.PredictRequest + 3, // 36: google.cloud.aiplatform.v1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1.RawPredictRequest + 4, // 37: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:input_type -> google.cloud.aiplatform.v1.StreamRawPredictRequest + 5, // 38: google.cloud.aiplatform.v1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1.DirectPredictRequest + 7, // 39: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1.DirectRawPredictRequest + 9, // 40: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectPredictRequest + 11, // 41: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictRequest + 13, // 42: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest + 13, // 43: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1.StreamingPredictRequest + 15, // 44: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1.StreamingRawPredictRequest + 17, // 45: google.cloud.aiplatform.v1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1.ExplainRequest + 21, // 46: google.cloud.aiplatform.v1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest + 21, // 47: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1.GenerateContentRequest + 2, // 48: google.cloud.aiplatform.v1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1.PredictResponse + 26, // 49: google.cloud.aiplatform.v1.PredictionService.RawPredict:output_type -> google.api.HttpBody + 26, // 50: google.cloud.aiplatform.v1.PredictionService.StreamRawPredict:output_type -> google.api.HttpBody + 6, // 51: google.cloud.aiplatform.v1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1.DirectPredictResponse + 8, // 52: google.cloud.aiplatform.v1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1.DirectRawPredictResponse + 10, // 53: google.cloud.aiplatform.v1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectPredictResponse + 12, // 54: google.cloud.aiplatform.v1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1.StreamDirectRawPredictResponse + 14, // 55: google.cloud.aiplatform.v1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse + 14, // 56: google.cloud.aiplatform.v1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1.StreamingPredictResponse + 16, // 57: google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1.StreamingRawPredictResponse + 18, // 58: google.cloud.aiplatform.v1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1.ExplainResponse + 22, // 59: google.cloud.aiplatform.v1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse + 22, // 60: google.cloud.aiplatform.v1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1.GenerateContentResponse + 48, // [48:61] is the sub-list for method output_type + 35, // [35:48] is the sub-list for method input_type + 35, // [35:35] is the sub-list for extension type_name + 35, // [35:35] is the sub-list for extension extendee + 0, // [0:35] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1_prediction_service_proto_init() } @@ -2791,6 +2822,7 @@ func file_google_cloud_aiplatform_v1_prediction_service_proto_init() { } } } + file_google_cloud_aiplatform_v1_prediction_service_proto_msgTypes[20].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/aiplatform/apiv1/aiplatformpb/tool.pb.go b/aiplatform/apiv1/aiplatformpb/tool.pb.go index bd9781c07893..22d98cfbf14f 100755 --- a/aiplatform/apiv1/aiplatformpb/tool.pb.go +++ b/aiplatform/apiv1/aiplatformpb/tool.pb.go @@ -133,8 +133,8 @@ type FunctionDeclaration struct { // Required. The name of the function to call. // Must start with a letter or an underscore. - // Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum - // length of 64. + // Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a + // maximum length of 64. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. Description and purpose of the function. // Model uses it to decide how and whether to call the function. @@ -143,8 +143,10 @@ type FunctionDeclaration struct { // format. Reflects the Open API 3.03 Parameter Object. string Key: the name // of the parameter. Parameter names are case sensitive. Schema Value: the // Schema defining the type used for the parameter. For function with no - // parameters, this can be left unset. Example with 1 required and 1 optional - // parameter: type: OBJECT properties: + // parameters, this can be left unset. Parameter names must start with a + // letter or an underscore and must only contain chars a-z, A-Z, 0-9, or + // underscores with a maximum length of 64. Example with 1 required and 1 + // optional parameter: type: OBJECT properties: // // param1: // type: STRING @@ -422,7 +424,7 @@ type VertexAISearch struct { // Required. Fully-qualified Vertex AI Search's datastore resource ID. // Format: - // projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore} + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` Datastore string `protobuf:"bytes,1,opt,name=datastore,proto3" json:"datastore,omitempty"` } diff --git a/aiplatform/apiv1/auxiliary.go b/aiplatform/apiv1/auxiliary.go index c2f9d0352335..0400daf3a1dc 100755 --- a/aiplatform/apiv1/auxiliary.go +++ b/aiplatform/apiv1/auxiliary.go @@ -28,6 +28,67 @@ import ( locationpb "google.golang.org/genproto/googleapis/cloud/location" ) +// AssignNotebookRuntimeOperation manages a long-running operation from AssignNotebookRuntime. +type AssignNotebookRuntimeOperation 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 *AssignNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + var resp aiplatformpb.NotebookRuntime + 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 *AssignNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + var resp aiplatformpb.NotebookRuntime + 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 *AssignNotebookRuntimeOperation) Metadata() (*aiplatformpb.AssignNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.AssignNotebookRuntimeOperationMetadata + 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 *AssignNotebookRuntimeOperation) 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 *AssignNotebookRuntimeOperation) Name() string { + return op.lro.Name() +} + // BatchCancelPipelineJobsOperation manages a long-running operation from BatchCancelPipelineJobs. type BatchCancelPipelineJobsOperation struct { lro *longrunning.Operation @@ -1248,6 +1309,128 @@ func (op *CreateMetadataStoreOperation) Name() string { return op.lro.Name() } +// CreateNotebookRuntimeTemplateOperation manages a long-running operation from CreateNotebookRuntimeTemplate. +type CreateNotebookRuntimeTemplateOperation 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 *CreateNotebookRuntimeTemplateOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + var resp aiplatformpb.NotebookRuntimeTemplate + 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 *CreateNotebookRuntimeTemplateOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + var resp aiplatformpb.NotebookRuntimeTemplate + 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 *CreateNotebookRuntimeTemplateOperation) Metadata() (*aiplatformpb.CreateNotebookRuntimeTemplateOperationMetadata, error) { + var meta aiplatformpb.CreateNotebookRuntimeTemplateOperationMetadata + 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 *CreateNotebookRuntimeTemplateOperation) 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 *CreateNotebookRuntimeTemplateOperation) Name() string { + return op.lro.Name() +} + +// CreatePersistentResourceOperation manages a long-running operation from CreatePersistentResource. +type CreatePersistentResourceOperation 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 *CreatePersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *CreatePersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *CreatePersistentResourceOperation) Metadata() (*aiplatformpb.CreatePersistentResourceOperationMetadata, error) { + var meta aiplatformpb.CreatePersistentResourceOperationMetadata + 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 *CreatePersistentResourceOperation) 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 *CreatePersistentResourceOperation) Name() string { + return op.lro.Name() +} + // CreateSpecialistPoolOperation manages a long-running operation from CreateSpecialistPool. type CreateSpecialistPoolOperation struct { lro *longrunning.Operation @@ -2631,15 +2814,15 @@ func (op *DeleteNasJobOperation) Name() string { return op.lro.Name() } -// DeletePipelineJobOperation manages a long-running operation from DeletePipelineJob. -type DeletePipelineJobOperation struct { +// DeleteNotebookRuntimeOperation manages a long-running operation from DeleteNotebookRuntime. +type DeleteNotebookRuntimeOperation 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 *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2652,7 +2835,7 @@ func (op *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.Call // 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 *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2660,7 +2843,7 @@ func (op *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.Call // 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 *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteNotebookRuntimeOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2671,25 +2854,25 @@ func (op *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationM } // Done reports whether the long-running operation has completed. -func (op *DeletePipelineJobOperation) Done() bool { +func (op *DeleteNotebookRuntimeOperation) 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 *DeletePipelineJobOperation) Name() string { +func (op *DeleteNotebookRuntimeOperation) Name() string { return op.lro.Name() } -// DeleteSavedQueryOperation manages a long-running operation from DeleteSavedQuery. -type DeleteSavedQueryOperation struct { +// DeleteNotebookRuntimeTemplateOperation manages a long-running operation from DeleteNotebookRuntimeTemplate. +type DeleteNotebookRuntimeTemplateOperation 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 *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeTemplateOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2702,7 +2885,7 @@ func (op *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallO // 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 *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeTemplateOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2710,7 +2893,7 @@ func (op *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallO // 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 *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteNotebookRuntimeTemplateOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2721,25 +2904,25 @@ func (op *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMe } // Done reports whether the long-running operation has completed. -func (op *DeleteSavedQueryOperation) Done() bool { +func (op *DeleteNotebookRuntimeTemplateOperation) 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 *DeleteSavedQueryOperation) Name() string { +func (op *DeleteNotebookRuntimeTemplateOperation) Name() string { return op.lro.Name() } -// DeleteScheduleOperation manages a long-running operation from DeleteSchedule. -type DeleteScheduleOperation struct { +// DeletePersistentResourceOperation manages a long-running operation from DeletePersistentResource. +type DeletePersistentResourceOperation 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 *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2752,7 +2935,7 @@ func (op *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOpt // 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 *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2760,7 +2943,7 @@ func (op *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOpt // 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 *DeleteScheduleOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeletePersistentResourceOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2771,25 +2954,25 @@ func (op *DeleteScheduleOperation) Metadata() (*aiplatformpb.DeleteOperationMeta } // Done reports whether the long-running operation has completed. -func (op *DeleteScheduleOperation) Done() bool { +func (op *DeletePersistentResourceOperation) 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 *DeleteScheduleOperation) Name() string { +func (op *DeletePersistentResourceOperation) Name() string { return op.lro.Name() } -// DeleteSpecialistPoolOperation manages a long-running operation from DeleteSpecialistPool. -type DeleteSpecialistPoolOperation struct { +// DeletePipelineJobOperation manages a long-running operation from DeletePipelineJob. +type DeletePipelineJobOperation 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 *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2802,7 +2985,7 @@ func (op *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.C // 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 *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2810,7 +2993,7 @@ func (op *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.C // 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 *DeleteSpecialistPoolOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2821,25 +3004,25 @@ func (op *DeleteSpecialistPoolOperation) Metadata() (*aiplatformpb.DeleteOperati } // Done reports whether the long-running operation has completed. -func (op *DeleteSpecialistPoolOperation) Done() bool { +func (op *DeletePipelineJobOperation) 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 *DeleteSpecialistPoolOperation) Name() string { +func (op *DeletePipelineJobOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardExperimentOperation manages a long-running operation from DeleteTensorboardExperiment. -type DeleteTensorboardExperimentOperation struct { +// DeleteSavedQueryOperation manages a long-running operation from DeleteSavedQuery. +type DeleteSavedQueryOperation 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 *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2852,7 +3035,7 @@ func (op *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts . // 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 *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2860,7 +3043,7 @@ func (op *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts . // 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 *DeleteTensorboardExperimentOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2871,25 +3054,25 @@ func (op *DeleteTensorboardExperimentOperation) Metadata() (*aiplatformpb.Delete } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardExperimentOperation) Done() bool { +func (op *DeleteSavedQueryOperation) 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 *DeleteTensorboardExperimentOperation) Name() string { +func (op *DeleteSavedQueryOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardOperation manages a long-running operation from DeleteTensorboard. -type DeleteTensorboardOperation struct { +// DeleteScheduleOperation manages a long-running operation from DeleteSchedule. +type DeleteScheduleOperation 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 *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2902,7 +3085,7 @@ func (op *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.Call // 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 *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2910,7 +3093,7 @@ func (op *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.Call // 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 *DeleteTensorboardOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteScheduleOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2921,25 +3104,25 @@ func (op *DeleteTensorboardOperation) Metadata() (*aiplatformpb.DeleteOperationM } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardOperation) Done() bool { +func (op *DeleteScheduleOperation) 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 *DeleteTensorboardOperation) Name() string { +func (op *DeleteScheduleOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardRunOperation manages a long-running operation from DeleteTensorboardRun. -type DeleteTensorboardRunOperation struct { +// DeleteSpecialistPoolOperation manages a long-running operation from DeleteSpecialistPool. +type DeleteSpecialistPoolOperation 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 *DeleteTensorboardRunOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2952,7 +3135,7 @@ func (op *DeleteTensorboardRunOperation) Wait(ctx context.Context, opts ...gax.C // 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 *DeleteTensorboardRunOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -2960,7 +3143,7 @@ func (op *DeleteTensorboardRunOperation) Poll(ctx context.Context, opts ...gax.C // 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 *DeleteTensorboardRunOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteSpecialistPoolOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2971,25 +3154,25 @@ func (op *DeleteTensorboardRunOperation) Metadata() (*aiplatformpb.DeleteOperati } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardRunOperation) Done() bool { +func (op *DeleteSpecialistPoolOperation) 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 *DeleteTensorboardRunOperation) Name() string { +func (op *DeleteSpecialistPoolOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardTimeSeriesOperation manages a long-running operation from DeleteTensorboardTimeSeries. -type DeleteTensorboardTimeSeriesOperation struct { +// DeleteTensorboardExperimentOperation manages a long-running operation from DeleteTensorboardExperiment. +type DeleteTensorboardExperimentOperation 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 *DeleteTensorboardTimeSeriesOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3002,7 +3185,7 @@ func (op *DeleteTensorboardTimeSeriesOperation) Wait(ctx context.Context, opts . // 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 *DeleteTensorboardTimeSeriesOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -3010,7 +3193,7 @@ func (op *DeleteTensorboardTimeSeriesOperation) Poll(ctx context.Context, opts . // 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 *DeleteTensorboardTimeSeriesOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteTensorboardExperimentOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3021,25 +3204,25 @@ func (op *DeleteTensorboardTimeSeriesOperation) Metadata() (*aiplatformpb.Delete } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardTimeSeriesOperation) Done() bool { +func (op *DeleteTensorboardExperimentOperation) 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 *DeleteTensorboardTimeSeriesOperation) Name() string { +func (op *DeleteTensorboardExperimentOperation) Name() string { return op.lro.Name() } -// DeleteTrainingPipelineOperation manages a long-running operation from DeleteTrainingPipeline. -type DeleteTrainingPipelineOperation struct { +// DeleteTensorboardOperation manages a long-running operation from DeleteTensorboard. +type DeleteTensorboardOperation 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 *DeleteTrainingPipelineOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3052,7 +3235,7 @@ func (op *DeleteTrainingPipelineOperation) Wait(ctx context.Context, opts ...gax // 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 *DeleteTrainingPipelineOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { return op.lro.Poll(ctx, nil, opts...) } @@ -3060,7 +3243,7 @@ func (op *DeleteTrainingPipelineOperation) Poll(ctx context.Context, opts ...gax // 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 *DeleteTrainingPipelineOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteTensorboardOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3071,7 +3254,157 @@ func (op *DeleteTrainingPipelineOperation) Metadata() (*aiplatformpb.DeleteOpera } // Done reports whether the long-running operation has completed. -func (op *DeleteTrainingPipelineOperation) Done() bool { +func (op *DeleteTensorboardOperation) 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 *DeleteTensorboardOperation) Name() string { + return op.lro.Name() +} + +// DeleteTensorboardRunOperation manages a long-running operation from DeleteTensorboardRun. +type DeleteTensorboardRunOperation 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 *DeleteTensorboardRunOperation) 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 *DeleteTensorboardRunOperation) 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 *DeleteTensorboardRunOperation) 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 *DeleteTensorboardRunOperation) 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 *DeleteTensorboardRunOperation) Name() string { + return op.lro.Name() +} + +// DeleteTensorboardTimeSeriesOperation manages a long-running operation from DeleteTensorboardTimeSeries. +type DeleteTensorboardTimeSeriesOperation 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 *DeleteTensorboardTimeSeriesOperation) 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 *DeleteTensorboardTimeSeriesOperation) 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 *DeleteTensorboardTimeSeriesOperation) 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 *DeleteTensorboardTimeSeriesOperation) 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 *DeleteTensorboardTimeSeriesOperation) Name() string { + return op.lro.Name() +} + +// DeleteTrainingPipelineOperation manages a long-running operation from DeleteTrainingPipeline. +type DeleteTrainingPipelineOperation 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 *DeleteTrainingPipelineOperation) 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 *DeleteTrainingPipelineOperation) 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 *DeleteTrainingPipelineOperation) 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 *DeleteTrainingPipelineOperation) Done() bool { return op.lro.Done() } @@ -3813,6 +4146,67 @@ func (op *PurgeExecutionsOperation) Name() string { return op.lro.Name() } +// RebootPersistentResourceOperation manages a long-running operation from RebootPersistentResource. +type RebootPersistentResourceOperation 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 *RebootPersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *RebootPersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *RebootPersistentResourceOperation) Metadata() (*aiplatformpb.RebootPersistentResourceOperationMetadata, error) { + var meta aiplatformpb.RebootPersistentResourceOperationMetadata + 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 *RebootPersistentResourceOperation) 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 *RebootPersistentResourceOperation) Name() string { + return op.lro.Name() +} + // RestoreDatasetVersionOperation manages a long-running operation from RestoreDatasetVersion. type RestoreDatasetVersionOperation struct { lro *longrunning.Operation @@ -3874,6 +4268,67 @@ func (op *RestoreDatasetVersionOperation) Name() string { return op.lro.Name() } +// StartNotebookRuntimeOperation manages a long-running operation from StartNotebookRuntime. +type StartNotebookRuntimeOperation 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 *StartNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.StartNotebookRuntimeResponse, error) { + var resp aiplatformpb.StartNotebookRuntimeResponse + 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 *StartNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.StartNotebookRuntimeResponse, error) { + var resp aiplatformpb.StartNotebookRuntimeResponse + 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 *StartNotebookRuntimeOperation) Metadata() (*aiplatformpb.StartNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.StartNotebookRuntimeOperationMetadata + 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 *StartNotebookRuntimeOperation) 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 *StartNotebookRuntimeOperation) Name() string { + return op.lro.Name() +} + // SuggestTrialsOperation manages a long-running operation from SuggestTrials. type SuggestTrialsOperation struct { lro *longrunning.Operation @@ -4545,6 +5000,67 @@ func (op *UpdateModelDeploymentMonitoringJobOperation) Name() string { return op.lro.Name() } +// UpdatePersistentResourceOperation manages a long-running operation from UpdatePersistentResource. +type UpdatePersistentResourceOperation 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 *UpdatePersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *UpdatePersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + var resp aiplatformpb.PersistentResource + 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 *UpdatePersistentResourceOperation) Metadata() (*aiplatformpb.UpdatePersistentResourceOperationMetadata, error) { + var meta aiplatformpb.UpdatePersistentResourceOperationMetadata + 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 *UpdatePersistentResourceOperation) 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 *UpdatePersistentResourceOperation) Name() string { + return op.lro.Name() +} + // UpdateSpecialistPoolOperation manages a long-running operation from UpdateSpecialistPool. type UpdateSpecialistPoolOperation struct { lro *longrunning.Operation @@ -4667,6 +5183,67 @@ func (op *UpdateTensorboardOperation) Name() string { return op.lro.Name() } +// UpgradeNotebookRuntimeOperation manages a long-running operation from UpgradeNotebookRuntime. +type UpgradeNotebookRuntimeOperation 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 *UpgradeNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.UpgradeNotebookRuntimeResponse, error) { + var resp aiplatformpb.UpgradeNotebookRuntimeResponse + 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 *UpgradeNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.UpgradeNotebookRuntimeResponse, error) { + var resp aiplatformpb.UpgradeNotebookRuntimeResponse + 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 *UpgradeNotebookRuntimeOperation) Metadata() (*aiplatformpb.UpgradeNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.UpgradeNotebookRuntimeOperationMetadata + 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 *UpgradeNotebookRuntimeOperation) 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 *UpgradeNotebookRuntimeOperation) Name() string { + return op.lro.Name() +} + // UploadModelOperation manages a long-running operation from UploadModel. type UploadModelOperation struct { lro *longrunning.Operation @@ -6373,6 +6950,100 @@ func (it *NasTrialDetailIterator) takeBuf() interface{} { return b } +// NotebookRuntimeIterator manages a stream of *aiplatformpb.NotebookRuntime. +type NotebookRuntimeIterator struct { + items []*aiplatformpb.NotebookRuntime + 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.NotebookRuntime, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NotebookRuntimeIterator) 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 *NotebookRuntimeIterator) Next() (*aiplatformpb.NotebookRuntime, error) { + var item *aiplatformpb.NotebookRuntime + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NotebookRuntimeIterator) bufLen() int { + return len(it.items) +} + +func (it *NotebookRuntimeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NotebookRuntimeTemplateIterator manages a stream of *aiplatformpb.NotebookRuntimeTemplate. +type NotebookRuntimeTemplateIterator struct { + items []*aiplatformpb.NotebookRuntimeTemplate + 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.NotebookRuntimeTemplate, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NotebookRuntimeTemplateIterator) 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 *NotebookRuntimeTemplateIterator) Next() (*aiplatformpb.NotebookRuntimeTemplate, error) { + var item *aiplatformpb.NotebookRuntimeTemplate + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NotebookRuntimeTemplateIterator) bufLen() int { + return len(it.items) +} + +func (it *NotebookRuntimeTemplateIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // OperationIterator manages a stream of *longrunningpb.Operation. type OperationIterator struct { items []*longrunningpb.Operation @@ -6420,6 +7091,53 @@ func (it *OperationIterator) takeBuf() interface{} { return b } +// PersistentResourceIterator manages a stream of *aiplatformpb.PersistentResource. +type PersistentResourceIterator struct { + items []*aiplatformpb.PersistentResource + 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.PersistentResource, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PersistentResourceIterator) 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 *PersistentResourceIterator) Next() (*aiplatformpb.PersistentResource, error) { + var item *aiplatformpb.PersistentResource + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PersistentResourceIterator) bufLen() int { + return len(it.items) +} + +func (it *PersistentResourceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // PipelineJobIterator manages a stream of *aiplatformpb.PipelineJob. type PipelineJobIterator struct { items []*aiplatformpb.PipelineJob diff --git a/aiplatform/apiv1/gapic_metadata.json b/aiplatform/apiv1/gapic_metadata.json index d109114ea9a6..61deed4a899b 100644 --- a/aiplatform/apiv1/gapic_metadata.json +++ b/aiplatform/apiv1/gapic_metadata.json @@ -1943,6 +1943,204 @@ } } }, + "NotebookService": { + "clients": { + "grpc": { + "libraryClient": "NotebookClient", + "rpcs": { + "AssignNotebookRuntime": { + "methods": [ + "AssignNotebookRuntime" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateNotebookRuntimeTemplate": { + "methods": [ + "CreateNotebookRuntimeTemplate" + ] + }, + "DeleteNotebookRuntime": { + "methods": [ + "DeleteNotebookRuntime" + ] + }, + "DeleteNotebookRuntimeTemplate": { + "methods": [ + "DeleteNotebookRuntimeTemplate" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetNotebookRuntime": { + "methods": [ + "GetNotebookRuntime" + ] + }, + "GetNotebookRuntimeTemplate": { + "methods": [ + "GetNotebookRuntimeTemplate" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListNotebookRuntimeTemplates": { + "methods": [ + "ListNotebookRuntimeTemplates" + ] + }, + "ListNotebookRuntimes": { + "methods": [ + "ListNotebookRuntimes" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "StartNotebookRuntime": { + "methods": [ + "StartNotebookRuntime" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpgradeNotebookRuntime": { + "methods": [ + "UpgradeNotebookRuntime" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, + "PersistentResourceService": { + "clients": { + "grpc": { + "libraryClient": "PersistentResourceClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreatePersistentResource": { + "methods": [ + "CreatePersistentResource" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeletePersistentResource": { + "methods": [ + "DeletePersistentResource" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetPersistentResource": { + "methods": [ + "GetPersistentResource" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListPersistentResources": { + "methods": [ + "ListPersistentResources" + ] + }, + "RebootPersistentResource": { + "methods": [ + "RebootPersistentResource" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpdatePersistentResource": { + "methods": [ + "UpdatePersistentResource" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, "PipelineService": { "clients": { "grpc": { diff --git a/aiplatform/apiv1/notebook_client.go b/aiplatform/apiv1/notebook_client.go new file mode 100755 index 000000000000..f6d56c16c201 --- /dev/null +++ b/aiplatform/apiv1/notebook_client.go @@ -0,0 +1,945 @@ +// 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 newNotebookClientHook clientHook + +// NotebookCallOptions contains the retry settings for each method of NotebookClient. +type NotebookCallOptions struct { + CreateNotebookRuntimeTemplate []gax.CallOption + GetNotebookRuntimeTemplate []gax.CallOption + ListNotebookRuntimeTemplates []gax.CallOption + DeleteNotebookRuntimeTemplate []gax.CallOption + AssignNotebookRuntime []gax.CallOption + GetNotebookRuntime []gax.CallOption + ListNotebookRuntimes []gax.CallOption + DeleteNotebookRuntime []gax.CallOption + UpgradeNotebookRuntime []gax.CallOption + StartNotebookRuntime []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 defaultNotebookGRPCClientOptions() []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(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultNotebookCallOptions() *NotebookCallOptions { + return &NotebookCallOptions{ + CreateNotebookRuntimeTemplate: []gax.CallOption{}, + GetNotebookRuntimeTemplate: []gax.CallOption{}, + ListNotebookRuntimeTemplates: []gax.CallOption{}, + DeleteNotebookRuntimeTemplate: []gax.CallOption{}, + AssignNotebookRuntime: []gax.CallOption{}, + GetNotebookRuntime: []gax.CallOption{}, + ListNotebookRuntimes: []gax.CallOption{}, + DeleteNotebookRuntime: []gax.CallOption{}, + UpgradeNotebookRuntime: []gax.CallOption{}, + StartNotebookRuntime: []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{}, + } +} + +// internalNotebookClient is an interface that defines the methods available from Vertex AI API. +type internalNotebookClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreateNotebookRuntimeTemplate(context.Context, *aiplatformpb.CreateNotebookRuntimeTemplateRequest, ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, error) + CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation + GetNotebookRuntimeTemplate(context.Context, *aiplatformpb.GetNotebookRuntimeTemplateRequest, ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) + ListNotebookRuntimeTemplates(context.Context, *aiplatformpb.ListNotebookRuntimeTemplatesRequest, ...gax.CallOption) *NotebookRuntimeTemplateIterator + DeleteNotebookRuntimeTemplate(context.Context, *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, error) + DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation + AssignNotebookRuntime(context.Context, *aiplatformpb.AssignNotebookRuntimeRequest, ...gax.CallOption) (*AssignNotebookRuntimeOperation, error) + AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation + GetNotebookRuntime(context.Context, *aiplatformpb.GetNotebookRuntimeRequest, ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) + ListNotebookRuntimes(context.Context, *aiplatformpb.ListNotebookRuntimesRequest, ...gax.CallOption) *NotebookRuntimeIterator + DeleteNotebookRuntime(context.Context, *aiplatformpb.DeleteNotebookRuntimeRequest, ...gax.CallOption) (*DeleteNotebookRuntimeOperation, error) + DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation + UpgradeNotebookRuntime(context.Context, *aiplatformpb.UpgradeNotebookRuntimeRequest, ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, error) + UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation + StartNotebookRuntime(context.Context, *aiplatformpb.StartNotebookRuntimeRequest, ...gax.CallOption) (*StartNotebookRuntimeOperation, error) + StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation + 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) +} + +// NotebookClient 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. +// +// The interface for Vertex Notebook service (a.k.a. Colab on Workbench). +type NotebookClient struct { + // The internal transport-dependent client. + internalClient internalNotebookClient + + // The call options for this service. + CallOptions *NotebookCallOptions + + // 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreateNotebookRuntimeTemplate creates a NotebookRuntimeTemplate. +func (c *NotebookClient) CreateNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.CreateNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, error) { + return c.internalClient.CreateNotebookRuntimeTemplate(ctx, req, opts...) +} + +// CreateNotebookRuntimeTemplateOperation returns a new CreateNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created CreateNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *NotebookClient) CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation { + return c.internalClient.CreateNotebookRuntimeTemplateOperation(name) +} + +// GetNotebookRuntimeTemplate gets a NotebookRuntimeTemplate. +func (c *NotebookClient) GetNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + return c.internalClient.GetNotebookRuntimeTemplate(ctx, req, opts...) +} + +// ListNotebookRuntimeTemplates lists NotebookRuntimeTemplates in a Location. +func (c *NotebookClient) ListNotebookRuntimeTemplates(ctx context.Context, req *aiplatformpb.ListNotebookRuntimeTemplatesRequest, opts ...gax.CallOption) *NotebookRuntimeTemplateIterator { + return c.internalClient.ListNotebookRuntimeTemplates(ctx, req, opts...) +} + +// DeleteNotebookRuntimeTemplate deletes a NotebookRuntimeTemplate. +func (c *NotebookClient) DeleteNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, error) { + return c.internalClient.DeleteNotebookRuntimeTemplate(ctx, req, opts...) +} + +// DeleteNotebookRuntimeTemplateOperation returns a new DeleteNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *NotebookClient) DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation { + return c.internalClient.DeleteNotebookRuntimeTemplateOperation(name) +} + +// AssignNotebookRuntime assigns a NotebookRuntime to a user for a particular Notebook file. This +// method will either returns an existing assignment or generates a new one. +func (c *NotebookClient) AssignNotebookRuntime(ctx context.Context, req *aiplatformpb.AssignNotebookRuntimeRequest, opts ...gax.CallOption) (*AssignNotebookRuntimeOperation, error) { + return c.internalClient.AssignNotebookRuntime(ctx, req, opts...) +} + +// AssignNotebookRuntimeOperation returns a new AssignNotebookRuntimeOperation from a given name. +// The name must be that of a previously created AssignNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation { + return c.internalClient.AssignNotebookRuntimeOperation(name) +} + +// GetNotebookRuntime gets a NotebookRuntime. +func (c *NotebookClient) GetNotebookRuntime(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + return c.internalClient.GetNotebookRuntime(ctx, req, opts...) +} + +// ListNotebookRuntimes lists NotebookRuntimes in a Location. +func (c *NotebookClient) ListNotebookRuntimes(ctx context.Context, req *aiplatformpb.ListNotebookRuntimesRequest, opts ...gax.CallOption) *NotebookRuntimeIterator { + return c.internalClient.ListNotebookRuntimes(ctx, req, opts...) +} + +// DeleteNotebookRuntime deletes a NotebookRuntime. +func (c *NotebookClient) DeleteNotebookRuntime(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeOperation, error) { + return c.internalClient.DeleteNotebookRuntime(ctx, req, opts...) +} + +// DeleteNotebookRuntimeOperation returns a new DeleteNotebookRuntimeOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation { + return c.internalClient.DeleteNotebookRuntimeOperation(name) +} + +// UpgradeNotebookRuntime upgrades a NotebookRuntime. +func (c *NotebookClient) UpgradeNotebookRuntime(ctx context.Context, req *aiplatformpb.UpgradeNotebookRuntimeRequest, opts ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, error) { + return c.internalClient.UpgradeNotebookRuntime(ctx, req, opts...) +} + +// UpgradeNotebookRuntimeOperation returns a new UpgradeNotebookRuntimeOperation from a given name. +// The name must be that of a previously created UpgradeNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation { + return c.internalClient.UpgradeNotebookRuntimeOperation(name) +} + +// StartNotebookRuntime starts a NotebookRuntime. +func (c *NotebookClient) StartNotebookRuntime(ctx context.Context, req *aiplatformpb.StartNotebookRuntimeRequest, opts ...gax.CallOption) (*StartNotebookRuntimeOperation, error) { + return c.internalClient.StartNotebookRuntime(ctx, req, opts...) +} + +// StartNotebookRuntimeOperation returns a new StartNotebookRuntimeOperation from a given name. +// The name must be that of a previously created StartNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation { + return c.internalClient.StartNotebookRuntimeOperation(name) +} + +// GetLocation gets information about a location. +func (c *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.WaitOperation(ctx, req, opts...) +} + +// notebookGRPCClient 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 notebookGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing NotebookClient + CallOptions **NotebookCallOptions + + // The gRPC API client. + notebookClient aiplatformpb.NotebookServiceClient + + // 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 +} + +// NewNotebookClient creates a new notebook service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// The interface for Vertex Notebook service (a.k.a. Colab on Workbench). +func NewNotebookClient(ctx context.Context, opts ...option.ClientOption) (*NotebookClient, error) { + clientOpts := defaultNotebookGRPCClientOptions() + if newNotebookClientHook != nil { + hookOpts, err := newNotebookClientHook(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 := NotebookClient{CallOptions: defaultNotebookCallOptions()} + + c := ¬ebookGRPCClient{ + connPool: connPool, + notebookClient: aiplatformpb.NewNotebookServiceClient(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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) Close() error { + return c.connPool.Close() +} + +func (c *notebookGRPCClient) CreateNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.CreateNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, 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).CreateNotebookRuntimeTemplate[0:len((*c.CallOptions).CreateNotebookRuntimeTemplate):len((*c.CallOptions).CreateNotebookRuntimeTemplate)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.CreateNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) GetNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, 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).GetNotebookRuntimeTemplate[0:len((*c.CallOptions).GetNotebookRuntimeTemplate):len((*c.CallOptions).GetNotebookRuntimeTemplate)], opts...) + var resp *aiplatformpb.NotebookRuntimeTemplate + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.GetNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *notebookGRPCClient) ListNotebookRuntimeTemplates(ctx context.Context, req *aiplatformpb.ListNotebookRuntimeTemplatesRequest, opts ...gax.CallOption) *NotebookRuntimeTemplateIterator { + 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).ListNotebookRuntimeTemplates[0:len((*c.CallOptions).ListNotebookRuntimeTemplates):len((*c.CallOptions).ListNotebookRuntimeTemplates)], opts...) + it := &NotebookRuntimeTemplateIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimeTemplatesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntimeTemplate, string, error) { + resp := &aiplatformpb.ListNotebookRuntimeTemplatesResponse{} + 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.notebookClient.ListNotebookRuntimeTemplates(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetNotebookRuntimeTemplates(), 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 *notebookGRPCClient) DeleteNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, 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).DeleteNotebookRuntimeTemplate[0:len((*c.CallOptions).DeleteNotebookRuntimeTemplate):len((*c.CallOptions).DeleteNotebookRuntimeTemplate)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.DeleteNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) AssignNotebookRuntime(ctx context.Context, req *aiplatformpb.AssignNotebookRuntimeRequest, opts ...gax.CallOption) (*AssignNotebookRuntimeOperation, 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).AssignNotebookRuntime[0:len((*c.CallOptions).AssignNotebookRuntime):len((*c.CallOptions).AssignNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.AssignNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) GetNotebookRuntime(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, 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).GetNotebookRuntime[0:len((*c.CallOptions).GetNotebookRuntime):len((*c.CallOptions).GetNotebookRuntime)], opts...) + var resp *aiplatformpb.NotebookRuntime + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.GetNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *notebookGRPCClient) ListNotebookRuntimes(ctx context.Context, req *aiplatformpb.ListNotebookRuntimesRequest, opts ...gax.CallOption) *NotebookRuntimeIterator { + 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).ListNotebookRuntimes[0:len((*c.CallOptions).ListNotebookRuntimes):len((*c.CallOptions).ListNotebookRuntimes)], opts...) + it := &NotebookRuntimeIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntime, string, error) { + resp := &aiplatformpb.ListNotebookRuntimesResponse{} + 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.notebookClient.ListNotebookRuntimes(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetNotebookRuntimes(), 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 *notebookGRPCClient) DeleteNotebookRuntime(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeOperation, 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).DeleteNotebookRuntime[0:len((*c.CallOptions).DeleteNotebookRuntime):len((*c.CallOptions).DeleteNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.DeleteNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) UpgradeNotebookRuntime(ctx context.Context, req *aiplatformpb.UpgradeNotebookRuntimeRequest, opts ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, 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).UpgradeNotebookRuntime[0:len((*c.CallOptions).UpgradeNotebookRuntime):len((*c.CallOptions).UpgradeNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.UpgradeNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) StartNotebookRuntime(ctx context.Context, req *aiplatformpb.StartNotebookRuntimeRequest, opts ...gax.CallOption) (*StartNotebookRuntimeOperation, 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).StartNotebookRuntime[0:len((*c.CallOptions).StartNotebookRuntime):len((*c.CallOptions).StartNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.StartNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 +} + +// AssignNotebookRuntimeOperation returns a new AssignNotebookRuntimeOperation from a given name. +// The name must be that of a previously created AssignNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation { + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateNotebookRuntimeTemplateOperation returns a new CreateNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created CreateNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookGRPCClient) CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation { + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteNotebookRuntimeOperation returns a new DeleteNotebookRuntimeOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation { + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteNotebookRuntimeTemplateOperation returns a new DeleteNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookGRPCClient) DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation { + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// StartNotebookRuntimeOperation returns a new StartNotebookRuntimeOperation from a given name. +// The name must be that of a previously created StartNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation { + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpgradeNotebookRuntimeOperation returns a new UpgradeNotebookRuntimeOperation from a given name. +// The name must be that of a previously created UpgradeNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation { + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} diff --git a/aiplatform/apiv1/notebook_client_example_test.go b/aiplatform/apiv1/notebook_client_example_test.go new file mode 100644 index 000000000000..22b56ede71db --- /dev/null +++ b/aiplatform/apiv1/notebook_client_example_test.go @@ -0,0 +1,615 @@ +// 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 ExampleNewNotebookClient() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNotebookClient_AssignNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AssignNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#AssignNotebookRuntimeRequest. + } + op, err := c.AssignNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_CreateNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreateNotebookRuntimeTemplateRequest. + } + op, err := c.CreateNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_DeleteNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteNotebookRuntimeRequest. + } + op, err := c.DeleteNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleNotebookClient_DeleteNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteNotebookRuntimeTemplateRequest. + } + op, err := c.DeleteNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleNotebookClient_GetNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetNotebookRuntimeRequest. + } + resp, err := c.GetNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_GetNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetNotebookRuntimeTemplateRequest. + } + resp, err := c.GetNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_ListNotebookRuntimeTemplates() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimeTemplatesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListNotebookRuntimeTemplatesRequest. + } + it := c.ListNotebookRuntimeTemplates(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.ListNotebookRuntimeTemplatesResponse) + } +} + +func ExampleNotebookClient_ListNotebookRuntimes() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListNotebookRuntimesRequest. + } + it := c.ListNotebookRuntimes(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.ListNotebookRuntimesResponse) + } +} + +func ExampleNotebookClient_StartNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.StartNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#StartNotebookRuntimeRequest. + } + op, err := c.StartNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_UpgradeNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpgradeNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpgradeNotebookRuntimeRequest. + } + op, err := c.UpgradeNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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/persistent_resource_client.go b/aiplatform/apiv1/persistent_resource_client.go new file mode 100755 index 000000000000..f80efa1b4398 --- /dev/null +++ b/aiplatform/apiv1/persistent_resource_client.go @@ -0,0 +1,778 @@ +// 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 newPersistentResourceClientHook clientHook + +// PersistentResourceCallOptions contains the retry settings for each method of PersistentResourceClient. +type PersistentResourceCallOptions struct { + CreatePersistentResource []gax.CallOption + GetPersistentResource []gax.CallOption + ListPersistentResources []gax.CallOption + DeletePersistentResource []gax.CallOption + UpdatePersistentResource []gax.CallOption + RebootPersistentResource []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 defaultPersistentResourceGRPCClientOptions() []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(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultPersistentResourceCallOptions() *PersistentResourceCallOptions { + return &PersistentResourceCallOptions{ + CreatePersistentResource: []gax.CallOption{}, + GetPersistentResource: []gax.CallOption{}, + ListPersistentResources: []gax.CallOption{}, + DeletePersistentResource: []gax.CallOption{}, + UpdatePersistentResource: []gax.CallOption{}, + RebootPersistentResource: []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{}, + } +} + +// internalPersistentResourceClient is an interface that defines the methods available from Vertex AI API. +type internalPersistentResourceClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreatePersistentResource(context.Context, *aiplatformpb.CreatePersistentResourceRequest, ...gax.CallOption) (*CreatePersistentResourceOperation, error) + CreatePersistentResourceOperation(name string) *CreatePersistentResourceOperation + GetPersistentResource(context.Context, *aiplatformpb.GetPersistentResourceRequest, ...gax.CallOption) (*aiplatformpb.PersistentResource, error) + ListPersistentResources(context.Context, *aiplatformpb.ListPersistentResourcesRequest, ...gax.CallOption) *PersistentResourceIterator + DeletePersistentResource(context.Context, *aiplatformpb.DeletePersistentResourceRequest, ...gax.CallOption) (*DeletePersistentResourceOperation, error) + DeletePersistentResourceOperation(name string) *DeletePersistentResourceOperation + UpdatePersistentResource(context.Context, *aiplatformpb.UpdatePersistentResourceRequest, ...gax.CallOption) (*UpdatePersistentResourceOperation, error) + UpdatePersistentResourceOperation(name string) *UpdatePersistentResourceOperation + RebootPersistentResource(context.Context, *aiplatformpb.RebootPersistentResourceRequest, ...gax.CallOption) (*RebootPersistentResourceOperation, error) + RebootPersistentResourceOperation(name string) *RebootPersistentResourceOperation + 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) +} + +// PersistentResourceClient 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 Vertex AI’s machine learning PersistentResource. +type PersistentResourceClient struct { + // The internal transport-dependent client. + internalClient internalPersistentResourceClient + + // The call options for this service. + CallOptions *PersistentResourceCallOptions + + // 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreatePersistentResource creates a PersistentResource. +func (c *PersistentResourceClient) CreatePersistentResource(ctx context.Context, req *aiplatformpb.CreatePersistentResourceRequest, opts ...gax.CallOption) (*CreatePersistentResourceOperation, error) { + return c.internalClient.CreatePersistentResource(ctx, req, opts...) +} + +// CreatePersistentResourceOperation returns a new CreatePersistentResourceOperation from a given name. +// The name must be that of a previously created CreatePersistentResourceOperation, possibly from a different process. +func (c *PersistentResourceClient) CreatePersistentResourceOperation(name string) *CreatePersistentResourceOperation { + return c.internalClient.CreatePersistentResourceOperation(name) +} + +// GetPersistentResource gets a PersistentResource. +func (c *PersistentResourceClient) GetPersistentResource(ctx context.Context, req *aiplatformpb.GetPersistentResourceRequest, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, error) { + return c.internalClient.GetPersistentResource(ctx, req, opts...) +} + +// ListPersistentResources lists PersistentResources in a Location. +func (c *PersistentResourceClient) ListPersistentResources(ctx context.Context, req *aiplatformpb.ListPersistentResourcesRequest, opts ...gax.CallOption) *PersistentResourceIterator { + return c.internalClient.ListPersistentResources(ctx, req, opts...) +} + +// DeletePersistentResource deletes a PersistentResource. +func (c *PersistentResourceClient) DeletePersistentResource(ctx context.Context, req *aiplatformpb.DeletePersistentResourceRequest, opts ...gax.CallOption) (*DeletePersistentResourceOperation, error) { + return c.internalClient.DeletePersistentResource(ctx, req, opts...) +} + +// DeletePersistentResourceOperation returns a new DeletePersistentResourceOperation from a given name. +// The name must be that of a previously created DeletePersistentResourceOperation, possibly from a different process. +func (c *PersistentResourceClient) DeletePersistentResourceOperation(name string) *DeletePersistentResourceOperation { + return c.internalClient.DeletePersistentResourceOperation(name) +} + +// UpdatePersistentResource updates a PersistentResource. +func (c *PersistentResourceClient) UpdatePersistentResource(ctx context.Context, req *aiplatformpb.UpdatePersistentResourceRequest, opts ...gax.CallOption) (*UpdatePersistentResourceOperation, error) { + return c.internalClient.UpdatePersistentResource(ctx, req, opts...) +} + +// UpdatePersistentResourceOperation returns a new UpdatePersistentResourceOperation from a given name. +// The name must be that of a previously created UpdatePersistentResourceOperation, possibly from a different process. +func (c *PersistentResourceClient) UpdatePersistentResourceOperation(name string) *UpdatePersistentResourceOperation { + return c.internalClient.UpdatePersistentResourceOperation(name) +} + +// RebootPersistentResource reboots a PersistentResource. +func (c *PersistentResourceClient) RebootPersistentResource(ctx context.Context, req *aiplatformpb.RebootPersistentResourceRequest, opts ...gax.CallOption) (*RebootPersistentResourceOperation, error) { + return c.internalClient.RebootPersistentResource(ctx, req, opts...) +} + +// RebootPersistentResourceOperation returns a new RebootPersistentResourceOperation from a given name. +// The name must be that of a previously created RebootPersistentResourceOperation, possibly from a different process. +func (c *PersistentResourceClient) RebootPersistentResourceOperation(name string) *RebootPersistentResourceOperation { + return c.internalClient.RebootPersistentResourceOperation(name) +} + +// GetLocation gets information about a location. +func (c *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) 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 *PersistentResourceClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.WaitOperation(ctx, req, opts...) +} + +// persistentResourceGRPCClient 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 persistentResourceGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing PersistentResourceClient + CallOptions **PersistentResourceCallOptions + + // The gRPC API client. + persistentResourceClient aiplatformpb.PersistentResourceServiceClient + + // 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 +} + +// NewPersistentResourceClient creates a new persistent resource 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 Vertex AI’s machine learning PersistentResource. +func NewPersistentResourceClient(ctx context.Context, opts ...option.ClientOption) (*PersistentResourceClient, error) { + clientOpts := defaultPersistentResourceGRPCClientOptions() + if newPersistentResourceClientHook != nil { + hookOpts, err := newPersistentResourceClientHook(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 := PersistentResourceClient{CallOptions: defaultPersistentResourceCallOptions()} + + c := &persistentResourceGRPCClient{ + connPool: connPool, + persistentResourceClient: aiplatformpb.NewPersistentResourceServiceClient(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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) Close() error { + return c.connPool.Close() +} + +func (c *persistentResourceGRPCClient) CreatePersistentResource(ctx context.Context, req *aiplatformpb.CreatePersistentResourceRequest, opts ...gax.CallOption) (*CreatePersistentResourceOperation, 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).CreatePersistentResource[0:len((*c.CallOptions).CreatePersistentResource):len((*c.CallOptions).CreatePersistentResource)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.persistentResourceClient.CreatePersistentResource(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreatePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *persistentResourceGRPCClient) GetPersistentResource(ctx context.Context, req *aiplatformpb.GetPersistentResourceRequest, opts ...gax.CallOption) (*aiplatformpb.PersistentResource, 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).GetPersistentResource[0:len((*c.CallOptions).GetPersistentResource):len((*c.CallOptions).GetPersistentResource)], opts...) + var resp *aiplatformpb.PersistentResource + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.persistentResourceClient.GetPersistentResource(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *persistentResourceGRPCClient) ListPersistentResources(ctx context.Context, req *aiplatformpb.ListPersistentResourcesRequest, opts ...gax.CallOption) *PersistentResourceIterator { + 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).ListPersistentResources[0:len((*c.CallOptions).ListPersistentResources):len((*c.CallOptions).ListPersistentResources)], opts...) + it := &PersistentResourceIterator{} + req = proto.Clone(req).(*aiplatformpb.ListPersistentResourcesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.PersistentResource, string, error) { + resp := &aiplatformpb.ListPersistentResourcesResponse{} + 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.persistentResourceClient.ListPersistentResources(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetPersistentResources(), 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 *persistentResourceGRPCClient) DeletePersistentResource(ctx context.Context, req *aiplatformpb.DeletePersistentResourceRequest, opts ...gax.CallOption) (*DeletePersistentResourceOperation, 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).DeletePersistentResource[0:len((*c.CallOptions).DeletePersistentResource):len((*c.CallOptions).DeletePersistentResource)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.persistentResourceClient.DeletePersistentResource(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeletePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *persistentResourceGRPCClient) UpdatePersistentResource(ctx context.Context, req *aiplatformpb.UpdatePersistentResourceRequest, opts ...gax.CallOption) (*UpdatePersistentResourceOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "persistent_resource.name", url.QueryEscape(req.GetPersistentResource().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdatePersistentResource[0:len((*c.CallOptions).UpdatePersistentResource):len((*c.CallOptions).UpdatePersistentResource)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.persistentResourceClient.UpdatePersistentResource(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdatePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *persistentResourceGRPCClient) RebootPersistentResource(ctx context.Context, req *aiplatformpb.RebootPersistentResourceRequest, opts ...gax.CallOption) (*RebootPersistentResourceOperation, 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).RebootPersistentResource[0:len((*c.CallOptions).RebootPersistentResource):len((*c.CallOptions).RebootPersistentResource)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.persistentResourceClient.RebootPersistentResource(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &RebootPersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 *persistentResourceGRPCClient) 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 +} + +// CreatePersistentResourceOperation returns a new CreatePersistentResourceOperation from a given name. +// The name must be that of a previously created CreatePersistentResourceOperation, possibly from a different process. +func (c *persistentResourceGRPCClient) CreatePersistentResourceOperation(name string) *CreatePersistentResourceOperation { + return &CreatePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeletePersistentResourceOperation returns a new DeletePersistentResourceOperation from a given name. +// The name must be that of a previously created DeletePersistentResourceOperation, possibly from a different process. +func (c *persistentResourceGRPCClient) DeletePersistentResourceOperation(name string) *DeletePersistentResourceOperation { + return &DeletePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// RebootPersistentResourceOperation returns a new RebootPersistentResourceOperation from a given name. +// The name must be that of a previously created RebootPersistentResourceOperation, possibly from a different process. +func (c *persistentResourceGRPCClient) RebootPersistentResourceOperation(name string) *RebootPersistentResourceOperation { + return &RebootPersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdatePersistentResourceOperation returns a new UpdatePersistentResourceOperation from a given name. +// The name must be that of a previously created UpdatePersistentResourceOperation, possibly from a different process. +func (c *persistentResourceGRPCClient) UpdatePersistentResourceOperation(name string) *UpdatePersistentResourceOperation { + return &UpdatePersistentResourceOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} diff --git a/aiplatform/apiv1/persistent_resource_client_example_test.go b/aiplatform/apiv1/persistent_resource_client_example_test.go new file mode 100644 index 000000000000..668ceb1f2ca5 --- /dev/null +++ b/aiplatform/apiv1/persistent_resource_client_example_test.go @@ -0,0 +1,495 @@ +// 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 ExampleNewPersistentResourceClient() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExamplePersistentResourceClient_CreatePersistentResource() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreatePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreatePersistentResourceRequest. + } + op, err := c.CreatePersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExamplePersistentResourceClient_DeletePersistentResource() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeletePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeletePersistentResourceRequest. + } + op, err := c.DeletePersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExamplePersistentResourceClient_GetPersistentResource() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetPersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetPersistentResourceRequest. + } + resp, err := c.GetPersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExamplePersistentResourceClient_ListPersistentResources() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListPersistentResourcesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListPersistentResourcesRequest. + } + it := c.ListPersistentResources(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.ListPersistentResourcesResponse) + } +} + +func ExamplePersistentResourceClient_RebootPersistentResource() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.RebootPersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#RebootPersistentResourceRequest. + } + op, err := c.RebootPersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExamplePersistentResourceClient_UpdatePersistentResource() { + 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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpdatePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpdatePersistentResourceRequest. + } + op, err := c.UpdatePersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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 ExamplePersistentResourceClient_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.NewPersistentResourceClient(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/apiv1beta1/aiplatformpb/content.pb.go b/aiplatform/apiv1beta1/aiplatformpb/content.pb.go index cd60afed8ffe..3e5b04c95d72 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/content.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/content.pb.go @@ -160,6 +160,59 @@ func (SafetySetting_HarmBlockThreshold) EnumDescriptor() ([]byte, []int) { return file_google_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{6, 0} } +// Probability vs severity. +type SafetySetting_HarmBlockMethod int32 + +const ( + // The harm block method is unspecified. + SafetySetting_HARM_BLOCK_METHOD_UNSPECIFIED SafetySetting_HarmBlockMethod = 0 + // The harm block method uses both probability and severity scores. + SafetySetting_SEVERITY SafetySetting_HarmBlockMethod = 1 + // The harm block method uses the probability score. + SafetySetting_PROBABILITY SafetySetting_HarmBlockMethod = 2 +) + +// Enum value maps for SafetySetting_HarmBlockMethod. +var ( + SafetySetting_HarmBlockMethod_name = map[int32]string{ + 0: "HARM_BLOCK_METHOD_UNSPECIFIED", + 1: "SEVERITY", + 2: "PROBABILITY", + } + SafetySetting_HarmBlockMethod_value = map[string]int32{ + "HARM_BLOCK_METHOD_UNSPECIFIED": 0, + "SEVERITY": 1, + "PROBABILITY": 2, + } +) + +func (x SafetySetting_HarmBlockMethod) Enum() *SafetySetting_HarmBlockMethod { + p := new(SafetySetting_HarmBlockMethod) + *p = x + return p +} + +func (x SafetySetting_HarmBlockMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SafetySetting_HarmBlockMethod) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[2].Descriptor() +} + +func (SafetySetting_HarmBlockMethod) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[2] +} + +func (x SafetySetting_HarmBlockMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SafetySetting_HarmBlockMethod.Descriptor instead. +func (SafetySetting_HarmBlockMethod) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{6, 1} +} + // Harm probability levels in the content. type SafetyRating_HarmProbability int32 @@ -205,11 +258,11 @@ func (x SafetyRating_HarmProbability) String() string { } func (SafetyRating_HarmProbability) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[2].Descriptor() + return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[3].Descriptor() } func (SafetyRating_HarmProbability) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[2] + return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[3] } func (x SafetyRating_HarmProbability) Number() protoreflect.EnumNumber { @@ -266,11 +319,11 @@ func (x SafetyRating_HarmSeverity) String() string { } func (SafetyRating_HarmSeverity) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[3].Descriptor() + return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[4].Descriptor() } func (SafetyRating_HarmSeverity) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[3] + return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[4] } func (x SafetyRating_HarmSeverity) Number() protoreflect.EnumNumber { @@ -350,11 +403,11 @@ func (x Candidate_FinishReason) String() string { } func (Candidate_FinishReason) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[4].Descriptor() + return file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[5].Descriptor() } func (Candidate_FinishReason) Type() protoreflect.EnumType { - return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[4] + return &file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes[5] } func (x Candidate_FinishReason) Number() protoreflect.EnumNumber { @@ -602,9 +655,10 @@ type Part_VideoMetadata struct { func (*Part_VideoMetadata) isPart_Metadata() {} -// Raw media bytes. +// Content blob. // -// Text should not be sent as raw bytes, use the 'text' field. +// It's preferred to send as [text][google.cloud.aiplatform.v1beta1.Part.text] +// directly rather than raw bytes. type Blob struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -612,7 +666,7 @@ type Blob struct { // Required. The IANA standard MIME type of the source data. MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` - // Required. Raw bytes for media formats. + // Required. Raw bytes. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } @@ -796,6 +850,18 @@ type GenerationConfig struct { MaxOutputTokens *int32 `protobuf:"varint,5,opt,name=max_output_tokens,json=maxOutputTokens,proto3,oneof" json:"max_output_tokens,omitempty"` // Optional. Stop sequences. StopSequences []string `protobuf:"bytes,6,rep,name=stop_sequences,json=stopSequences,proto3" json:"stop_sequences,omitempty"` + // Optional. Positive penalties. + PresencePenalty *float32 `protobuf:"fixed32,8,opt,name=presence_penalty,json=presencePenalty,proto3,oneof" json:"presence_penalty,omitempty"` + // Optional. Frequency penalties. + FrequencyPenalty *float32 `protobuf:"fixed32,9,opt,name=frequency_penalty,json=frequencyPenalty,proto3,oneof" json:"frequency_penalty,omitempty"` + // Optional. Output response mimetype of the generated candidate text. + // Supported mimetype: + // - `text/plain`: (default) Text output. + // - `application/json`: JSON response in the candidates. + // The model needs to be prompted to output the appropriate response type, + // otherwise the behavior is undefined. + // This is a preview feature. + ResponseMimeType string `protobuf:"bytes,13,opt,name=response_mime_type,json=responseMimeType,proto3" json:"response_mime_type,omitempty"` } func (x *GenerationConfig) Reset() { @@ -872,6 +938,27 @@ func (x *GenerationConfig) GetStopSequences() []string { return nil } +func (x *GenerationConfig) GetPresencePenalty() float32 { + if x != nil && x.PresencePenalty != nil { + return *x.PresencePenalty + } + return 0 +} + +func (x *GenerationConfig) GetFrequencyPenalty() float32 { + if x != nil && x.FrequencyPenalty != nil { + return *x.FrequencyPenalty + } + return 0 +} + +func (x *GenerationConfig) GetResponseMimeType() string { + if x != nil { + return x.ResponseMimeType + } + return "" +} + // Safety settings. type SafetySetting struct { state protoimpl.MessageState @@ -882,6 +969,9 @@ type SafetySetting struct { Category HarmCategory `protobuf:"varint,1,opt,name=category,proto3,enum=google.cloud.aiplatform.v1beta1.HarmCategory" json:"category,omitempty"` // Required. The harm block threshold. Threshold SafetySetting_HarmBlockThreshold `protobuf:"varint,2,opt,name=threshold,proto3,enum=google.cloud.aiplatform.v1beta1.SafetySetting_HarmBlockThreshold" json:"threshold,omitempty"` + // Optional. Specify if the threshold is used for probability or severity + // score. If not specified, the threshold is used for probability score. + Method SafetySetting_HarmBlockMethod `protobuf:"varint,4,opt,name=method,proto3,enum=google.cloud.aiplatform.v1beta1.SafetySetting_HarmBlockMethod" json:"method,omitempty"` } func (x *SafetySetting) Reset() { @@ -930,6 +1020,13 @@ func (x *SafetySetting) GetThreshold() SafetySetting_HarmBlockThreshold { return SafetySetting_HARM_BLOCK_THRESHOLD_UNSPECIFIED } +func (x *SafetySetting) GetMethod() SafetySetting_HarmBlockMethod { + if x != nil { + return x.Method + } + return SafetySetting_HARM_BLOCK_METHOD_UNSPECIFIED +} + // Safety rating corresponding to the generated content. type SafetyRating struct { state protoimpl.MessageState @@ -1353,6 +1450,7 @@ type GroundingAttribution struct { // Types that are assignable to Reference: // // *GroundingAttribution_Web_ + // *GroundingAttribution_RetrievedContext_ Reference isGroundingAttribution_Reference `protobuf_oneof:"reference"` // Output only. Segment of the content this attribution belongs to. Segment *Segment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"` @@ -1407,6 +1505,13 @@ func (x *GroundingAttribution) GetWeb() *GroundingAttribution_Web { return nil } +func (x *GroundingAttribution) GetRetrievedContext() *GroundingAttribution_RetrievedContext { + if x, ok := x.GetReference().(*GroundingAttribution_RetrievedContext_); ok { + return x.RetrievedContext + } + return nil +} + func (x *GroundingAttribution) GetSegment() *Segment { if x != nil { return x.Segment @@ -1430,8 +1535,15 @@ type GroundingAttribution_Web_ struct { Web *GroundingAttribution_Web `protobuf:"bytes,3,opt,name=web,proto3,oneof"` } +type GroundingAttribution_RetrievedContext_ struct { + // Optional. Attribution from context retrieved by the retrieval tools. + RetrievedContext *GroundingAttribution_RetrievedContext `protobuf:"bytes,4,opt,name=retrieved_context,json=retrievedContext,proto3,oneof"` +} + func (*GroundingAttribution_Web_) isGroundingAttribution_Reference() {} +func (*GroundingAttribution_RetrievedContext_) isGroundingAttribution_Reference() {} + // Metadata returned to client when grounding is enabled. type GroundingMetadata struct { state protoimpl.MessageState @@ -1440,6 +1552,8 @@ type GroundingMetadata struct { // Optional. Web search queries for the following-up web search. WebSearchQueries []string `protobuf:"bytes,1,rep,name=web_search_queries,json=webSearchQueries,proto3" json:"web_search_queries,omitempty"` + // Optional. Queries executed by the retrieval tools. + RetrievalQueries []string `protobuf:"bytes,3,rep,name=retrieval_queries,json=retrievalQueries,proto3" json:"retrieval_queries,omitempty"` // Optional. List of grounding attributions. GroundingAttributions []*GroundingAttribution `protobuf:"bytes,2,rep,name=grounding_attributions,json=groundingAttributions,proto3" json:"grounding_attributions,omitempty"` } @@ -1483,6 +1597,13 @@ func (x *GroundingMetadata) GetWebSearchQueries() []string { return nil } +func (x *GroundingMetadata) GetRetrievalQueries() []string { + if x != nil { + return x.RetrievalQueries + } + return nil +} + func (x *GroundingMetadata) GetGroundingAttributions() []*GroundingAttribution { if x != nil { return x.GroundingAttributions @@ -1548,6 +1669,64 @@ func (x *GroundingAttribution_Web) GetTitle() string { return "" } +// Attribution from context retrieved by the retrieval tools. +type GroundingAttribution_RetrievedContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. URI reference of the attribution. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Output only. Title of the attribution. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *GroundingAttribution_RetrievedContext) Reset() { + *x = GroundingAttribution_RetrievedContext{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroundingAttribution_RetrievedContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroundingAttribution_RetrievedContext) ProtoMessage() {} + +func (x *GroundingAttribution_RetrievedContext) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_content_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 GroundingAttribution_RetrievedContext.ProtoReflect.Descriptor instead. +func (*GroundingAttribution_RetrievedContext) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP(), []int{12, 1} +} + +func (x *GroundingAttribution_RetrievedContext) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *GroundingAttribution_RetrievedContext) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + var File_google_cloud_aiplatform_v1beta1_content_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_content_proto_rawDesc = []byte{ @@ -1620,7 +1799,7 @@ var file_google_cloud_aiplatform_v1beta1_content_proto_rawDesc = []byte{ 0x66, 0x66, 0x73, 0x65, 0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x64, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xdf, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xa9, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, @@ -1637,175 +1816,214 @@ var file_google_cloud_aiplatform_v1beta1_content_proto_rawDesc = []byte{ 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x6f, - 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, - 0x6f, 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x0d, 0x53, 0x61, 0x66, - 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, - 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x09, 0x74, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, - 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x22, 0x94, 0x01, 0x0a, 0x12, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x24, 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, - 0x42, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, - 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, - 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x22, 0x99, 0x05, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, - 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x72, - 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, - 0x6d, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x30, - 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, - 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x12, 0x5b, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, - 0x0e, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, - 0x72, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x6d, - 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x48, - 0x41, 0x52, 0x4d, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, - 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, - 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x94, 0x01, 0x0a, - 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, - 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, - 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, - 0x47, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x41, - 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, - 0x02, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, - 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x48, - 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, - 0x48, 0x10, 0x04, 0x22, 0x60, 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x70, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x10, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x05, 0x52, 0x0f, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, + 0x61, 0x6c, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x06, 0x52, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, + 0x70, 0x5f, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, + 0x74, 0x79, 0x22, 0x8e, 0x04, 0x0a, 0x0d, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x5b, 0x0a, 0x06, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, - 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, - 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0xe0, - 0x05, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x61, 0x0a, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x48, 0x61, 0x72, 0x6d, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x24, + 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x48, 0x52, + 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x4f, + 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, + 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x41, 0x4e, + 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x22, 0x53, + 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, + 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x10, 0x02, 0x22, 0x99, 0x05, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, 0x72, 0x6d, 0x50, 0x72, 0x6f, + 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x11, 0x70, 0x72, + 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x62, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x5b, 0x0a, 0x08, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x61, + 0x72, 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x65, 0x64, 0x22, 0x62, 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x6d, 0x50, 0x72, 0x6f, 0x62, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x48, 0x41, 0x52, 0x4d, 0x5f, + 0x50, 0x52, 0x4f, 0x42, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x47, + 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, + 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x48, 0x61, 0x72, + 0x6d, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, + 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, + 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x45, 0x47, 0x4c, 0x49, 0x47, + 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, + 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x18, 0x0a, + 0x14, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, + 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x48, 0x41, 0x52, 0x4d, 0x5f, + 0x53, 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x22, + 0x60, 0x0a, 0x10, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x4c, 0x0a, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, + 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, + 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x44, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x22, 0xe0, 0x05, 0x0a, 0x09, 0x43, + 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x0d, + 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x59, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x04, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, - 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, - 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x66, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x63, 0x0a, 0x11, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, + 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x66, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x11, 0x63, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, + 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x66, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9f, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x49, 0x4e, + 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x53, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x09, + 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, + 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, + 0x49, 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x07, + 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, 0x49, 0x49, 0x10, 0x08, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x75, 0x0a, + 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a, 0x0b, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x88, 0x04, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, + 0x03, 0x77, 0x65, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x10, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x66, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9f, 0x01, 0x0a, - 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x19, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x4f, - 0x4b, 0x45, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, - 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0d, 0x0a, - 0x09, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, - 0x50, 0x52, 0x4f, 0x48, 0x49, 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, - 0x4e, 0x54, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x50, 0x49, 0x49, 0x10, 0x08, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x75, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, - 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc6, 0x02, 0x0a, 0x14, 0x47, 0x72, 0x6f, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x52, 0x0a, 0x03, 0x77, 0x65, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, + 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x03, 0x77, 0x65, + 0x62, 0x12, 0x7a, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, + 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x03, 0x77, 0x65, 0x62, 0x12, 0x47, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, - 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, - 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x37, 0x0a, 0x03, 0x57, 0x65, 0x62, 0x12, 0x15, 0x0a, - 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, - 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x22, 0xb9, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x16, 0x67, 0x72, + 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x37, + 0x0a, 0x03, 0x57, 0x65, 0x62, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0x44, 0x0a, 0x10, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, + 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, + 0x72, 0x69, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x0b, 0x0a, + 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, + 0xeb, 0x01, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x12, 0x77, 0x65, 0x62, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x61, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x71, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 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, @@ -1854,63 +2072,67 @@ func file_google_cloud_aiplatform_v1beta1_content_proto_rawDescGZIP() []byte { return file_google_cloud_aiplatform_v1beta1_content_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_aiplatform_v1beta1_content_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_google_cloud_aiplatform_v1beta1_content_proto_goTypes = []interface{}{ - (HarmCategory)(0), // 0: google.cloud.aiplatform.v1beta1.HarmCategory - (SafetySetting_HarmBlockThreshold)(0), // 1: google.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockThreshold - (SafetyRating_HarmProbability)(0), // 2: google.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability - (SafetyRating_HarmSeverity)(0), // 3: google.cloud.aiplatform.v1beta1.SafetyRating.HarmSeverity - (Candidate_FinishReason)(0), // 4: google.cloud.aiplatform.v1beta1.Candidate.FinishReason - (*Content)(nil), // 5: google.cloud.aiplatform.v1beta1.Content - (*Part)(nil), // 6: google.cloud.aiplatform.v1beta1.Part - (*Blob)(nil), // 7: google.cloud.aiplatform.v1beta1.Blob - (*FileData)(nil), // 8: google.cloud.aiplatform.v1beta1.FileData - (*VideoMetadata)(nil), // 9: google.cloud.aiplatform.v1beta1.VideoMetadata - (*GenerationConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.GenerationConfig - (*SafetySetting)(nil), // 11: google.cloud.aiplatform.v1beta1.SafetySetting - (*SafetyRating)(nil), // 12: google.cloud.aiplatform.v1beta1.SafetyRating - (*CitationMetadata)(nil), // 13: google.cloud.aiplatform.v1beta1.CitationMetadata - (*Citation)(nil), // 14: google.cloud.aiplatform.v1beta1.Citation - (*Candidate)(nil), // 15: google.cloud.aiplatform.v1beta1.Candidate - (*Segment)(nil), // 16: google.cloud.aiplatform.v1beta1.Segment - (*GroundingAttribution)(nil), // 17: google.cloud.aiplatform.v1beta1.GroundingAttribution - (*GroundingMetadata)(nil), // 18: google.cloud.aiplatform.v1beta1.GroundingMetadata - (*GroundingAttribution_Web)(nil), // 19: google.cloud.aiplatform.v1beta1.GroundingAttribution.Web - (*FunctionCall)(nil), // 20: google.cloud.aiplatform.v1beta1.FunctionCall - (*FunctionResponse)(nil), // 21: google.cloud.aiplatform.v1beta1.FunctionResponse - (*durationpb.Duration)(nil), // 22: google.protobuf.Duration - (*date.Date)(nil), // 23: google.type.Date + (HarmCategory)(0), // 0: google.cloud.aiplatform.v1beta1.HarmCategory + (SafetySetting_HarmBlockThreshold)(0), // 1: google.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockThreshold + (SafetySetting_HarmBlockMethod)(0), // 2: google.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockMethod + (SafetyRating_HarmProbability)(0), // 3: google.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability + (SafetyRating_HarmSeverity)(0), // 4: google.cloud.aiplatform.v1beta1.SafetyRating.HarmSeverity + (Candidate_FinishReason)(0), // 5: google.cloud.aiplatform.v1beta1.Candidate.FinishReason + (*Content)(nil), // 6: google.cloud.aiplatform.v1beta1.Content + (*Part)(nil), // 7: google.cloud.aiplatform.v1beta1.Part + (*Blob)(nil), // 8: google.cloud.aiplatform.v1beta1.Blob + (*FileData)(nil), // 9: google.cloud.aiplatform.v1beta1.FileData + (*VideoMetadata)(nil), // 10: google.cloud.aiplatform.v1beta1.VideoMetadata + (*GenerationConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.GenerationConfig + (*SafetySetting)(nil), // 12: google.cloud.aiplatform.v1beta1.SafetySetting + (*SafetyRating)(nil), // 13: google.cloud.aiplatform.v1beta1.SafetyRating + (*CitationMetadata)(nil), // 14: google.cloud.aiplatform.v1beta1.CitationMetadata + (*Citation)(nil), // 15: google.cloud.aiplatform.v1beta1.Citation + (*Candidate)(nil), // 16: google.cloud.aiplatform.v1beta1.Candidate + (*Segment)(nil), // 17: google.cloud.aiplatform.v1beta1.Segment + (*GroundingAttribution)(nil), // 18: google.cloud.aiplatform.v1beta1.GroundingAttribution + (*GroundingMetadata)(nil), // 19: google.cloud.aiplatform.v1beta1.GroundingMetadata + (*GroundingAttribution_Web)(nil), // 20: google.cloud.aiplatform.v1beta1.GroundingAttribution.Web + (*GroundingAttribution_RetrievedContext)(nil), // 21: google.cloud.aiplatform.v1beta1.GroundingAttribution.RetrievedContext + (*FunctionCall)(nil), // 22: google.cloud.aiplatform.v1beta1.FunctionCall + (*FunctionResponse)(nil), // 23: google.cloud.aiplatform.v1beta1.FunctionResponse + (*durationpb.Duration)(nil), // 24: google.protobuf.Duration + (*date.Date)(nil), // 25: google.type.Date } var file_google_cloud_aiplatform_v1beta1_content_proto_depIdxs = []int32{ - 6, // 0: google.cloud.aiplatform.v1beta1.Content.parts:type_name -> google.cloud.aiplatform.v1beta1.Part - 7, // 1: google.cloud.aiplatform.v1beta1.Part.inline_data:type_name -> google.cloud.aiplatform.v1beta1.Blob - 8, // 2: google.cloud.aiplatform.v1beta1.Part.file_data:type_name -> google.cloud.aiplatform.v1beta1.FileData - 20, // 3: google.cloud.aiplatform.v1beta1.Part.function_call:type_name -> google.cloud.aiplatform.v1beta1.FunctionCall - 21, // 4: google.cloud.aiplatform.v1beta1.Part.function_response:type_name -> google.cloud.aiplatform.v1beta1.FunctionResponse - 9, // 5: google.cloud.aiplatform.v1beta1.Part.video_metadata:type_name -> google.cloud.aiplatform.v1beta1.VideoMetadata - 22, // 6: google.cloud.aiplatform.v1beta1.VideoMetadata.start_offset:type_name -> google.protobuf.Duration - 22, // 7: google.cloud.aiplatform.v1beta1.VideoMetadata.end_offset:type_name -> google.protobuf.Duration + 7, // 0: google.cloud.aiplatform.v1beta1.Content.parts:type_name -> google.cloud.aiplatform.v1beta1.Part + 8, // 1: google.cloud.aiplatform.v1beta1.Part.inline_data:type_name -> google.cloud.aiplatform.v1beta1.Blob + 9, // 2: google.cloud.aiplatform.v1beta1.Part.file_data:type_name -> google.cloud.aiplatform.v1beta1.FileData + 22, // 3: google.cloud.aiplatform.v1beta1.Part.function_call:type_name -> google.cloud.aiplatform.v1beta1.FunctionCall + 23, // 4: google.cloud.aiplatform.v1beta1.Part.function_response:type_name -> google.cloud.aiplatform.v1beta1.FunctionResponse + 10, // 5: google.cloud.aiplatform.v1beta1.Part.video_metadata:type_name -> google.cloud.aiplatform.v1beta1.VideoMetadata + 24, // 6: google.cloud.aiplatform.v1beta1.VideoMetadata.start_offset:type_name -> google.protobuf.Duration + 24, // 7: google.cloud.aiplatform.v1beta1.VideoMetadata.end_offset:type_name -> google.protobuf.Duration 0, // 8: google.cloud.aiplatform.v1beta1.SafetySetting.category:type_name -> google.cloud.aiplatform.v1beta1.HarmCategory 1, // 9: google.cloud.aiplatform.v1beta1.SafetySetting.threshold:type_name -> google.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockThreshold - 0, // 10: google.cloud.aiplatform.v1beta1.SafetyRating.category:type_name -> google.cloud.aiplatform.v1beta1.HarmCategory - 2, // 11: google.cloud.aiplatform.v1beta1.SafetyRating.probability:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability - 3, // 12: google.cloud.aiplatform.v1beta1.SafetyRating.severity:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating.HarmSeverity - 14, // 13: google.cloud.aiplatform.v1beta1.CitationMetadata.citations:type_name -> google.cloud.aiplatform.v1beta1.Citation - 23, // 14: google.cloud.aiplatform.v1beta1.Citation.publication_date:type_name -> google.type.Date - 5, // 15: google.cloud.aiplatform.v1beta1.Candidate.content:type_name -> google.cloud.aiplatform.v1beta1.Content - 4, // 16: google.cloud.aiplatform.v1beta1.Candidate.finish_reason:type_name -> google.cloud.aiplatform.v1beta1.Candidate.FinishReason - 12, // 17: google.cloud.aiplatform.v1beta1.Candidate.safety_ratings:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating - 13, // 18: google.cloud.aiplatform.v1beta1.Candidate.citation_metadata:type_name -> google.cloud.aiplatform.v1beta1.CitationMetadata - 18, // 19: google.cloud.aiplatform.v1beta1.Candidate.grounding_metadata:type_name -> google.cloud.aiplatform.v1beta1.GroundingMetadata - 19, // 20: google.cloud.aiplatform.v1beta1.GroundingAttribution.web:type_name -> google.cloud.aiplatform.v1beta1.GroundingAttribution.Web - 16, // 21: google.cloud.aiplatform.v1beta1.GroundingAttribution.segment:type_name -> google.cloud.aiplatform.v1beta1.Segment - 17, // 22: google.cloud.aiplatform.v1beta1.GroundingMetadata.grounding_attributions:type_name -> google.cloud.aiplatform.v1beta1.GroundingAttribution - 23, // [23:23] is the sub-list for method output_type - 23, // [23:23] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 2, // 10: google.cloud.aiplatform.v1beta1.SafetySetting.method:type_name -> google.cloud.aiplatform.v1beta1.SafetySetting.HarmBlockMethod + 0, // 11: google.cloud.aiplatform.v1beta1.SafetyRating.category:type_name -> google.cloud.aiplatform.v1beta1.HarmCategory + 3, // 12: google.cloud.aiplatform.v1beta1.SafetyRating.probability:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating.HarmProbability + 4, // 13: google.cloud.aiplatform.v1beta1.SafetyRating.severity:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating.HarmSeverity + 15, // 14: google.cloud.aiplatform.v1beta1.CitationMetadata.citations:type_name -> google.cloud.aiplatform.v1beta1.Citation + 25, // 15: google.cloud.aiplatform.v1beta1.Citation.publication_date:type_name -> google.type.Date + 6, // 16: google.cloud.aiplatform.v1beta1.Candidate.content:type_name -> google.cloud.aiplatform.v1beta1.Content + 5, // 17: google.cloud.aiplatform.v1beta1.Candidate.finish_reason:type_name -> google.cloud.aiplatform.v1beta1.Candidate.FinishReason + 13, // 18: google.cloud.aiplatform.v1beta1.Candidate.safety_ratings:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating + 14, // 19: google.cloud.aiplatform.v1beta1.Candidate.citation_metadata:type_name -> google.cloud.aiplatform.v1beta1.CitationMetadata + 19, // 20: google.cloud.aiplatform.v1beta1.Candidate.grounding_metadata:type_name -> google.cloud.aiplatform.v1beta1.GroundingMetadata + 20, // 21: google.cloud.aiplatform.v1beta1.GroundingAttribution.web:type_name -> google.cloud.aiplatform.v1beta1.GroundingAttribution.Web + 21, // 22: google.cloud.aiplatform.v1beta1.GroundingAttribution.retrieved_context:type_name -> google.cloud.aiplatform.v1beta1.GroundingAttribution.RetrievedContext + 17, // 23: google.cloud.aiplatform.v1beta1.GroundingAttribution.segment:type_name -> google.cloud.aiplatform.v1beta1.Segment + 18, // 24: google.cloud.aiplatform.v1beta1.GroundingMetadata.grounding_attributions:type_name -> google.cloud.aiplatform.v1beta1.GroundingAttribution + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_content_proto_init() } @@ -2100,6 +2322,18 @@ func file_google_cloud_aiplatform_v1beta1_content_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroundingAttribution_RetrievedContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Part_Text)(nil), @@ -2113,14 +2347,15 @@ func file_google_cloud_aiplatform_v1beta1_content_proto_init() { file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes[10].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_content_proto_msgTypes[12].OneofWrappers = []interface{}{ (*GroundingAttribution_Web_)(nil), + (*GroundingAttribution_RetrievedContext_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_content_proto_rawDesc, - NumEnums: 5, - NumMessages: 15, + NumEnums: 6, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go index 4c7dd10c1085..4d4356b46389 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/endpoint_service.pb.go @@ -240,15 +240,15 @@ type ListEndpointsRequest struct { // Optional. An expression for filtering the results of the request. For field // names both snake_case and camelCase are supported. // - // - `endpoint` supports = and !=. `endpoint` represents the Endpoint ID, - // i.e. the last segment of the Endpoint's [resource - // name][google.cloud.aiplatform.v1beta1.Endpoint.name]. - // - `display_name` supports = and, != + // - `endpoint` supports `=` and `!=`. `endpoint` represents the Endpoint + // ID, i.e. the last segment of the Endpoint's + // [resource name][google.cloud.aiplatform.v1beta1.Endpoint.name]. + // - `display_name` supports `=` and `!=`. // - `labels` supports general map functions that is: // - `labels.key=value` - key:value equality - // - `labels.key:* or labels:key - key existence + // - `labels.key:*` or `labels:key` - key existence // - A key including a space must be quoted. `labels."a key"`. - // - `base_model_name` only supports = + // - `base_model_name` only supports `=`. // // Some examples: // diff --git a/aiplatform/apiv1beta1/aiplatformpb/evaluation_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/evaluation_service.pb.go index b45e00a4db43..64eeebe73ed3 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/evaluation_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/evaluation_service.pb.go @@ -115,7 +115,6 @@ type EvaluateInstancesRequest struct { // *EvaluateInstancesRequest_SafetyInput // *EvaluateInstancesRequest_GroundednessInput // *EvaluateInstancesRequest_FulfillmentInput - // *EvaluateInstancesRequest_ResponseRecallInput // *EvaluateInstancesRequest_SummarizationQualityInput // *EvaluateInstancesRequest_PairwiseSummarizationQualityInput // *EvaluateInstancesRequest_SummarizationHelpfulnessInput @@ -125,7 +124,6 @@ type EvaluateInstancesRequest struct { // *EvaluateInstancesRequest_QuestionAnsweringRelevanceInput // *EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput // *EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput - // *EvaluateInstancesRequest_RagContextRecallInput // *EvaluateInstancesRequest_ToolCallValidInput // *EvaluateInstancesRequest_ToolNameMatchInput // *EvaluateInstancesRequest_ToolParameterKeyMatchInput @@ -231,13 +229,6 @@ func (x *EvaluateInstancesRequest) GetFulfillmentInput() *FulfillmentInput { return nil } -func (x *EvaluateInstancesRequest) GetResponseRecallInput() *ResponseRecallInput { - if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ResponseRecallInput); ok { - return x.ResponseRecallInput - } - return nil -} - func (x *EvaluateInstancesRequest) GetSummarizationQualityInput() *SummarizationQualityInput { if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_SummarizationQualityInput); ok { return x.SummarizationQualityInput @@ -301,13 +292,6 @@ func (x *EvaluateInstancesRequest) GetQuestionAnsweringCorrectnessInput() *Quest return nil } -func (x *EvaluateInstancesRequest) GetRagContextRecallInput() *RagContextRecallInput { - if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_RagContextRecallInput); ok { - return x.RagContextRecallInput - } - return nil -} - func (x *EvaluateInstancesRequest) GetToolCallValidInput() *ToolCallValidInput { if x, ok := x.GetMetricInputs().(*EvaluateInstancesRequest_ToolCallValidInput); ok { return x.ToolCallValidInput @@ -390,11 +374,6 @@ type EvaluateInstancesRequest_FulfillmentInput struct { FulfillmentInput *FulfillmentInput `protobuf:"bytes,12,opt,name=fulfillment_input,json=fulfillmentInput,proto3,oneof"` } -type EvaluateInstancesRequest_ResponseRecallInput struct { - // Input for response recall metric. - ResponseRecallInput *ResponseRecallInput `protobuf:"bytes,13,opt,name=response_recall_input,json=responseRecallInput,proto3,oneof"` -} - type EvaluateInstancesRequest_SummarizationQualityInput struct { // Input for summarization quality metric. SummarizationQualityInput *SummarizationQualityInput `protobuf:"bytes,7,opt,name=summarization_quality_input,json=summarizationQualityInput,proto3,oneof"` @@ -442,11 +421,6 @@ type EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput struct { QuestionAnsweringCorrectnessInput *QuestionAnsweringCorrectnessInput `protobuf:"bytes,18,opt,name=question_answering_correctness_input,json=questionAnsweringCorrectnessInput,proto3,oneof"` } -type EvaluateInstancesRequest_RagContextRecallInput struct { - // Input for rag context recall metric. - RagContextRecallInput *RagContextRecallInput `protobuf:"bytes,11,opt,name=rag_context_recall_input,json=ragContextRecallInput,proto3,oneof"` -} - type EvaluateInstancesRequest_ToolCallValidInput struct { // Tool call metric instances. // Input for tool call valid metric. @@ -484,8 +458,6 @@ func (*EvaluateInstancesRequest_GroundednessInput) isEvaluateInstancesRequest_Me func (*EvaluateInstancesRequest_FulfillmentInput) isEvaluateInstancesRequest_MetricInputs() {} -func (*EvaluateInstancesRequest_ResponseRecallInput) isEvaluateInstancesRequest_MetricInputs() {} - func (*EvaluateInstancesRequest_SummarizationQualityInput) isEvaluateInstancesRequest_MetricInputs() { } @@ -513,8 +485,6 @@ func (*EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput) isEvaluateIns func (*EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput) isEvaluateInstancesRequest_MetricInputs() { } -func (*EvaluateInstancesRequest_RagContextRecallInput) isEvaluateInstancesRequest_MetricInputs() {} - func (*EvaluateInstancesRequest_ToolCallValidInput) isEvaluateInstancesRequest_MetricInputs() {} func (*EvaluateInstancesRequest_ToolNameMatchInput) isEvaluateInstancesRequest_MetricInputs() {} @@ -544,7 +514,6 @@ type EvaluateInstancesResponse struct { // *EvaluateInstancesResponse_SafetyResult // *EvaluateInstancesResponse_GroundednessResult // *EvaluateInstancesResponse_FulfillmentResult - // *EvaluateInstancesResponse_ResponseRecallResult // *EvaluateInstancesResponse_SummarizationQualityResult // *EvaluateInstancesResponse_PairwiseSummarizationQualityResult // *EvaluateInstancesResponse_SummarizationHelpfulnessResult @@ -554,7 +523,6 @@ type EvaluateInstancesResponse struct { // *EvaluateInstancesResponse_QuestionAnsweringRelevanceResult // *EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult // *EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult - // *EvaluateInstancesResponse_RagContextRecallResult // *EvaluateInstancesResponse_ToolCallValidResults // *EvaluateInstancesResponse_ToolNameMatchResults // *EvaluateInstancesResponse_ToolParameterKeyMatchResults @@ -657,13 +625,6 @@ func (x *EvaluateInstancesResponse) GetFulfillmentResult() *FulfillmentResult { return nil } -func (x *EvaluateInstancesResponse) GetResponseRecallResult() *ResponseRecallResult { - if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ResponseRecallResult); ok { - return x.ResponseRecallResult - } - return nil -} - func (x *EvaluateInstancesResponse) GetSummarizationQualityResult() *SummarizationQualityResult { if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_SummarizationQualityResult); ok { return x.SummarizationQualityResult @@ -727,13 +688,6 @@ func (x *EvaluateInstancesResponse) GetQuestionAnsweringCorrectnessResult() *Que return nil } -func (x *EvaluateInstancesResponse) GetRagContextRecallResult() *RagContextRecallResult { - if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_RagContextRecallResult); ok { - return x.RagContextRecallResult - } - return nil -} - func (x *EvaluateInstancesResponse) GetToolCallValidResults() *ToolCallValidResults { if x, ok := x.GetEvaluationResults().(*EvaluateInstancesResponse_ToolCallValidResults); ok { return x.ToolCallValidResults @@ -809,11 +763,6 @@ type EvaluateInstancesResponse_FulfillmentResult struct { FulfillmentResult *FulfillmentResult `protobuf:"bytes,11,opt,name=fulfillment_result,json=fulfillmentResult,proto3,oneof"` } -type EvaluateInstancesResponse_ResponseRecallResult struct { - // Result for response recall metric. - ResponseRecallResult *ResponseRecallResult `protobuf:"bytes,12,opt,name=response_recall_result,json=responseRecallResult,proto3,oneof"` -} - type EvaluateInstancesResponse_SummarizationQualityResult struct { // Summarization only metrics. // Result for summarization quality metric. @@ -861,12 +810,6 @@ type EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult struct { QuestionAnsweringCorrectnessResult *QuestionAnsweringCorrectnessResult `protobuf:"bytes,17,opt,name=question_answering_correctness_result,json=questionAnsweringCorrectnessResult,proto3,oneof"` } -type EvaluateInstancesResponse_RagContextRecallResult struct { - // RAG only metrics. - // Result for context recall metric. - RagContextRecallResult *RagContextRecallResult `protobuf:"bytes,10,opt,name=rag_context_recall_result,json=ragContextRecallResult,proto3,oneof"` -} - type EvaluateInstancesResponse_ToolCallValidResults struct { // Tool call metrics. // @@ -906,9 +849,6 @@ func (*EvaluateInstancesResponse_GroundednessResult) isEvaluateInstancesResponse func (*EvaluateInstancesResponse_FulfillmentResult) isEvaluateInstancesResponse_EvaluationResults() {} -func (*EvaluateInstancesResponse_ResponseRecallResult) isEvaluateInstancesResponse_EvaluationResults() { -} - func (*EvaluateInstancesResponse_SummarizationQualityResult) isEvaluateInstancesResponse_EvaluationResults() { } @@ -936,9 +876,6 @@ func (*EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult) isEvaluateI func (*EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult) isEvaluateInstancesResponse_EvaluationResults() { } -func (*EvaluateInstancesResponse_RagContextRecallResult) isEvaluateInstancesResponse_EvaluationResults() { -} - func (*EvaluateInstancesResponse_ToolCallValidResults) isEvaluateInstancesResponse_EvaluationResults() { } @@ -2875,238 +2812,6 @@ func (x *FulfillmentResult) GetConfidence() float32 { return 0 } -// Input for response recall metric. -type ResponseRecallInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Spec for response recall score metric. - MetricSpec *ResponseRecallSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` - // Required. Response recall instance. - Instance *ResponseRecallInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` -} - -func (x *ResponseRecallInput) Reset() { - *x = ResponseRecallInput{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResponseRecallInput) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResponseRecallInput) ProtoMessage() {} - -func (x *ResponseRecallInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResponseRecallInput.ProtoReflect.Descriptor instead. -func (*ResponseRecallInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{37} -} - -func (x *ResponseRecallInput) GetMetricSpec() *ResponseRecallSpec { - if x != nil { - return x.MetricSpec - } - return nil -} - -func (x *ResponseRecallInput) GetInstance() *ResponseRecallInstance { - if x != nil { - return x.Instance - } - return nil -} - -// Spec for response recall instance. -type ResponseRecallInstance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Output of the evaluated model. - Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` - // Required. Ground truth used to compare against the prediction. - Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` -} - -func (x *ResponseRecallInstance) Reset() { - *x = ResponseRecallInstance{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResponseRecallInstance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResponseRecallInstance) ProtoMessage() {} - -func (x *ResponseRecallInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResponseRecallInstance.ProtoReflect.Descriptor instead. -func (*ResponseRecallInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{38} -} - -func (x *ResponseRecallInstance) GetPrediction() string { - if x != nil && x.Prediction != nil { - return *x.Prediction - } - return "" -} - -func (x *ResponseRecallInstance) GetReference() string { - if x != nil && x.Reference != nil { - return *x.Reference - } - return "" -} - -// Spec for response recall metric. -type ResponseRecallSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Optional. Which version to use for evaluation. - Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *ResponseRecallSpec) Reset() { - *x = ResponseRecallSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResponseRecallSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResponseRecallSpec) ProtoMessage() {} - -func (x *ResponseRecallSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResponseRecallSpec.ProtoReflect.Descriptor instead. -func (*ResponseRecallSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{39} -} - -func (x *ResponseRecallSpec) GetVersion() int32 { - if x != nil { - return x.Version - } - return 0 -} - -// Spec for response recall result. -type ResponseRecallResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Output only. ResponseRecall score. - Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` - // Output only. Explanation for response recall score. - Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` - // Output only. Confidence for fulfillment score. - Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` -} - -func (x *ResponseRecallResult) Reset() { - *x = ResponseRecallResult{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResponseRecallResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResponseRecallResult) ProtoMessage() {} - -func (x *ResponseRecallResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResponseRecallResult.ProtoReflect.Descriptor instead. -func (*ResponseRecallResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{40} -} - -func (x *ResponseRecallResult) GetScore() float32 { - if x != nil && x.Score != nil { - return *x.Score - } - return 0 -} - -func (x *ResponseRecallResult) GetExplanation() string { - if x != nil { - return x.Explanation - } - return "" -} - -func (x *ResponseRecallResult) GetConfidence() float32 { - if x != nil && x.Confidence != nil { - return *x.Confidence - } - return 0 -} - // Input for summarization quality metric. type SummarizationQualityInput struct { state protoimpl.MessageState @@ -3122,7 +2827,7 @@ type SummarizationQualityInput struct { func (x *SummarizationQualityInput) Reset() { *x = SummarizationQualityInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3135,7 +2840,7 @@ func (x *SummarizationQualityInput) String() string { func (*SummarizationQualityInput) ProtoMessage() {} func (x *SummarizationQualityInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3148,7 +2853,7 @@ func (x *SummarizationQualityInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationQualityInput.ProtoReflect.Descriptor instead. func (*SummarizationQualityInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{41} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{37} } func (x *SummarizationQualityInput) GetMetricSpec() *SummarizationQualitySpec { @@ -3184,7 +2889,7 @@ type SummarizationQualityInstance struct { func (x *SummarizationQualityInstance) Reset() { *x = SummarizationQualityInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3197,7 +2902,7 @@ func (x *SummarizationQualityInstance) String() string { func (*SummarizationQualityInstance) ProtoMessage() {} func (x *SummarizationQualityInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3210,7 +2915,7 @@ func (x *SummarizationQualityInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationQualityInstance.ProtoReflect.Descriptor instead. func (*SummarizationQualityInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{42} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{38} } func (x *SummarizationQualityInstance) GetPrediction() string { @@ -3257,7 +2962,7 @@ type SummarizationQualitySpec struct { func (x *SummarizationQualitySpec) Reset() { *x = SummarizationQualitySpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3270,7 +2975,7 @@ func (x *SummarizationQualitySpec) String() string { func (*SummarizationQualitySpec) ProtoMessage() {} func (x *SummarizationQualitySpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3283,7 +2988,7 @@ func (x *SummarizationQualitySpec) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationQualitySpec.ProtoReflect.Descriptor instead. func (*SummarizationQualitySpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{43} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{39} } func (x *SummarizationQualitySpec) GetUseReference() bool { @@ -3317,7 +3022,7 @@ type SummarizationQualityResult struct { func (x *SummarizationQualityResult) Reset() { *x = SummarizationQualityResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3330,7 +3035,7 @@ func (x *SummarizationQualityResult) String() string { func (*SummarizationQualityResult) ProtoMessage() {} func (x *SummarizationQualityResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3343,7 +3048,7 @@ func (x *SummarizationQualityResult) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationQualityResult.ProtoReflect.Descriptor instead. func (*SummarizationQualityResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{44} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{40} } func (x *SummarizationQualityResult) GetScore() float32 { @@ -3382,7 +3087,7 @@ type PairwiseSummarizationQualityInput struct { func (x *PairwiseSummarizationQualityInput) Reset() { *x = PairwiseSummarizationQualityInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3395,7 +3100,7 @@ func (x *PairwiseSummarizationQualityInput) String() string { func (*PairwiseSummarizationQualityInput) ProtoMessage() {} func (x *PairwiseSummarizationQualityInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3408,7 +3113,7 @@ func (x *PairwiseSummarizationQualityInput) ProtoReflect() protoreflect.Message // Deprecated: Use PairwiseSummarizationQualityInput.ProtoReflect.Descriptor instead. func (*PairwiseSummarizationQualityInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{45} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{41} } func (x *PairwiseSummarizationQualityInput) GetMetricSpec() *PairwiseSummarizationQualitySpec { @@ -3446,7 +3151,7 @@ type PairwiseSummarizationQualityInstance struct { func (x *PairwiseSummarizationQualityInstance) Reset() { *x = PairwiseSummarizationQualityInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3459,7 +3164,7 @@ func (x *PairwiseSummarizationQualityInstance) String() string { func (*PairwiseSummarizationQualityInstance) ProtoMessage() {} func (x *PairwiseSummarizationQualityInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3472,7 +3177,7 @@ func (x *PairwiseSummarizationQualityInstance) ProtoReflect() protoreflect.Messa // Deprecated: Use PairwiseSummarizationQualityInstance.ProtoReflect.Descriptor instead. func (*PairwiseSummarizationQualityInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{46} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{42} } func (x *PairwiseSummarizationQualityInstance) GetPrediction() string { @@ -3526,7 +3231,7 @@ type PairwiseSummarizationQualitySpec struct { func (x *PairwiseSummarizationQualitySpec) Reset() { *x = PairwiseSummarizationQualitySpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3539,7 +3244,7 @@ func (x *PairwiseSummarizationQualitySpec) String() string { func (*PairwiseSummarizationQualitySpec) ProtoMessage() {} func (x *PairwiseSummarizationQualitySpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3552,7 +3257,7 @@ func (x *PairwiseSummarizationQualitySpec) ProtoReflect() protoreflect.Message { // Deprecated: Use PairwiseSummarizationQualitySpec.ProtoReflect.Descriptor instead. func (*PairwiseSummarizationQualitySpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{47} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{43} } func (x *PairwiseSummarizationQualitySpec) GetUseReference() bool { @@ -3586,7 +3291,7 @@ type PairwiseSummarizationQualityResult struct { func (x *PairwiseSummarizationQualityResult) Reset() { *x = PairwiseSummarizationQualityResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3599,7 +3304,7 @@ func (x *PairwiseSummarizationQualityResult) String() string { func (*PairwiseSummarizationQualityResult) ProtoMessage() {} func (x *PairwiseSummarizationQualityResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3612,7 +3317,7 @@ func (x *PairwiseSummarizationQualityResult) ProtoReflect() protoreflect.Message // Deprecated: Use PairwiseSummarizationQualityResult.ProtoReflect.Descriptor instead. func (*PairwiseSummarizationQualityResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{48} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{44} } func (x *PairwiseSummarizationQualityResult) GetPairwiseChoice() PairwiseChoice { @@ -3651,7 +3356,7 @@ type SummarizationHelpfulnessInput struct { func (x *SummarizationHelpfulnessInput) Reset() { *x = SummarizationHelpfulnessInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3664,7 +3369,7 @@ func (x *SummarizationHelpfulnessInput) String() string { func (*SummarizationHelpfulnessInput) ProtoMessage() {} func (x *SummarizationHelpfulnessInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3677,7 +3382,7 @@ func (x *SummarizationHelpfulnessInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationHelpfulnessInput.ProtoReflect.Descriptor instead. func (*SummarizationHelpfulnessInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{49} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{45} } func (x *SummarizationHelpfulnessInput) GetMetricSpec() *SummarizationHelpfulnessSpec { @@ -3713,7 +3418,7 @@ type SummarizationHelpfulnessInstance struct { func (x *SummarizationHelpfulnessInstance) Reset() { *x = SummarizationHelpfulnessInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3726,7 +3431,7 @@ func (x *SummarizationHelpfulnessInstance) String() string { func (*SummarizationHelpfulnessInstance) ProtoMessage() {} func (x *SummarizationHelpfulnessInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3739,7 +3444,7 @@ func (x *SummarizationHelpfulnessInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationHelpfulnessInstance.ProtoReflect.Descriptor instead. func (*SummarizationHelpfulnessInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{50} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{46} } func (x *SummarizationHelpfulnessInstance) GetPrediction() string { @@ -3786,7 +3491,7 @@ type SummarizationHelpfulnessSpec struct { func (x *SummarizationHelpfulnessSpec) Reset() { *x = SummarizationHelpfulnessSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3799,7 +3504,7 @@ func (x *SummarizationHelpfulnessSpec) String() string { func (*SummarizationHelpfulnessSpec) ProtoMessage() {} func (x *SummarizationHelpfulnessSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3812,7 +3517,7 @@ func (x *SummarizationHelpfulnessSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationHelpfulnessSpec.ProtoReflect.Descriptor instead. func (*SummarizationHelpfulnessSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{51} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{47} } func (x *SummarizationHelpfulnessSpec) GetUseReference() bool { @@ -3846,7 +3551,7 @@ type SummarizationHelpfulnessResult struct { func (x *SummarizationHelpfulnessResult) Reset() { *x = SummarizationHelpfulnessResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3859,7 +3564,7 @@ func (x *SummarizationHelpfulnessResult) String() string { func (*SummarizationHelpfulnessResult) ProtoMessage() {} func (x *SummarizationHelpfulnessResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3872,7 +3577,7 @@ func (x *SummarizationHelpfulnessResult) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationHelpfulnessResult.ProtoReflect.Descriptor instead. func (*SummarizationHelpfulnessResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{52} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{48} } func (x *SummarizationHelpfulnessResult) GetScore() float32 { @@ -3911,7 +3616,7 @@ type SummarizationVerbosityInput struct { func (x *SummarizationVerbosityInput) Reset() { *x = SummarizationVerbosityInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3924,7 +3629,7 @@ func (x *SummarizationVerbosityInput) String() string { func (*SummarizationVerbosityInput) ProtoMessage() {} func (x *SummarizationVerbosityInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3937,7 +3642,7 @@ func (x *SummarizationVerbosityInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationVerbosityInput.ProtoReflect.Descriptor instead. func (*SummarizationVerbosityInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{53} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{49} } func (x *SummarizationVerbosityInput) GetMetricSpec() *SummarizationVerbositySpec { @@ -3973,7 +3678,7 @@ type SummarizationVerbosityInstance struct { func (x *SummarizationVerbosityInstance) Reset() { *x = SummarizationVerbosityInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3986,7 +3691,7 @@ func (x *SummarizationVerbosityInstance) String() string { func (*SummarizationVerbosityInstance) ProtoMessage() {} func (x *SummarizationVerbosityInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3999,7 +3704,7 @@ func (x *SummarizationVerbosityInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationVerbosityInstance.ProtoReflect.Descriptor instead. func (*SummarizationVerbosityInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{54} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{50} } func (x *SummarizationVerbosityInstance) GetPrediction() string { @@ -4046,7 +3751,7 @@ type SummarizationVerbositySpec struct { func (x *SummarizationVerbositySpec) Reset() { *x = SummarizationVerbositySpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4059,7 +3764,7 @@ func (x *SummarizationVerbositySpec) String() string { func (*SummarizationVerbositySpec) ProtoMessage() {} func (x *SummarizationVerbositySpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4072,7 +3777,7 @@ func (x *SummarizationVerbositySpec) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationVerbositySpec.ProtoReflect.Descriptor instead. func (*SummarizationVerbositySpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{55} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{51} } func (x *SummarizationVerbositySpec) GetUseReference() bool { @@ -4106,7 +3811,7 @@ type SummarizationVerbosityResult struct { func (x *SummarizationVerbosityResult) Reset() { *x = SummarizationVerbosityResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4119,7 +3824,7 @@ func (x *SummarizationVerbosityResult) String() string { func (*SummarizationVerbosityResult) ProtoMessage() {} func (x *SummarizationVerbosityResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4132,7 +3837,7 @@ func (x *SummarizationVerbosityResult) ProtoReflect() protoreflect.Message { // Deprecated: Use SummarizationVerbosityResult.ProtoReflect.Descriptor instead. func (*SummarizationVerbosityResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{56} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{52} } func (x *SummarizationVerbosityResult) GetScore() float32 { @@ -4171,7 +3876,7 @@ type QuestionAnsweringQualityInput struct { func (x *QuestionAnsweringQualityInput) Reset() { *x = QuestionAnsweringQualityInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4184,7 +3889,7 @@ func (x *QuestionAnsweringQualityInput) String() string { func (*QuestionAnsweringQualityInput) ProtoMessage() {} func (x *QuestionAnsweringQualityInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4197,7 +3902,7 @@ func (x *QuestionAnsweringQualityInput) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringQualityInput.ProtoReflect.Descriptor instead. func (*QuestionAnsweringQualityInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{57} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{53} } func (x *QuestionAnsweringQualityInput) GetMetricSpec() *QuestionAnsweringQualitySpec { @@ -4224,7 +3929,7 @@ type QuestionAnsweringQualityInstance struct { Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` // Optional. Ground truth used to compare against the prediction. Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` - // Optional. Text to answer the question. + // Required. Text to answer the question. Context *string `protobuf:"bytes,3,opt,name=context,proto3,oneof" json:"context,omitempty"` // Required. Question Answering prompt for LLM. Instruction *string `protobuf:"bytes,4,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` @@ -4233,7 +3938,7 @@ type QuestionAnsweringQualityInstance struct { func (x *QuestionAnsweringQualityInstance) Reset() { *x = QuestionAnsweringQualityInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4246,7 +3951,7 @@ func (x *QuestionAnsweringQualityInstance) String() string { func (*QuestionAnsweringQualityInstance) ProtoMessage() {} func (x *QuestionAnsweringQualityInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4259,7 +3964,7 @@ func (x *QuestionAnsweringQualityInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringQualityInstance.ProtoReflect.Descriptor instead. func (*QuestionAnsweringQualityInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{58} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{54} } func (x *QuestionAnsweringQualityInstance) GetPrediction() string { @@ -4306,7 +4011,7 @@ type QuestionAnsweringQualitySpec struct { func (x *QuestionAnsweringQualitySpec) Reset() { *x = QuestionAnsweringQualitySpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4319,7 +4024,7 @@ func (x *QuestionAnsweringQualitySpec) String() string { func (*QuestionAnsweringQualitySpec) ProtoMessage() {} func (x *QuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4332,7 +4037,7 @@ func (x *QuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringQualitySpec.ProtoReflect.Descriptor instead. func (*QuestionAnsweringQualitySpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{59} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{55} } func (x *QuestionAnsweringQualitySpec) GetUseReference() bool { @@ -4366,7 +4071,7 @@ type QuestionAnsweringQualityResult struct { func (x *QuestionAnsweringQualityResult) Reset() { *x = QuestionAnsweringQualityResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4379,7 +4084,7 @@ func (x *QuestionAnsweringQualityResult) String() string { func (*QuestionAnsweringQualityResult) ProtoMessage() {} func (x *QuestionAnsweringQualityResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4392,7 +4097,7 @@ func (x *QuestionAnsweringQualityResult) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringQualityResult.ProtoReflect.Descriptor instead. func (*QuestionAnsweringQualityResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{60} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{56} } func (x *QuestionAnsweringQualityResult) GetScore() float32 { @@ -4431,7 +4136,7 @@ type PairwiseQuestionAnsweringQualityInput struct { func (x *PairwiseQuestionAnsweringQualityInput) Reset() { *x = PairwiseQuestionAnsweringQualityInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4444,7 +4149,7 @@ func (x *PairwiseQuestionAnsweringQualityInput) String() string { func (*PairwiseQuestionAnsweringQualityInput) ProtoMessage() {} func (x *PairwiseQuestionAnsweringQualityInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4457,7 +4162,7 @@ func (x *PairwiseQuestionAnsweringQualityInput) ProtoReflect() protoreflect.Mess // Deprecated: Use PairwiseQuestionAnsweringQualityInput.ProtoReflect.Descriptor instead. func (*PairwiseQuestionAnsweringQualityInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{61} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{57} } func (x *PairwiseQuestionAnsweringQualityInput) GetMetricSpec() *PairwiseQuestionAnsweringQualitySpec { @@ -4486,7 +4191,7 @@ type PairwiseQuestionAnsweringQualityInstance struct { BaselinePrediction *string `protobuf:"bytes,2,opt,name=baseline_prediction,json=baselinePrediction,proto3,oneof" json:"baseline_prediction,omitempty"` // Optional. Ground truth used to compare against the prediction. Reference *string `protobuf:"bytes,3,opt,name=reference,proto3,oneof" json:"reference,omitempty"` - // Optional. Text to answer the question. + // Required. Text to answer the question. Context *string `protobuf:"bytes,4,opt,name=context,proto3,oneof" json:"context,omitempty"` // Required. Question Answering prompt for LLM. Instruction *string `protobuf:"bytes,5,opt,name=instruction,proto3,oneof" json:"instruction,omitempty"` @@ -4495,7 +4200,7 @@ type PairwiseQuestionAnsweringQualityInstance struct { func (x *PairwiseQuestionAnsweringQualityInstance) Reset() { *x = PairwiseQuestionAnsweringQualityInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4508,7 +4213,7 @@ func (x *PairwiseQuestionAnsweringQualityInstance) String() string { func (*PairwiseQuestionAnsweringQualityInstance) ProtoMessage() {} func (x *PairwiseQuestionAnsweringQualityInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4521,7 +4226,7 @@ func (x *PairwiseQuestionAnsweringQualityInstance) ProtoReflect() protoreflect.M // Deprecated: Use PairwiseQuestionAnsweringQualityInstance.ProtoReflect.Descriptor instead. func (*PairwiseQuestionAnsweringQualityInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{62} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{58} } func (x *PairwiseQuestionAnsweringQualityInstance) GetPrediction() string { @@ -4575,7 +4280,7 @@ type PairwiseQuestionAnsweringQualitySpec struct { func (x *PairwiseQuestionAnsweringQualitySpec) Reset() { *x = PairwiseQuestionAnsweringQualitySpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4588,7 +4293,7 @@ func (x *PairwiseQuestionAnsweringQualitySpec) String() string { func (*PairwiseQuestionAnsweringQualitySpec) ProtoMessage() {} func (x *PairwiseQuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4601,7 +4306,7 @@ func (x *PairwiseQuestionAnsweringQualitySpec) ProtoReflect() protoreflect.Messa // Deprecated: Use PairwiseQuestionAnsweringQualitySpec.ProtoReflect.Descriptor instead. func (*PairwiseQuestionAnsweringQualitySpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{63} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{59} } func (x *PairwiseQuestionAnsweringQualitySpec) GetUseReference() bool { @@ -4635,7 +4340,7 @@ type PairwiseQuestionAnsweringQualityResult struct { func (x *PairwiseQuestionAnsweringQualityResult) Reset() { *x = PairwiseQuestionAnsweringQualityResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4648,7 +4353,7 @@ func (x *PairwiseQuestionAnsweringQualityResult) String() string { func (*PairwiseQuestionAnsweringQualityResult) ProtoMessage() {} func (x *PairwiseQuestionAnsweringQualityResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4661,7 +4366,7 @@ func (x *PairwiseQuestionAnsweringQualityResult) ProtoReflect() protoreflect.Mes // Deprecated: Use PairwiseQuestionAnsweringQualityResult.ProtoReflect.Descriptor instead. func (*PairwiseQuestionAnsweringQualityResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{64} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{60} } func (x *PairwiseQuestionAnsweringQualityResult) GetPairwiseChoice() PairwiseChoice { @@ -4700,7 +4405,7 @@ type QuestionAnsweringRelevanceInput struct { func (x *QuestionAnsweringRelevanceInput) Reset() { *x = QuestionAnsweringRelevanceInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4713,7 +4418,7 @@ func (x *QuestionAnsweringRelevanceInput) String() string { func (*QuestionAnsweringRelevanceInput) ProtoMessage() {} func (x *QuestionAnsweringRelevanceInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4726,7 +4431,7 @@ func (x *QuestionAnsweringRelevanceInput) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringRelevanceInput.ProtoReflect.Descriptor instead. func (*QuestionAnsweringRelevanceInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{65} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{61} } func (x *QuestionAnsweringRelevanceInput) GetMetricSpec() *QuestionAnsweringRelevanceSpec { @@ -4762,7 +4467,7 @@ type QuestionAnsweringRelevanceInstance struct { func (x *QuestionAnsweringRelevanceInstance) Reset() { *x = QuestionAnsweringRelevanceInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4775,7 +4480,7 @@ func (x *QuestionAnsweringRelevanceInstance) String() string { func (*QuestionAnsweringRelevanceInstance) ProtoMessage() {} func (x *QuestionAnsweringRelevanceInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4788,7 +4493,7 @@ func (x *QuestionAnsweringRelevanceInstance) ProtoReflect() protoreflect.Message // Deprecated: Use QuestionAnsweringRelevanceInstance.ProtoReflect.Descriptor instead. func (*QuestionAnsweringRelevanceInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{66} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{62} } func (x *QuestionAnsweringRelevanceInstance) GetPrediction() string { @@ -4835,7 +4540,7 @@ type QuestionAnsweringRelevanceSpec struct { func (x *QuestionAnsweringRelevanceSpec) Reset() { *x = QuestionAnsweringRelevanceSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4848,7 +4553,7 @@ func (x *QuestionAnsweringRelevanceSpec) String() string { func (*QuestionAnsweringRelevanceSpec) ProtoMessage() {} func (x *QuestionAnsweringRelevanceSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4861,7 +4566,7 @@ func (x *QuestionAnsweringRelevanceSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringRelevanceSpec.ProtoReflect.Descriptor instead. func (*QuestionAnsweringRelevanceSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{67} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{63} } func (x *QuestionAnsweringRelevanceSpec) GetUseReference() bool { @@ -4895,7 +4600,7 @@ type QuestionAnsweringRelevanceResult struct { func (x *QuestionAnsweringRelevanceResult) Reset() { *x = QuestionAnsweringRelevanceResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4908,7 +4613,7 @@ func (x *QuestionAnsweringRelevanceResult) String() string { func (*QuestionAnsweringRelevanceResult) ProtoMessage() {} func (x *QuestionAnsweringRelevanceResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4921,7 +4626,7 @@ func (x *QuestionAnsweringRelevanceResult) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringRelevanceResult.ProtoReflect.Descriptor instead. func (*QuestionAnsweringRelevanceResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{68} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{64} } func (x *QuestionAnsweringRelevanceResult) GetScore() float32 { @@ -4960,7 +4665,7 @@ type QuestionAnsweringHelpfulnessInput struct { func (x *QuestionAnsweringHelpfulnessInput) Reset() { *x = QuestionAnsweringHelpfulnessInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4973,7 +4678,7 @@ func (x *QuestionAnsweringHelpfulnessInput) String() string { func (*QuestionAnsweringHelpfulnessInput) ProtoMessage() {} func (x *QuestionAnsweringHelpfulnessInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4986,7 +4691,7 @@ func (x *QuestionAnsweringHelpfulnessInput) ProtoReflect() protoreflect.Message // Deprecated: Use QuestionAnsweringHelpfulnessInput.ProtoReflect.Descriptor instead. func (*QuestionAnsweringHelpfulnessInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{69} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{65} } func (x *QuestionAnsweringHelpfulnessInput) GetMetricSpec() *QuestionAnsweringHelpfulnessSpec { @@ -5022,7 +4727,7 @@ type QuestionAnsweringHelpfulnessInstance struct { func (x *QuestionAnsweringHelpfulnessInstance) Reset() { *x = QuestionAnsweringHelpfulnessInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5035,7 +4740,7 @@ func (x *QuestionAnsweringHelpfulnessInstance) String() string { func (*QuestionAnsweringHelpfulnessInstance) ProtoMessage() {} func (x *QuestionAnsweringHelpfulnessInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5048,7 +4753,7 @@ func (x *QuestionAnsweringHelpfulnessInstance) ProtoReflect() protoreflect.Messa // Deprecated: Use QuestionAnsweringHelpfulnessInstance.ProtoReflect.Descriptor instead. func (*QuestionAnsweringHelpfulnessInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{70} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{66} } func (x *QuestionAnsweringHelpfulnessInstance) GetPrediction() string { @@ -5095,7 +4800,7 @@ type QuestionAnsweringHelpfulnessSpec struct { func (x *QuestionAnsweringHelpfulnessSpec) Reset() { *x = QuestionAnsweringHelpfulnessSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5108,7 +4813,7 @@ func (x *QuestionAnsweringHelpfulnessSpec) String() string { func (*QuestionAnsweringHelpfulnessSpec) ProtoMessage() {} func (x *QuestionAnsweringHelpfulnessSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5121,7 +4826,7 @@ func (x *QuestionAnsweringHelpfulnessSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringHelpfulnessSpec.ProtoReflect.Descriptor instead. func (*QuestionAnsweringHelpfulnessSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{71} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{67} } func (x *QuestionAnsweringHelpfulnessSpec) GetUseReference() bool { @@ -5155,7 +4860,7 @@ type QuestionAnsweringHelpfulnessResult struct { func (x *QuestionAnsweringHelpfulnessResult) Reset() { *x = QuestionAnsweringHelpfulnessResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5168,7 +4873,7 @@ func (x *QuestionAnsweringHelpfulnessResult) String() string { func (*QuestionAnsweringHelpfulnessResult) ProtoMessage() {} func (x *QuestionAnsweringHelpfulnessResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5181,7 +4886,7 @@ func (x *QuestionAnsweringHelpfulnessResult) ProtoReflect() protoreflect.Message // Deprecated: Use QuestionAnsweringHelpfulnessResult.ProtoReflect.Descriptor instead. func (*QuestionAnsweringHelpfulnessResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{72} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{68} } func (x *QuestionAnsweringHelpfulnessResult) GetScore() float32 { @@ -5220,7 +4925,7 @@ type QuestionAnsweringCorrectnessInput struct { func (x *QuestionAnsweringCorrectnessInput) Reset() { *x = QuestionAnsweringCorrectnessInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5233,7 +4938,7 @@ func (x *QuestionAnsweringCorrectnessInput) String() string { func (*QuestionAnsweringCorrectnessInput) ProtoMessage() {} func (x *QuestionAnsweringCorrectnessInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5246,7 +4951,7 @@ func (x *QuestionAnsweringCorrectnessInput) ProtoReflect() protoreflect.Message // Deprecated: Use QuestionAnsweringCorrectnessInput.ProtoReflect.Descriptor instead. func (*QuestionAnsweringCorrectnessInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{73} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{69} } func (x *QuestionAnsweringCorrectnessInput) GetMetricSpec() *QuestionAnsweringCorrectnessSpec { @@ -5282,7 +4987,7 @@ type QuestionAnsweringCorrectnessInstance struct { func (x *QuestionAnsweringCorrectnessInstance) Reset() { *x = QuestionAnsweringCorrectnessInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5295,7 +5000,7 @@ func (x *QuestionAnsweringCorrectnessInstance) String() string { func (*QuestionAnsweringCorrectnessInstance) ProtoMessage() {} func (x *QuestionAnsweringCorrectnessInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5308,7 +5013,7 @@ func (x *QuestionAnsweringCorrectnessInstance) ProtoReflect() protoreflect.Messa // Deprecated: Use QuestionAnsweringCorrectnessInstance.ProtoReflect.Descriptor instead. func (*QuestionAnsweringCorrectnessInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{74} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{70} } func (x *QuestionAnsweringCorrectnessInstance) GetPrediction() string { @@ -5355,7 +5060,7 @@ type QuestionAnsweringCorrectnessSpec struct { func (x *QuestionAnsweringCorrectnessSpec) Reset() { *x = QuestionAnsweringCorrectnessSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5368,7 +5073,7 @@ func (x *QuestionAnsweringCorrectnessSpec) String() string { func (*QuestionAnsweringCorrectnessSpec) ProtoMessage() {} func (x *QuestionAnsweringCorrectnessSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5381,7 +5086,7 @@ func (x *QuestionAnsweringCorrectnessSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestionAnsweringCorrectnessSpec.ProtoReflect.Descriptor instead. func (*QuestionAnsweringCorrectnessSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{75} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{71} } func (x *QuestionAnsweringCorrectnessSpec) GetUseReference() bool { @@ -5415,7 +5120,7 @@ type QuestionAnsweringCorrectnessResult struct { func (x *QuestionAnsweringCorrectnessResult) Reset() { *x = QuestionAnsweringCorrectnessResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5428,7 +5133,7 @@ func (x *QuestionAnsweringCorrectnessResult) String() string { func (*QuestionAnsweringCorrectnessResult) ProtoMessage() {} func (x *QuestionAnsweringCorrectnessResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5441,7 +5146,7 @@ func (x *QuestionAnsweringCorrectnessResult) ProtoReflect() protoreflect.Message // Deprecated: Use QuestionAnsweringCorrectnessResult.ProtoReflect.Descriptor instead. func (*QuestionAnsweringCorrectnessResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{76} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{72} } func (x *QuestionAnsweringCorrectnessResult) GetScore() float32 { @@ -5465,35 +5170,35 @@ func (x *QuestionAnsweringCorrectnessResult) GetConfidence() float32 { return 0 } -// Input for rag context recall metric. -type RagContextRecallInput struct { +// Input for tool call valid metric. +type ToolCallValidInput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Spec for rag context recall metric. - MetricSpec *RagContextRecallSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` - // Required. Rag context recall instance. - Instance *RagContextRecallInstance `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"` + // Required. Spec for tool call valid metric. + MetricSpec *ToolCallValidSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` + // Required. Repeated tool call valid instances. + Instances []*ToolCallValidInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` } -func (x *RagContextRecallInput) Reset() { - *x = RagContextRecallInput{} +func (x *ToolCallValidInput) Reset() { + *x = ToolCallValidInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RagContextRecallInput) String() string { +func (x *ToolCallValidInput) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RagContextRecallInput) ProtoMessage() {} +func (*ToolCallValidInput) ProtoMessage() {} -func (x *RagContextRecallInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77] +func (x *ToolCallValidInput) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5504,54 +5209,49 @@ func (x *RagContextRecallInput) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RagContextRecallInput.ProtoReflect.Descriptor instead. -func (*RagContextRecallInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{77} +// Deprecated: Use ToolCallValidInput.ProtoReflect.Descriptor instead. +func (*ToolCallValidInput) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{73} } -func (x *RagContextRecallInput) GetMetricSpec() *RagContextRecallSpec { +func (x *ToolCallValidInput) GetMetricSpec() *ToolCallValidSpec { if x != nil { return x.MetricSpec } return nil } -func (x *RagContextRecallInput) GetInstance() *RagContextRecallInstance { +func (x *ToolCallValidInput) GetInstances() []*ToolCallValidInstance { if x != nil { - return x.Instance + return x.Instances } return nil } -// Spec for rag context recall instance. -type RagContextRecallInstance struct { +// Spec for tool call valid metric. +type ToolCallValidSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Required. Ground truth used to compare against the context. - Reference *string `protobuf:"bytes,1,opt,name=reference,proto3,oneof" json:"reference,omitempty"` - // Required. Retrieved facts from RAG pipeline as context to be evaluated. - Context *string `protobuf:"bytes,2,opt,name=context,proto3,oneof" json:"context,omitempty"` } -func (x *RagContextRecallInstance) Reset() { - *x = RagContextRecallInstance{} +func (x *ToolCallValidSpec) Reset() { + *x = ToolCallValidSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RagContextRecallInstance) String() string { +func (x *ToolCallValidSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RagContextRecallInstance) ProtoMessage() {} +func (*ToolCallValidSpec) ProtoMessage() {} -func (x *RagContextRecallInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78] +func (x *ToolCallValidSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5562,52 +5262,40 @@ func (x *RagContextRecallInstance) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RagContextRecallInstance.ProtoReflect.Descriptor instead. -func (*RagContextRecallInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{78} -} - -func (x *RagContextRecallInstance) GetReference() string { - if x != nil && x.Reference != nil { - return *x.Reference - } - return "" -} - -func (x *RagContextRecallInstance) GetContext() string { - if x != nil && x.Context != nil { - return *x.Context - } - return "" +// Deprecated: Use ToolCallValidSpec.ProtoReflect.Descriptor instead. +func (*ToolCallValidSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{74} } -// Spec for rag context recall metric. -type RagContextRecallSpec struct { +// Spec for tool call valid instance. +type ToolCallValidInstance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Optional. Which version to use for evaluation. - Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + // Required. Output of the evaluated model. + Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` + // Required. Ground truth used to compare against the prediction. + Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` } -func (x *RagContextRecallSpec) Reset() { - *x = RagContextRecallSpec{} +func (x *ToolCallValidInstance) Reset() { + *x = ToolCallValidInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RagContextRecallSpec) String() string { +func (x *ToolCallValidInstance) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RagContextRecallSpec) ProtoMessage() {} +func (*ToolCallValidInstance) ProtoMessage() {} -func (x *RagContextRecallSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79] +func (x *ToolCallValidInstance) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5618,231 +5306,16 @@ func (x *RagContextRecallSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RagContextRecallSpec.ProtoReflect.Descriptor instead. -func (*RagContextRecallSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{79} +// Deprecated: Use ToolCallValidInstance.ProtoReflect.Descriptor instead. +func (*ToolCallValidInstance) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{75} } -func (x *RagContextRecallSpec) GetVersion() int32 { - if x != nil { - return x.Version +func (x *ToolCallValidInstance) GetPrediction() string { + if x != nil && x.Prediction != nil { + return *x.Prediction } - return 0 -} - -// Spec for rag context recall result. -type RagContextRecallResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Output only. RagContextRecall score. - Score *float32 `protobuf:"fixed32,1,opt,name=score,proto3,oneof" json:"score,omitempty"` - // Output only. Explanation for rag context recall score. - Explanation string `protobuf:"bytes,2,opt,name=explanation,proto3" json:"explanation,omitempty"` - // Output only. Confidence for rag context recall score. - Confidence *float32 `protobuf:"fixed32,3,opt,name=confidence,proto3,oneof" json:"confidence,omitempty"` -} - -func (x *RagContextRecallResult) Reset() { - *x = RagContextRecallResult{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RagContextRecallResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RagContextRecallResult) ProtoMessage() {} - -func (x *RagContextRecallResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80] - 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 RagContextRecallResult.ProtoReflect.Descriptor instead. -func (*RagContextRecallResult) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{80} -} - -func (x *RagContextRecallResult) GetScore() float32 { - if x != nil && x.Score != nil { - return *x.Score - } - return 0 -} - -func (x *RagContextRecallResult) GetExplanation() string { - if x != nil { - return x.Explanation - } - return "" -} - -func (x *RagContextRecallResult) GetConfidence() float32 { - if x != nil && x.Confidence != nil { - return *x.Confidence - } - return 0 -} - -// Input for tool call valid metric. -type ToolCallValidInput struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Spec for tool call valid metric. - MetricSpec *ToolCallValidSpec `protobuf:"bytes,1,opt,name=metric_spec,json=metricSpec,proto3" json:"metric_spec,omitempty"` - // Required. Repeated tool call valid instances. - Instances []*ToolCallValidInstance `protobuf:"bytes,2,rep,name=instances,proto3" json:"instances,omitempty"` -} - -func (x *ToolCallValidInput) Reset() { - *x = ToolCallValidInput{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ToolCallValidInput) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ToolCallValidInput) ProtoMessage() {} - -func (x *ToolCallValidInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81] - 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 ToolCallValidInput.ProtoReflect.Descriptor instead. -func (*ToolCallValidInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{81} -} - -func (x *ToolCallValidInput) GetMetricSpec() *ToolCallValidSpec { - if x != nil { - return x.MetricSpec - } - return nil -} - -func (x *ToolCallValidInput) GetInstances() []*ToolCallValidInstance { - if x != nil { - return x.Instances - } - return nil -} - -// Spec for tool call valid metric. -type ToolCallValidSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ToolCallValidSpec) Reset() { - *x = ToolCallValidSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ToolCallValidSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ToolCallValidSpec) ProtoMessage() {} - -func (x *ToolCallValidSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82] - 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 ToolCallValidSpec.ProtoReflect.Descriptor instead. -func (*ToolCallValidSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{82} -} - -// Spec for tool call valid instance. -type ToolCallValidInstance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Output of the evaluated model. - Prediction *string `protobuf:"bytes,1,opt,name=prediction,proto3,oneof" json:"prediction,omitempty"` - // Required. Ground truth used to compare against the prediction. - Reference *string `protobuf:"bytes,2,opt,name=reference,proto3,oneof" json:"reference,omitempty"` -} - -func (x *ToolCallValidInstance) Reset() { - *x = ToolCallValidInstance{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ToolCallValidInstance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ToolCallValidInstance) ProtoMessage() {} - -func (x *ToolCallValidInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83] - 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 ToolCallValidInstance.ProtoReflect.Descriptor instead. -func (*ToolCallValidInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{83} -} - -func (x *ToolCallValidInstance) GetPrediction() string { - if x != nil && x.Prediction != nil { - return *x.Prediction - } - return "" + return "" } func (x *ToolCallValidInstance) GetReference() string { @@ -5865,7 +5338,7 @@ type ToolCallValidResults struct { func (x *ToolCallValidResults) Reset() { *x = ToolCallValidResults{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5878,7 +5351,7 @@ func (x *ToolCallValidResults) String() string { func (*ToolCallValidResults) ProtoMessage() {} func (x *ToolCallValidResults) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5891,7 +5364,7 @@ func (x *ToolCallValidResults) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolCallValidResults.ProtoReflect.Descriptor instead. func (*ToolCallValidResults) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{84} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{76} } func (x *ToolCallValidResults) GetToolCallValidMetricValues() []*ToolCallValidMetricValue { @@ -5914,7 +5387,7 @@ type ToolCallValidMetricValue struct { func (x *ToolCallValidMetricValue) Reset() { *x = ToolCallValidMetricValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5927,7 +5400,7 @@ func (x *ToolCallValidMetricValue) String() string { func (*ToolCallValidMetricValue) ProtoMessage() {} func (x *ToolCallValidMetricValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5940,7 +5413,7 @@ func (x *ToolCallValidMetricValue) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolCallValidMetricValue.ProtoReflect.Descriptor instead. func (*ToolCallValidMetricValue) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{85} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{77} } func (x *ToolCallValidMetricValue) GetScore() float32 { @@ -5965,7 +5438,7 @@ type ToolNameMatchInput struct { func (x *ToolNameMatchInput) Reset() { *x = ToolNameMatchInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5978,7 +5451,7 @@ func (x *ToolNameMatchInput) String() string { func (*ToolNameMatchInput) ProtoMessage() {} func (x *ToolNameMatchInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5991,7 +5464,7 @@ func (x *ToolNameMatchInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolNameMatchInput.ProtoReflect.Descriptor instead. func (*ToolNameMatchInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{86} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{78} } func (x *ToolNameMatchInput) GetMetricSpec() *ToolNameMatchSpec { @@ -6018,7 +5491,7 @@ type ToolNameMatchSpec struct { func (x *ToolNameMatchSpec) Reset() { *x = ToolNameMatchSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6031,7 +5504,7 @@ func (x *ToolNameMatchSpec) String() string { func (*ToolNameMatchSpec) ProtoMessage() {} func (x *ToolNameMatchSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6044,7 +5517,7 @@ func (x *ToolNameMatchSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolNameMatchSpec.ProtoReflect.Descriptor instead. func (*ToolNameMatchSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{87} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{79} } // Spec for tool name match instance. @@ -6062,7 +5535,7 @@ type ToolNameMatchInstance struct { func (x *ToolNameMatchInstance) Reset() { *x = ToolNameMatchInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6075,7 +5548,7 @@ func (x *ToolNameMatchInstance) String() string { func (*ToolNameMatchInstance) ProtoMessage() {} func (x *ToolNameMatchInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6088,7 +5561,7 @@ func (x *ToolNameMatchInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolNameMatchInstance.ProtoReflect.Descriptor instead. func (*ToolNameMatchInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{88} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{80} } func (x *ToolNameMatchInstance) GetPrediction() string { @@ -6118,7 +5591,7 @@ type ToolNameMatchResults struct { func (x *ToolNameMatchResults) Reset() { *x = ToolNameMatchResults{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6131,7 +5604,7 @@ func (x *ToolNameMatchResults) String() string { func (*ToolNameMatchResults) ProtoMessage() {} func (x *ToolNameMatchResults) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6144,7 +5617,7 @@ func (x *ToolNameMatchResults) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolNameMatchResults.ProtoReflect.Descriptor instead. func (*ToolNameMatchResults) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{89} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{81} } func (x *ToolNameMatchResults) GetToolNameMatchMetricValues() []*ToolNameMatchMetricValue { @@ -6167,7 +5640,7 @@ type ToolNameMatchMetricValue struct { func (x *ToolNameMatchMetricValue) Reset() { *x = ToolNameMatchMetricValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6180,7 +5653,7 @@ func (x *ToolNameMatchMetricValue) String() string { func (*ToolNameMatchMetricValue) ProtoMessage() {} func (x *ToolNameMatchMetricValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6193,7 +5666,7 @@ func (x *ToolNameMatchMetricValue) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolNameMatchMetricValue.ProtoReflect.Descriptor instead. func (*ToolNameMatchMetricValue) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{90} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{82} } func (x *ToolNameMatchMetricValue) GetScore() float32 { @@ -6218,7 +5691,7 @@ type ToolParameterKeyMatchInput struct { func (x *ToolParameterKeyMatchInput) Reset() { *x = ToolParameterKeyMatchInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6231,7 +5704,7 @@ func (x *ToolParameterKeyMatchInput) String() string { func (*ToolParameterKeyMatchInput) ProtoMessage() {} func (x *ToolParameterKeyMatchInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6244,7 +5717,7 @@ func (x *ToolParameterKeyMatchInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKeyMatchInput.ProtoReflect.Descriptor instead. func (*ToolParameterKeyMatchInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{91} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{83} } func (x *ToolParameterKeyMatchInput) GetMetricSpec() *ToolParameterKeyMatchSpec { @@ -6271,7 +5744,7 @@ type ToolParameterKeyMatchSpec struct { func (x *ToolParameterKeyMatchSpec) Reset() { *x = ToolParameterKeyMatchSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6284,7 +5757,7 @@ func (x *ToolParameterKeyMatchSpec) String() string { func (*ToolParameterKeyMatchSpec) ProtoMessage() {} func (x *ToolParameterKeyMatchSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6297,7 +5770,7 @@ func (x *ToolParameterKeyMatchSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKeyMatchSpec.ProtoReflect.Descriptor instead. func (*ToolParameterKeyMatchSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{92} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{84} } // Spec for tool parameter key match instance. @@ -6315,7 +5788,7 @@ type ToolParameterKeyMatchInstance struct { func (x *ToolParameterKeyMatchInstance) Reset() { *x = ToolParameterKeyMatchInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[93] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6328,7 +5801,7 @@ func (x *ToolParameterKeyMatchInstance) String() string { func (*ToolParameterKeyMatchInstance) ProtoMessage() {} func (x *ToolParameterKeyMatchInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[93] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6341,7 +5814,7 @@ func (x *ToolParameterKeyMatchInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKeyMatchInstance.ProtoReflect.Descriptor instead. func (*ToolParameterKeyMatchInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{93} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{85} } func (x *ToolParameterKeyMatchInstance) GetPrediction() string { @@ -6371,7 +5844,7 @@ type ToolParameterKeyMatchResults struct { func (x *ToolParameterKeyMatchResults) Reset() { *x = ToolParameterKeyMatchResults{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[94] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6384,7 +5857,7 @@ func (x *ToolParameterKeyMatchResults) String() string { func (*ToolParameterKeyMatchResults) ProtoMessage() {} func (x *ToolParameterKeyMatchResults) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[94] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6397,7 +5870,7 @@ func (x *ToolParameterKeyMatchResults) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKeyMatchResults.ProtoReflect.Descriptor instead. func (*ToolParameterKeyMatchResults) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{94} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{86} } func (x *ToolParameterKeyMatchResults) GetToolParameterKeyMatchMetricValues() []*ToolParameterKeyMatchMetricValue { @@ -6420,7 +5893,7 @@ type ToolParameterKeyMatchMetricValue struct { func (x *ToolParameterKeyMatchMetricValue) Reset() { *x = ToolParameterKeyMatchMetricValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[95] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6433,7 +5906,7 @@ func (x *ToolParameterKeyMatchMetricValue) String() string { func (*ToolParameterKeyMatchMetricValue) ProtoMessage() {} func (x *ToolParameterKeyMatchMetricValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[95] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6446,7 +5919,7 @@ func (x *ToolParameterKeyMatchMetricValue) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKeyMatchMetricValue.ProtoReflect.Descriptor instead. func (*ToolParameterKeyMatchMetricValue) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{95} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{87} } func (x *ToolParameterKeyMatchMetricValue) GetScore() float32 { @@ -6471,7 +5944,7 @@ type ToolParameterKVMatchInput struct { func (x *ToolParameterKVMatchInput) Reset() { *x = ToolParameterKVMatchInput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[96] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6484,7 +5957,7 @@ func (x *ToolParameterKVMatchInput) String() string { func (*ToolParameterKVMatchInput) ProtoMessage() {} func (x *ToolParameterKVMatchInput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[96] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6497,7 +5970,7 @@ func (x *ToolParameterKVMatchInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKVMatchInput.ProtoReflect.Descriptor instead. func (*ToolParameterKVMatchInput) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{96} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{88} } func (x *ToolParameterKVMatchInput) GetMetricSpec() *ToolParameterKVMatchSpec { @@ -6527,7 +6000,7 @@ type ToolParameterKVMatchSpec struct { func (x *ToolParameterKVMatchSpec) Reset() { *x = ToolParameterKVMatchSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[97] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6540,7 +6013,7 @@ func (x *ToolParameterKVMatchSpec) String() string { func (*ToolParameterKVMatchSpec) ProtoMessage() {} func (x *ToolParameterKVMatchSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[97] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6553,7 +6026,7 @@ func (x *ToolParameterKVMatchSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKVMatchSpec.ProtoReflect.Descriptor instead. func (*ToolParameterKVMatchSpec) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{97} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{89} } func (x *ToolParameterKVMatchSpec) GetUseStrictStringMatch() bool { @@ -6578,7 +6051,7 @@ type ToolParameterKVMatchInstance struct { func (x *ToolParameterKVMatchInstance) Reset() { *x = ToolParameterKVMatchInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[98] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6591,7 +6064,7 @@ func (x *ToolParameterKVMatchInstance) String() string { func (*ToolParameterKVMatchInstance) ProtoMessage() {} func (x *ToolParameterKVMatchInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[98] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6604,7 +6077,7 @@ func (x *ToolParameterKVMatchInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKVMatchInstance.ProtoReflect.Descriptor instead. func (*ToolParameterKVMatchInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{98} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{90} } func (x *ToolParameterKVMatchInstance) GetPrediction() string { @@ -6634,7 +6107,7 @@ type ToolParameterKVMatchResults struct { func (x *ToolParameterKVMatchResults) Reset() { *x = ToolParameterKVMatchResults{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[99] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6647,7 +6120,7 @@ func (x *ToolParameterKVMatchResults) String() string { func (*ToolParameterKVMatchResults) ProtoMessage() {} func (x *ToolParameterKVMatchResults) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[99] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6660,7 +6133,7 @@ func (x *ToolParameterKVMatchResults) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKVMatchResults.ProtoReflect.Descriptor instead. func (*ToolParameterKVMatchResults) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{99} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{91} } func (x *ToolParameterKVMatchResults) GetToolParameterKvMatchMetricValues() []*ToolParameterKVMatchMetricValue { @@ -6683,7 +6156,7 @@ type ToolParameterKVMatchMetricValue struct { func (x *ToolParameterKVMatchMetricValue) Reset() { *x = ToolParameterKVMatchMetricValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[100] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6696,7 +6169,7 @@ func (x *ToolParameterKVMatchMetricValue) String() string { func (*ToolParameterKVMatchMetricValue) ProtoMessage() {} func (x *ToolParameterKVMatchMetricValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[100] + mi := &file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6709,7 +6182,7 @@ func (x *ToolParameterKVMatchMetricValue) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolParameterKVMatchMetricValue.ProtoReflect.Descriptor instead. func (*ToolParameterKVMatchMetricValue) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{100} + return file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP(), []int{92} } func (x *ToolParameterKVMatchMetricValue) GetScore() float32 { @@ -6734,8 +6207,8 @@ var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDesc = []by 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, 0x22, 0x8b, - 0x16, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, + 0x14, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x11, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, @@ -6781,532 +6254,470 @@ var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDesc = []by 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x12, 0x6a, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0d, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x12, 0x7c, 0x0a, 0x1b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, - 0x07, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x48, 0x00, 0x52, 0x19, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x95, - 0x01, 0x0a, 0x24, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x17, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x48, 0x00, 0x52, 0x21, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x1f, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, - 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x01, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x48, 0x00, 0x52, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x12, 0x82, 0x01, 0x0a, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x7c, 0x0a, 0x1b, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x18, 0x07, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, - 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x73, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x89, 0x01, 0x0a, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x19, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x17, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x48, 0x00, 0x52, 0x1d, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, + 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x1f, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x6c, + 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0e, + 0x20, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x1d, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, + 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, + 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x89, 0x01, 0x0a, 0x20, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, + 0x0a, 0x20, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x29, 0x70, 0x61, 0x69, 0x72, 0x77, + 0x69, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, + 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x29, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, + 0x75, 0x74, 0x48, 0x00, 0x52, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, - 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, - 0x52, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x22, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, - 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x10, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x18, 0x10, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, - 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x12, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x71, 0x0a, 0x18, 0x72, 0x61, 0x67, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, - 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x15, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a, 0x15, - 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x13, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, - 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x48, 0x00, 0x52, 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, - 0x14, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, 0x6f, - 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x12, 0x7e, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x16, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, - 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 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, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0xa5, 0x16, 0x0a, - 0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x11, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x51, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, + 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x95, 0x01, + 0x0a, 0x24, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x11, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x48, 0x00, 0x52, 0x21, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x24, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x12, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, + 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x21, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a, + 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x13, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x68, 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x14, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, + 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x6f, 0x75, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x6c, 0x75, - 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x6f, 0x6f, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x7e, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x16, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, - 0x52, 0x0f, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 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, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0xc0, 0x14, + 0x0a, 0x19, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x65, + 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x12, 0x67, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x63, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x11, + 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x62, 0x6c, 0x65, 0x75, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x62, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, - 0x00, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6d, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x14, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x7f, 0x0a, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, + 0x75, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x6f, + 0x75, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x6c, + 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x07, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, + 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x08, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, + 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x12, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x63, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, + 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x7f, 0x0a, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x98, 0x01, 0x0a, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x70, 0x61, 0x69, - 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x8b, 0x01, 0x0a, 0x20, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, - 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x73, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, - 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x85, 0x01, - 0x0a, 0x1e, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x98, 0x01, 0x0a, 0x25, 0x70, 0x61, 0x69, 0x72, 0x77, + 0x69, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x21, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3f, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, + 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x70, + 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x20, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, + 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, + 0x1e, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, + 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x85, 0x01, 0x0a, 0x1e, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x21, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0xa5, 0x01, 0x0a, 0x2a, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, - 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, - 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x48, 0x00, 0x52, 0x26, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x92, 0x01, 0x0a, - 0x23, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, - 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x98, 0x01, 0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, - 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x43, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, - 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x98, 0x01, 0x0a, - 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, + 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xa5, 0x01, 0x0a, 0x2a, 0x70, 0x61, 0x69, 0x72, 0x77, + 0x69, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, + 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x26, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x92, + 0x01, 0x0a, 0x23, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x74, 0x0a, 0x19, 0x72, 0x61, 0x67, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x98, 0x01, 0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x66, + 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x43, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, + 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x98, + 0x01, 0x0a, 0x25, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x22, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6e, 0x0a, 0x17, 0x74, 0x6f, 0x6f, + 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x74, 0x6f, 0x6f, + 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x13, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x16, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6e, 0x0a, - 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x20, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x1f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x74, + 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x22, 0xc0, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x56, 0x0a, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, - 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x6e, 0x0a, - 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x45, 0x78, 0x61, + 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, 0x8b, 0x01, 0x0a, 0x11, + 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x12, 0x76, 0x0a, 0x19, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x16, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x15, 0x45, 0x78, 0x61, + 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xae, 0x01, 0x0a, + 0x09, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x87, 0x01, - 0x0a, 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, 0x00, 0x52, 0x1c, 0x74, 0x6f, 0x6f, 0x6c, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x1f, 0x74, 0x6f, 0x6f, 0x6c, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x48, - 0x00, 0x52, 0x1b, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x14, - 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7d, 0x0a, + 0x0c, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, + 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x0a, 0x0a, 0x08, + 0x42, 0x6c, 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x22, 0x72, 0x0a, 0x0b, 0x42, 0x6c, 0x65, 0x75, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x63, 0x0a, 0x12, 0x62, 0x6c, 0x65, 0x75, 0x5f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 0x6c, 0x65, 0x75, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x0f, + 0x42, 0x6c, 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x0a, 0x52, 0x6f, + 0x75, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x56, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x61, 0x63, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, + 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7e, 0x0a, + 0x0d, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x10, 0x0a, - 0x0e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, - 0x8b, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x76, 0x0a, 0x19, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x41, 0x0a, - 0x15, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x22, 0xae, 0x01, 0x0a, 0x09, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4f, - 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x50, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x22, 0x7d, 0x0a, 0x0c, 0x42, 0x6c, 0x65, 0x75, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x22, 0x0a, 0x0a, 0x08, 0x42, 0x6c, 0x65, 0x75, 0x53, 0x70, 0x65, 0x63, 0x22, 0x72, 0x0a, 0x0b, - 0x42, 0x6c, 0x65, 0x75, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x63, 0x0a, 0x12, 0x62, - 0x6c, 0x65, 0x75, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6c, 0x65, 0x75, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, - 0x62, 0x6c, 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x3b, 0x0a, 0x0f, 0x42, 0x6c, 0x65, 0x75, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xb1, 0x01, - 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x0b, + 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x83, 0x01, + 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x53, 0x74, + 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x12, 0x66, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x52, + 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x0e, 0x43, 0x6f, + 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x54, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, - 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x22, 0x7e, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x22, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x6d, 0x6d, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, - 0x73, 0x65, 0x53, 0x74, 0x65, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x70, 0x6c, - 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x66, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x67, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x53, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x72, 0x6f, - 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, - 0x3c, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xbb, 0x01, - 0x0a, 0x0e, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x12, 0x54, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, - 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x11, 0x43, - 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x0d, 0x43, 0x6f, 0x68, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x43, 0x6f, - 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, - 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x0c, 0x46, 0x6c, 0x75, 0x65, - 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, - 0x4a, 0x0a, 0x0f, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0b, 0x46, - 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0d, 0x46, 0x6c, - 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, - 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, - 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x51, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, - 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, - 0x65, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x53, 0x61, - 0x66, 0x65, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x11, 0x43, 0x6f, 0x68, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x0a, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, - 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc4, 0x01, - 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x12, 0x57, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, - 0x65, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, - 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x56, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x22, 0x7f, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, - 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, - 0x64, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, - 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x0d, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x68, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x0c, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x52, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x75, 0x65, + 0x6e, 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x51, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x75, + 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x0f, 0x46, + 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, + 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0b, 0x46, 0x6c, 0x75, 0x65, 0x6e, + 0x63, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0d, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x0b, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x51, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x2b, 0x0a, 0x0a, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x98, + 0x01, 0x0a, 0x0c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, @@ -7315,449 +6726,195 @@ var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDesc = []by 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x46, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x56, - 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x55, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, - 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, - 0x0a, 0x13, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, - 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x0f, 0x46, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, - 0x11, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, - 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xca, 0x01, 0x0a, - 0x13, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x12, 0x59, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x58, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, - 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, - 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x22, 0x33, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, - 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xdc, 0x01, 0x0a, 0x19, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x1c, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, - 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x18, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, - 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x1a, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, - 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x21, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, - 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x11, 0x47, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x57, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, + 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x56, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x22, 0x7f, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x22, 0x31, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x6e, 0x65, 0x73, + 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x65, + 0x64, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, + 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x41, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x66, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x24, - 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, - 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x48, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, - 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xe3, 0x01, 0x0a, 0x22, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, - 0x73, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, - 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x1d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, - 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x62, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x22, 0xfd, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, - 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x55, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x46, 0x75, + 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x67, 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, - 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, - 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, - 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6d, 0x61, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x61, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, - 0x73, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, + 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6c, + 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xdc, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, - 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x1e, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, - 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, - 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, - 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1a, 0x53, 0x75, 0x6d, - 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, - 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, - 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x1d, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x18, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x21, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x66, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, - 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x62, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, - 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xaa, 0x01, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd4, 0x02, 0x0a, 0x24, 0x50, 0x61, 0x69, + 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x13, 0x62, + 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, + 0x12, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, + 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x04, 0x52, 0x0b, + 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x6b, 0x0a, 0x20, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0x0a, + 0x22, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, - 0x25, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x6b, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, + 0x63, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x1d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, + 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x62, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, - 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x6a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, - 0xd8, 0x02, 0x0a, 0x28, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, - 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, - 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x73, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x24, 0x50, 0x61, - 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, - 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0x0a, 0x26, - 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, - 0x73, 0x65, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, - 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x0b, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x64, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x43, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, - 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, - 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, - 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, - 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, - 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, - 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, - 0x63, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, - 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x66, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, + 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfd, 0x01, + 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, @@ -7765,318 +6922,536 @@ var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDesc = []by 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, + 0x41, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, - 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, - 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, - 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x21, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, - 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x66, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, - 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, + 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, + 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, + 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, + 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x61, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, + 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, + 0xe0, 0x41, 0x02, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, - 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, - 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, - 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, - 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, - 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x15, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5b, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1a, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, + 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x65, 0x72, 0x62, 0x6f, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe8, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, 0x0b, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3d, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x62, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x41, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, + 0x1e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x25, 0x50, 0x61, + 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x6b, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, + 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x6a, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x49, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x02, 0x0a, + 0x28, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x13, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, + 0x65, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x48, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, + 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x24, 0x50, 0x61, 0x69, 0x72, 0x77, + 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0x0a, 0x26, 0x50, 0x61, 0x69, + 0x72, 0x77, 0x69, 0x73, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x0f, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, + 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, + 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x65, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x64, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x43, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x1e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xac, 0x01, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, + 0xf4, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, + 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x66, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, 0x70, + 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, + 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, + 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, + 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x6c, + 0x70, 0x66, 0x75, 0x6c, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x21, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x67, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x01, 0x28, 0x0b, 0x32, 0x41, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5a, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, + 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x66, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x81, 0x02, 0x0a, 0x24, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, + 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xae, 0x01, 0x0a, 0x22, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x18, 0x52, 0x61, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x35, 0x0a, 0x14, 0x52, 0x61, - 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, - 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x0a, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x43, - 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x58, 0x0a, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x59, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, - 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x53, 0x70, 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6f, 0x6c, - 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x22, 0x99, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x74, 0x6f, - 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x59, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x13, 0x0a, + 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x70, + 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x14, + 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x74, 0x6f, + 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, 0x43, + 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xc9, 0x01, + 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x59, + 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, - 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, - 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, - 0x72, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x59, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x13, - 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x70, 0x65, 0x63, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, - 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, - 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, - 0x14, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x54, 0x6f, 0x6f, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, 0x86, + 0x01, 0x0a, 0x15, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x54, 0x6f, 0x6f, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x1a, 0x54, 0x6f, + 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x60, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x74, - 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xe1, - 0x01, 0x0a, 0x1a, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x60, 0x0a, - 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x61, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, - 0x8e, 0x01, 0x0a, 0x1d, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x22, 0xba, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x99, 0x01, 0x0a, 0x26, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x41, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, 0x74, 0x6f, 0x6f, 0x6c, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4c, 0x0a, - 0x20, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, - 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x19, - 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x61, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x18, - 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, - 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x69, 0x63, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, - 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x1b, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x25, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x20, 0x74, 0x6f, 0x6f, - 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4b, 0x0a, - 0x1f, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x1b, 0x0a, + 0x19, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, + 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x22, 0x8e, 0x01, 0x0a, 0x1d, 0x54, + 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0a, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x1c, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x99, 0x01, 0x0a, + 0x26, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2a, 0x57, 0x0a, 0x0e, 0x50, 0x61, - 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, - 0x50, 0x41, 0x49, 0x52, 0x57, 0x49, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, - 0x08, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x49, - 0x45, 0x10, 0x03, 0x32, 0xb8, 0x02, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd3, 0x01, 0x0a, 0x11, 0x45, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x21, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x20, 0x54, 0x6f, 0x6f, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x54, 0x6f, 0x6f, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x18, 0x54, 0x6f, 0x6f, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x63, + 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x75, 0x73, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x63, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0x8d, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x28, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x09, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, + 0xb6, 0x01, 0x0a, 0x1b, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x96, 0x01, 0x0a, 0x25, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x6b, 0x76, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, + 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x76, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4b, 0x0a, 0x1f, 0x54, 0x6f, 0x6f, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4b, 0x56, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x2a, 0x57, 0x0a, 0x0e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, + 0x65, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x49, 0x52, 0x57, + 0x49, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x53, 0x45, + 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, + 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x49, 0x45, 0x10, 0x03, 0x32, 0xb8, + 0x02, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xd3, 0x01, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, - 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 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, 0xed, - 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 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, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 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, 0xed, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, + 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -8092,7 +7467,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDescGZIP() } var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 101) +var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 93) var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_goTypes = []interface{}{ (PairwiseChoice)(0), // 0: google.cloud.aiplatform.v1beta1.PairwiseChoice (*EvaluateInstancesRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest @@ -8132,180 +7507,164 @@ var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_goTypes = []in (*FulfillmentInstance)(nil), // 35: google.cloud.aiplatform.v1beta1.FulfillmentInstance (*FulfillmentSpec)(nil), // 36: google.cloud.aiplatform.v1beta1.FulfillmentSpec (*FulfillmentResult)(nil), // 37: google.cloud.aiplatform.v1beta1.FulfillmentResult - (*ResponseRecallInput)(nil), // 38: google.cloud.aiplatform.v1beta1.ResponseRecallInput - (*ResponseRecallInstance)(nil), // 39: google.cloud.aiplatform.v1beta1.ResponseRecallInstance - (*ResponseRecallSpec)(nil), // 40: google.cloud.aiplatform.v1beta1.ResponseRecallSpec - (*ResponseRecallResult)(nil), // 41: google.cloud.aiplatform.v1beta1.ResponseRecallResult - (*SummarizationQualityInput)(nil), // 42: google.cloud.aiplatform.v1beta1.SummarizationQualityInput - (*SummarizationQualityInstance)(nil), // 43: google.cloud.aiplatform.v1beta1.SummarizationQualityInstance - (*SummarizationQualitySpec)(nil), // 44: google.cloud.aiplatform.v1beta1.SummarizationQualitySpec - (*SummarizationQualityResult)(nil), // 45: google.cloud.aiplatform.v1beta1.SummarizationQualityResult - (*PairwiseSummarizationQualityInput)(nil), // 46: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput - (*PairwiseSummarizationQualityInstance)(nil), // 47: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInstance - (*PairwiseSummarizationQualitySpec)(nil), // 48: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualitySpec - (*PairwiseSummarizationQualityResult)(nil), // 49: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult - (*SummarizationHelpfulnessInput)(nil), // 50: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput - (*SummarizationHelpfulnessInstance)(nil), // 51: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInstance - (*SummarizationHelpfulnessSpec)(nil), // 52: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessSpec - (*SummarizationHelpfulnessResult)(nil), // 53: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessResult - (*SummarizationVerbosityInput)(nil), // 54: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput - (*SummarizationVerbosityInstance)(nil), // 55: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInstance - (*SummarizationVerbositySpec)(nil), // 56: google.cloud.aiplatform.v1beta1.SummarizationVerbositySpec - (*SummarizationVerbosityResult)(nil), // 57: google.cloud.aiplatform.v1beta1.SummarizationVerbosityResult - (*QuestionAnsweringQualityInput)(nil), // 58: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput - (*QuestionAnsweringQualityInstance)(nil), // 59: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInstance - (*QuestionAnsweringQualitySpec)(nil), // 60: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualitySpec - (*QuestionAnsweringQualityResult)(nil), // 61: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityResult - (*PairwiseQuestionAnsweringQualityInput)(nil), // 62: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput - (*PairwiseQuestionAnsweringQualityInstance)(nil), // 63: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInstance - (*PairwiseQuestionAnsweringQualitySpec)(nil), // 64: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualitySpec - (*PairwiseQuestionAnsweringQualityResult)(nil), // 65: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult - (*QuestionAnsweringRelevanceInput)(nil), // 66: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput - (*QuestionAnsweringRelevanceInstance)(nil), // 67: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInstance - (*QuestionAnsweringRelevanceSpec)(nil), // 68: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceSpec - (*QuestionAnsweringRelevanceResult)(nil), // 69: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceResult - (*QuestionAnsweringHelpfulnessInput)(nil), // 70: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput - (*QuestionAnsweringHelpfulnessInstance)(nil), // 71: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInstance - (*QuestionAnsweringHelpfulnessSpec)(nil), // 72: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessSpec - (*QuestionAnsweringHelpfulnessResult)(nil), // 73: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessResult - (*QuestionAnsweringCorrectnessInput)(nil), // 74: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput - (*QuestionAnsweringCorrectnessInstance)(nil), // 75: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInstance - (*QuestionAnsweringCorrectnessSpec)(nil), // 76: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessSpec - (*QuestionAnsweringCorrectnessResult)(nil), // 77: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessResult - (*RagContextRecallInput)(nil), // 78: google.cloud.aiplatform.v1beta1.RagContextRecallInput - (*RagContextRecallInstance)(nil), // 79: google.cloud.aiplatform.v1beta1.RagContextRecallInstance - (*RagContextRecallSpec)(nil), // 80: google.cloud.aiplatform.v1beta1.RagContextRecallSpec - (*RagContextRecallResult)(nil), // 81: google.cloud.aiplatform.v1beta1.RagContextRecallResult - (*ToolCallValidInput)(nil), // 82: google.cloud.aiplatform.v1beta1.ToolCallValidInput - (*ToolCallValidSpec)(nil), // 83: google.cloud.aiplatform.v1beta1.ToolCallValidSpec - (*ToolCallValidInstance)(nil), // 84: google.cloud.aiplatform.v1beta1.ToolCallValidInstance - (*ToolCallValidResults)(nil), // 85: google.cloud.aiplatform.v1beta1.ToolCallValidResults - (*ToolCallValidMetricValue)(nil), // 86: google.cloud.aiplatform.v1beta1.ToolCallValidMetricValue - (*ToolNameMatchInput)(nil), // 87: google.cloud.aiplatform.v1beta1.ToolNameMatchInput - (*ToolNameMatchSpec)(nil), // 88: google.cloud.aiplatform.v1beta1.ToolNameMatchSpec - (*ToolNameMatchInstance)(nil), // 89: google.cloud.aiplatform.v1beta1.ToolNameMatchInstance - (*ToolNameMatchResults)(nil), // 90: google.cloud.aiplatform.v1beta1.ToolNameMatchResults - (*ToolNameMatchMetricValue)(nil), // 91: google.cloud.aiplatform.v1beta1.ToolNameMatchMetricValue - (*ToolParameterKeyMatchInput)(nil), // 92: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput - (*ToolParameterKeyMatchSpec)(nil), // 93: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchSpec - (*ToolParameterKeyMatchInstance)(nil), // 94: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInstance - (*ToolParameterKeyMatchResults)(nil), // 95: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults - (*ToolParameterKeyMatchMetricValue)(nil), // 96: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchMetricValue - (*ToolParameterKVMatchInput)(nil), // 97: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput - (*ToolParameterKVMatchSpec)(nil), // 98: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchSpec - (*ToolParameterKVMatchInstance)(nil), // 99: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInstance - (*ToolParameterKVMatchResults)(nil), // 100: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults - (*ToolParameterKVMatchMetricValue)(nil), // 101: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchMetricValue + (*SummarizationQualityInput)(nil), // 38: google.cloud.aiplatform.v1beta1.SummarizationQualityInput + (*SummarizationQualityInstance)(nil), // 39: google.cloud.aiplatform.v1beta1.SummarizationQualityInstance + (*SummarizationQualitySpec)(nil), // 40: google.cloud.aiplatform.v1beta1.SummarizationQualitySpec + (*SummarizationQualityResult)(nil), // 41: google.cloud.aiplatform.v1beta1.SummarizationQualityResult + (*PairwiseSummarizationQualityInput)(nil), // 42: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput + (*PairwiseSummarizationQualityInstance)(nil), // 43: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInstance + (*PairwiseSummarizationQualitySpec)(nil), // 44: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualitySpec + (*PairwiseSummarizationQualityResult)(nil), // 45: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult + (*SummarizationHelpfulnessInput)(nil), // 46: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput + (*SummarizationHelpfulnessInstance)(nil), // 47: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInstance + (*SummarizationHelpfulnessSpec)(nil), // 48: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessSpec + (*SummarizationHelpfulnessResult)(nil), // 49: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessResult + (*SummarizationVerbosityInput)(nil), // 50: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput + (*SummarizationVerbosityInstance)(nil), // 51: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInstance + (*SummarizationVerbositySpec)(nil), // 52: google.cloud.aiplatform.v1beta1.SummarizationVerbositySpec + (*SummarizationVerbosityResult)(nil), // 53: google.cloud.aiplatform.v1beta1.SummarizationVerbosityResult + (*QuestionAnsweringQualityInput)(nil), // 54: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput + (*QuestionAnsweringQualityInstance)(nil), // 55: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInstance + (*QuestionAnsweringQualitySpec)(nil), // 56: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualitySpec + (*QuestionAnsweringQualityResult)(nil), // 57: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityResult + (*PairwiseQuestionAnsweringQualityInput)(nil), // 58: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput + (*PairwiseQuestionAnsweringQualityInstance)(nil), // 59: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInstance + (*PairwiseQuestionAnsweringQualitySpec)(nil), // 60: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualitySpec + (*PairwiseQuestionAnsweringQualityResult)(nil), // 61: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult + (*QuestionAnsweringRelevanceInput)(nil), // 62: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput + (*QuestionAnsweringRelevanceInstance)(nil), // 63: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInstance + (*QuestionAnsweringRelevanceSpec)(nil), // 64: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceSpec + (*QuestionAnsweringRelevanceResult)(nil), // 65: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceResult + (*QuestionAnsweringHelpfulnessInput)(nil), // 66: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput + (*QuestionAnsweringHelpfulnessInstance)(nil), // 67: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInstance + (*QuestionAnsweringHelpfulnessSpec)(nil), // 68: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessSpec + (*QuestionAnsweringHelpfulnessResult)(nil), // 69: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessResult + (*QuestionAnsweringCorrectnessInput)(nil), // 70: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput + (*QuestionAnsweringCorrectnessInstance)(nil), // 71: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInstance + (*QuestionAnsweringCorrectnessSpec)(nil), // 72: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessSpec + (*QuestionAnsweringCorrectnessResult)(nil), // 73: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessResult + (*ToolCallValidInput)(nil), // 74: google.cloud.aiplatform.v1beta1.ToolCallValidInput + (*ToolCallValidSpec)(nil), // 75: google.cloud.aiplatform.v1beta1.ToolCallValidSpec + (*ToolCallValidInstance)(nil), // 76: google.cloud.aiplatform.v1beta1.ToolCallValidInstance + (*ToolCallValidResults)(nil), // 77: google.cloud.aiplatform.v1beta1.ToolCallValidResults + (*ToolCallValidMetricValue)(nil), // 78: google.cloud.aiplatform.v1beta1.ToolCallValidMetricValue + (*ToolNameMatchInput)(nil), // 79: google.cloud.aiplatform.v1beta1.ToolNameMatchInput + (*ToolNameMatchSpec)(nil), // 80: google.cloud.aiplatform.v1beta1.ToolNameMatchSpec + (*ToolNameMatchInstance)(nil), // 81: google.cloud.aiplatform.v1beta1.ToolNameMatchInstance + (*ToolNameMatchResults)(nil), // 82: google.cloud.aiplatform.v1beta1.ToolNameMatchResults + (*ToolNameMatchMetricValue)(nil), // 83: google.cloud.aiplatform.v1beta1.ToolNameMatchMetricValue + (*ToolParameterKeyMatchInput)(nil), // 84: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput + (*ToolParameterKeyMatchSpec)(nil), // 85: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchSpec + (*ToolParameterKeyMatchInstance)(nil), // 86: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInstance + (*ToolParameterKeyMatchResults)(nil), // 87: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults + (*ToolParameterKeyMatchMetricValue)(nil), // 88: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchMetricValue + (*ToolParameterKVMatchInput)(nil), // 89: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput + (*ToolParameterKVMatchSpec)(nil), // 90: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchSpec + (*ToolParameterKVMatchInstance)(nil), // 91: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInstance + (*ToolParameterKVMatchResults)(nil), // 92: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults + (*ToolParameterKVMatchMetricValue)(nil), // 93: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchMetricValue } var file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_depIdxs = []int32{ - 3, // 0: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.exact_match_input:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchInput - 8, // 1: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.bleu_input:type_name -> google.cloud.aiplatform.v1beta1.BleuInput - 13, // 2: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.rouge_input:type_name -> google.cloud.aiplatform.v1beta1.RougeInput - 22, // 3: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.fluency_input:type_name -> google.cloud.aiplatform.v1beta1.FluencyInput - 18, // 4: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.coherence_input:type_name -> google.cloud.aiplatform.v1beta1.CoherenceInput - 26, // 5: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.safety_input:type_name -> google.cloud.aiplatform.v1beta1.SafetyInput - 30, // 6: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.groundedness_input:type_name -> google.cloud.aiplatform.v1beta1.GroundednessInput - 34, // 7: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.fulfillment_input:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentInput - 38, // 8: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.response_recall_input:type_name -> google.cloud.aiplatform.v1beta1.ResponseRecallInput - 42, // 9: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_quality_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityInput - 46, // 10: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.pairwise_summarization_quality_input:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput - 50, // 11: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_helpfulness_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput - 54, // 12: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_verbosity_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput - 58, // 13: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_quality_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput - 62, // 14: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.pairwise_question_answering_quality_input:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput - 66, // 15: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_relevance_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput - 70, // 16: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_helpfulness_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput - 74, // 17: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_correctness_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput - 78, // 18: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.rag_context_recall_input:type_name -> google.cloud.aiplatform.v1beta1.RagContextRecallInput - 82, // 19: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_call_valid_input:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidInput - 87, // 20: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_name_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchInput - 92, // 21: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_parameter_key_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput - 97, // 22: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_parameter_kv_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput - 6, // 23: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.exact_match_results:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchResults - 11, // 24: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.bleu_results:type_name -> google.cloud.aiplatform.v1beta1.BleuResults - 16, // 25: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.rouge_results:type_name -> google.cloud.aiplatform.v1beta1.RougeResults - 25, // 26: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.fluency_result:type_name -> google.cloud.aiplatform.v1beta1.FluencyResult - 21, // 27: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.coherence_result:type_name -> google.cloud.aiplatform.v1beta1.CoherenceResult - 29, // 28: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.safety_result:type_name -> google.cloud.aiplatform.v1beta1.SafetyResult - 33, // 29: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.groundedness_result:type_name -> google.cloud.aiplatform.v1beta1.GroundednessResult - 37, // 30: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.fulfillment_result:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentResult - 41, // 31: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.response_recall_result:type_name -> google.cloud.aiplatform.v1beta1.ResponseRecallResult - 45, // 32: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_quality_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityResult - 49, // 33: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.pairwise_summarization_quality_result:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult - 53, // 34: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_helpfulness_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessResult - 57, // 35: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_verbosity_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityResult - 61, // 36: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_quality_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityResult - 65, // 37: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.pairwise_question_answering_quality_result:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult - 69, // 38: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_relevance_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceResult - 73, // 39: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_helpfulness_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessResult - 77, // 40: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_correctness_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessResult - 81, // 41: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.rag_context_recall_result:type_name -> google.cloud.aiplatform.v1beta1.RagContextRecallResult - 85, // 42: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_call_valid_results:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidResults - 90, // 43: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_name_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchResults - 95, // 44: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_parameter_key_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults - 100, // 45: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_parameter_kv_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults - 5, // 46: google.cloud.aiplatform.v1beta1.ExactMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchSpec - 4, // 47: google.cloud.aiplatform.v1beta1.ExactMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchInstance - 7, // 48: google.cloud.aiplatform.v1beta1.ExactMatchResults.exact_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchMetricValue - 10, // 49: google.cloud.aiplatform.v1beta1.BleuInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.BleuSpec - 9, // 50: google.cloud.aiplatform.v1beta1.BleuInput.instances:type_name -> google.cloud.aiplatform.v1beta1.BleuInstance - 12, // 51: google.cloud.aiplatform.v1beta1.BleuResults.bleu_metric_values:type_name -> google.cloud.aiplatform.v1beta1.BleuMetricValue - 15, // 52: google.cloud.aiplatform.v1beta1.RougeInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.RougeSpec - 14, // 53: google.cloud.aiplatform.v1beta1.RougeInput.instances:type_name -> google.cloud.aiplatform.v1beta1.RougeInstance - 17, // 54: google.cloud.aiplatform.v1beta1.RougeResults.rouge_metric_values:type_name -> google.cloud.aiplatform.v1beta1.RougeMetricValue - 20, // 55: google.cloud.aiplatform.v1beta1.CoherenceInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.CoherenceSpec - 19, // 56: google.cloud.aiplatform.v1beta1.CoherenceInput.instance:type_name -> google.cloud.aiplatform.v1beta1.CoherenceInstance - 24, // 57: google.cloud.aiplatform.v1beta1.FluencyInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.FluencySpec - 23, // 58: google.cloud.aiplatform.v1beta1.FluencyInput.instance:type_name -> google.cloud.aiplatform.v1beta1.FluencyInstance - 28, // 59: google.cloud.aiplatform.v1beta1.SafetyInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SafetySpec - 27, // 60: google.cloud.aiplatform.v1beta1.SafetyInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SafetyInstance - 32, // 61: google.cloud.aiplatform.v1beta1.GroundednessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.GroundednessSpec - 31, // 62: google.cloud.aiplatform.v1beta1.GroundednessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.GroundednessInstance - 36, // 63: google.cloud.aiplatform.v1beta1.FulfillmentInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentSpec - 35, // 64: google.cloud.aiplatform.v1beta1.FulfillmentInput.instance:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentInstance - 40, // 65: google.cloud.aiplatform.v1beta1.ResponseRecallInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ResponseRecallSpec - 39, // 66: google.cloud.aiplatform.v1beta1.ResponseRecallInput.instance:type_name -> google.cloud.aiplatform.v1beta1.ResponseRecallInstance - 44, // 67: google.cloud.aiplatform.v1beta1.SummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualitySpec - 43, // 68: google.cloud.aiplatform.v1beta1.SummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityInstance - 48, // 69: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualitySpec - 47, // 70: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInstance - 0, // 71: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1beta1.PairwiseChoice - 52, // 72: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessSpec - 51, // 73: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInstance - 56, // 74: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbositySpec - 55, // 75: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityInstance - 60, // 76: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualitySpec - 59, // 77: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInstance - 64, // 78: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualitySpec - 63, // 79: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInstance - 0, // 80: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1beta1.PairwiseChoice - 68, // 81: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceSpec - 67, // 82: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInstance - 72, // 83: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessSpec - 71, // 84: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInstance - 76, // 85: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessSpec - 75, // 86: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInstance - 80, // 87: google.cloud.aiplatform.v1beta1.RagContextRecallInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.RagContextRecallSpec - 79, // 88: google.cloud.aiplatform.v1beta1.RagContextRecallInput.instance:type_name -> google.cloud.aiplatform.v1beta1.RagContextRecallInstance - 83, // 89: google.cloud.aiplatform.v1beta1.ToolCallValidInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidSpec - 84, // 90: google.cloud.aiplatform.v1beta1.ToolCallValidInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidInstance - 86, // 91: google.cloud.aiplatform.v1beta1.ToolCallValidResults.tool_call_valid_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidMetricValue - 88, // 92: google.cloud.aiplatform.v1beta1.ToolNameMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchSpec - 89, // 93: google.cloud.aiplatform.v1beta1.ToolNameMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchInstance - 91, // 94: google.cloud.aiplatform.v1beta1.ToolNameMatchResults.tool_name_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchMetricValue - 93, // 95: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchSpec - 94, // 96: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInstance - 96, // 97: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults.tool_parameter_key_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchMetricValue - 98, // 98: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchSpec - 99, // 99: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInstance - 101, // 100: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults.tool_parameter_kv_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchMetricValue - 1, // 101: google.cloud.aiplatform.v1beta1.EvaluationService.EvaluateInstances:input_type -> google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest - 2, // 102: google.cloud.aiplatform.v1beta1.EvaluationService.EvaluateInstances:output_type -> google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse - 102, // [102:103] is the sub-list for method output_type - 101, // [101:102] is the sub-list for method input_type - 101, // [101:101] is the sub-list for extension type_name - 101, // [101:101] is the sub-list for extension extendee - 0, // [0:101] is the sub-list for field type_name + 3, // 0: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.exact_match_input:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchInput + 8, // 1: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.bleu_input:type_name -> google.cloud.aiplatform.v1beta1.BleuInput + 13, // 2: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.rouge_input:type_name -> google.cloud.aiplatform.v1beta1.RougeInput + 22, // 3: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.fluency_input:type_name -> google.cloud.aiplatform.v1beta1.FluencyInput + 18, // 4: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.coherence_input:type_name -> google.cloud.aiplatform.v1beta1.CoherenceInput + 26, // 5: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.safety_input:type_name -> google.cloud.aiplatform.v1beta1.SafetyInput + 30, // 6: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.groundedness_input:type_name -> google.cloud.aiplatform.v1beta1.GroundednessInput + 34, // 7: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.fulfillment_input:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentInput + 38, // 8: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_quality_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityInput + 42, // 9: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.pairwise_summarization_quality_input:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput + 46, // 10: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_helpfulness_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput + 50, // 11: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.summarization_verbosity_input:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput + 54, // 12: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_quality_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput + 58, // 13: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.pairwise_question_answering_quality_input:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput + 62, // 14: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_relevance_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput + 66, // 15: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_helpfulness_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput + 70, // 16: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.question_answering_correctness_input:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput + 74, // 17: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_call_valid_input:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidInput + 79, // 18: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_name_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchInput + 84, // 19: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_parameter_key_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput + 89, // 20: google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest.tool_parameter_kv_match_input:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput + 6, // 21: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.exact_match_results:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchResults + 11, // 22: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.bleu_results:type_name -> google.cloud.aiplatform.v1beta1.BleuResults + 16, // 23: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.rouge_results:type_name -> google.cloud.aiplatform.v1beta1.RougeResults + 25, // 24: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.fluency_result:type_name -> google.cloud.aiplatform.v1beta1.FluencyResult + 21, // 25: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.coherence_result:type_name -> google.cloud.aiplatform.v1beta1.CoherenceResult + 29, // 26: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.safety_result:type_name -> google.cloud.aiplatform.v1beta1.SafetyResult + 33, // 27: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.groundedness_result:type_name -> google.cloud.aiplatform.v1beta1.GroundednessResult + 37, // 28: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.fulfillment_result:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentResult + 41, // 29: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_quality_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityResult + 45, // 30: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.pairwise_summarization_quality_result:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult + 49, // 31: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_helpfulness_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessResult + 53, // 32: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.summarization_verbosity_result:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityResult + 57, // 33: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_quality_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityResult + 61, // 34: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.pairwise_question_answering_quality_result:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult + 65, // 35: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_relevance_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceResult + 69, // 36: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_helpfulness_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessResult + 73, // 37: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.question_answering_correctness_result:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessResult + 77, // 38: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_call_valid_results:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidResults + 82, // 39: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_name_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchResults + 87, // 40: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_parameter_key_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults + 92, // 41: google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse.tool_parameter_kv_match_results:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults + 5, // 42: google.cloud.aiplatform.v1beta1.ExactMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchSpec + 4, // 43: google.cloud.aiplatform.v1beta1.ExactMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchInstance + 7, // 44: google.cloud.aiplatform.v1beta1.ExactMatchResults.exact_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ExactMatchMetricValue + 10, // 45: google.cloud.aiplatform.v1beta1.BleuInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.BleuSpec + 9, // 46: google.cloud.aiplatform.v1beta1.BleuInput.instances:type_name -> google.cloud.aiplatform.v1beta1.BleuInstance + 12, // 47: google.cloud.aiplatform.v1beta1.BleuResults.bleu_metric_values:type_name -> google.cloud.aiplatform.v1beta1.BleuMetricValue + 15, // 48: google.cloud.aiplatform.v1beta1.RougeInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.RougeSpec + 14, // 49: google.cloud.aiplatform.v1beta1.RougeInput.instances:type_name -> google.cloud.aiplatform.v1beta1.RougeInstance + 17, // 50: google.cloud.aiplatform.v1beta1.RougeResults.rouge_metric_values:type_name -> google.cloud.aiplatform.v1beta1.RougeMetricValue + 20, // 51: google.cloud.aiplatform.v1beta1.CoherenceInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.CoherenceSpec + 19, // 52: google.cloud.aiplatform.v1beta1.CoherenceInput.instance:type_name -> google.cloud.aiplatform.v1beta1.CoherenceInstance + 24, // 53: google.cloud.aiplatform.v1beta1.FluencyInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.FluencySpec + 23, // 54: google.cloud.aiplatform.v1beta1.FluencyInput.instance:type_name -> google.cloud.aiplatform.v1beta1.FluencyInstance + 28, // 55: google.cloud.aiplatform.v1beta1.SafetyInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SafetySpec + 27, // 56: google.cloud.aiplatform.v1beta1.SafetyInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SafetyInstance + 32, // 57: google.cloud.aiplatform.v1beta1.GroundednessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.GroundednessSpec + 31, // 58: google.cloud.aiplatform.v1beta1.GroundednessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.GroundednessInstance + 36, // 59: google.cloud.aiplatform.v1beta1.FulfillmentInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentSpec + 35, // 60: google.cloud.aiplatform.v1beta1.FulfillmentInput.instance:type_name -> google.cloud.aiplatform.v1beta1.FulfillmentInstance + 40, // 61: google.cloud.aiplatform.v1beta1.SummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualitySpec + 39, // 62: google.cloud.aiplatform.v1beta1.SummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationQualityInstance + 44, // 63: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualitySpec + 43, // 64: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityInstance + 0, // 65: google.cloud.aiplatform.v1beta1.PairwiseSummarizationQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1beta1.PairwiseChoice + 48, // 66: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessSpec + 47, // 67: google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationHelpfulnessInstance + 52, // 68: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbositySpec + 51, // 69: google.cloud.aiplatform.v1beta1.SummarizationVerbosityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.SummarizationVerbosityInstance + 56, // 70: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualitySpec + 55, // 71: google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringQualityInstance + 60, // 72: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualitySpec + 59, // 73: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInput.instance:type_name -> google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityInstance + 0, // 74: google.cloud.aiplatform.v1beta1.PairwiseQuestionAnsweringQualityResult.pairwise_choice:type_name -> google.cloud.aiplatform.v1beta1.PairwiseChoice + 64, // 75: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceSpec + 63, // 76: google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringRelevanceInstance + 68, // 77: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessSpec + 67, // 78: google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringHelpfulnessInstance + 72, // 79: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessSpec + 71, // 80: google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInput.instance:type_name -> google.cloud.aiplatform.v1beta1.QuestionAnsweringCorrectnessInstance + 75, // 81: google.cloud.aiplatform.v1beta1.ToolCallValidInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidSpec + 76, // 82: google.cloud.aiplatform.v1beta1.ToolCallValidInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidInstance + 78, // 83: google.cloud.aiplatform.v1beta1.ToolCallValidResults.tool_call_valid_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolCallValidMetricValue + 80, // 84: google.cloud.aiplatform.v1beta1.ToolNameMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchSpec + 81, // 85: google.cloud.aiplatform.v1beta1.ToolNameMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchInstance + 83, // 86: google.cloud.aiplatform.v1beta1.ToolNameMatchResults.tool_name_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolNameMatchMetricValue + 85, // 87: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchSpec + 86, // 88: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchInstance + 88, // 89: google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchResults.tool_parameter_key_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKeyMatchMetricValue + 90, // 90: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput.metric_spec:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchSpec + 91, // 91: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInput.instances:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchInstance + 93, // 92: google.cloud.aiplatform.v1beta1.ToolParameterKVMatchResults.tool_parameter_kv_match_metric_values:type_name -> google.cloud.aiplatform.v1beta1.ToolParameterKVMatchMetricValue + 1, // 93: google.cloud.aiplatform.v1beta1.EvaluationService.EvaluateInstances:input_type -> google.cloud.aiplatform.v1beta1.EvaluateInstancesRequest + 2, // 94: google.cloud.aiplatform.v1beta1.EvaluationService.EvaluateInstances:output_type -> google.cloud.aiplatform.v1beta1.EvaluateInstancesResponse + 94, // [94:95] is the sub-list for method output_type + 93, // [93:94] is the sub-list for method input_type + 93, // [93:93] is the sub-list for extension type_name + 93, // [93:93] is the sub-list for extension extendee + 0, // [0:93] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() } @@ -8759,54 +8118,6 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { } } file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponseRecallInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponseRecallInstance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponseRecallSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResponseRecallResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationQualityInput); i { case 0: return &v.state @@ -8818,7 +8129,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationQualityInstance); i { case 0: return &v.state @@ -8830,7 +8141,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationQualitySpec); i { case 0: return &v.state @@ -8842,7 +8153,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationQualityResult); i { case 0: return &v.state @@ -8854,7 +8165,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseSummarizationQualityInput); i { case 0: return &v.state @@ -8866,7 +8177,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseSummarizationQualityInstance); i { case 0: return &v.state @@ -8878,7 +8189,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseSummarizationQualitySpec); i { case 0: return &v.state @@ -8890,7 +8201,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseSummarizationQualityResult); i { case 0: return &v.state @@ -8902,7 +8213,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationHelpfulnessInput); i { case 0: return &v.state @@ -8914,7 +8225,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationHelpfulnessInstance); i { case 0: return &v.state @@ -8926,7 +8237,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationHelpfulnessSpec); i { case 0: return &v.state @@ -8938,7 +8249,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationHelpfulnessResult); i { case 0: return &v.state @@ -8950,7 +8261,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationVerbosityInput); i { case 0: return &v.state @@ -8962,7 +8273,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationVerbosityInstance); i { case 0: return &v.state @@ -8974,7 +8285,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationVerbositySpec); i { case 0: return &v.state @@ -8986,7 +8297,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SummarizationVerbosityResult); i { case 0: return &v.state @@ -8998,7 +8309,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringQualityInput); i { case 0: return &v.state @@ -9010,7 +8321,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringQualityInstance); i { case 0: return &v.state @@ -9022,7 +8333,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringQualitySpec); i { case 0: return &v.state @@ -9034,7 +8345,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringQualityResult); i { case 0: return &v.state @@ -9046,7 +8357,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseQuestionAnsweringQualityInput); i { case 0: return &v.state @@ -9058,7 +8369,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseQuestionAnsweringQualityInstance); i { case 0: return &v.state @@ -9070,7 +8381,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseQuestionAnsweringQualitySpec); i { case 0: return &v.state @@ -9082,7 +8393,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PairwiseQuestionAnsweringQualityResult); i { case 0: return &v.state @@ -9094,7 +8405,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringRelevanceInput); i { case 0: return &v.state @@ -9106,7 +8417,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringRelevanceInstance); i { case 0: return &v.state @@ -9118,7 +8429,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringRelevanceSpec); i { case 0: return &v.state @@ -9130,7 +8441,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringRelevanceResult); i { case 0: return &v.state @@ -9142,7 +8453,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringHelpfulnessInput); i { case 0: return &v.state @@ -9154,7 +8465,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringHelpfulnessInstance); i { case 0: return &v.state @@ -9166,7 +8477,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringHelpfulnessSpec); i { case 0: return &v.state @@ -9178,7 +8489,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringHelpfulnessResult); i { case 0: return &v.state @@ -9190,7 +8501,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringCorrectnessInput); i { case 0: return &v.state @@ -9202,7 +8513,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringCorrectnessInstance); i { case 0: return &v.state @@ -9214,7 +8525,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringCorrectnessSpec); i { case 0: return &v.state @@ -9226,7 +8537,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuestionAnsweringCorrectnessResult); i { case 0: return &v.state @@ -9238,55 +8549,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RagContextRecallInput); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RagContextRecallInstance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RagContextRecallSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RagContextRecallResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolCallValidInput); i { case 0: return &v.state @@ -9298,7 +8561,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolCallValidSpec); i { case 0: return &v.state @@ -9310,7 +8573,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolCallValidInstance); i { case 0: return &v.state @@ -9322,7 +8585,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolCallValidResults); i { case 0: return &v.state @@ -9334,7 +8597,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolCallValidMetricValue); i { case 0: return &v.state @@ -9346,7 +8609,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolNameMatchInput); i { case 0: return &v.state @@ -9358,7 +8621,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolNameMatchSpec); i { case 0: return &v.state @@ -9370,7 +8633,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolNameMatchInstance); i { case 0: return &v.state @@ -9382,7 +8645,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolNameMatchResults); i { case 0: return &v.state @@ -9394,7 +8657,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolNameMatchMetricValue); i { case 0: return &v.state @@ -9406,7 +8669,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKeyMatchInput); i { case 0: return &v.state @@ -9418,7 +8681,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKeyMatchSpec); i { case 0: return &v.state @@ -9430,7 +8693,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKeyMatchInstance); i { case 0: return &v.state @@ -9442,7 +8705,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKeyMatchResults); i { case 0: return &v.state @@ -9454,7 +8717,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKeyMatchMetricValue); i { case 0: return &v.state @@ -9466,7 +8729,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKVMatchInput); i { case 0: return &v.state @@ -9478,7 +8741,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKVMatchSpec); i { case 0: return &v.state @@ -9490,7 +8753,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKVMatchInstance); i { case 0: return &v.state @@ -9502,7 +8765,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKVMatchResults); i { case 0: return &v.state @@ -9514,7 +8777,7 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolParameterKVMatchMetricValue); i { case 0: return &v.state @@ -9536,7 +8799,6 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { (*EvaluateInstancesRequest_SafetyInput)(nil), (*EvaluateInstancesRequest_GroundednessInput)(nil), (*EvaluateInstancesRequest_FulfillmentInput)(nil), - (*EvaluateInstancesRequest_ResponseRecallInput)(nil), (*EvaluateInstancesRequest_SummarizationQualityInput)(nil), (*EvaluateInstancesRequest_PairwiseSummarizationQualityInput)(nil), (*EvaluateInstancesRequest_SummarizationHelpfulnessInput)(nil), @@ -9546,7 +8808,6 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { (*EvaluateInstancesRequest_QuestionAnsweringRelevanceInput)(nil), (*EvaluateInstancesRequest_QuestionAnsweringHelpfulnessInput)(nil), (*EvaluateInstancesRequest_QuestionAnsweringCorrectnessInput)(nil), - (*EvaluateInstancesRequest_RagContextRecallInput)(nil), (*EvaluateInstancesRequest_ToolCallValidInput)(nil), (*EvaluateInstancesRequest_ToolNameMatchInput)(nil), (*EvaluateInstancesRequest_ToolParameterKeyMatchInput)(nil), @@ -9561,7 +8822,6 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { (*EvaluateInstancesResponse_SafetyResult)(nil), (*EvaluateInstancesResponse_GroundednessResult)(nil), (*EvaluateInstancesResponse_FulfillmentResult)(nil), - (*EvaluateInstancesResponse_ResponseRecallResult)(nil), (*EvaluateInstancesResponse_SummarizationQualityResult)(nil), (*EvaluateInstancesResponse_PairwiseSummarizationQualityResult)(nil), (*EvaluateInstancesResponse_SummarizationHelpfulnessResult)(nil), @@ -9571,7 +8831,6 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { (*EvaluateInstancesResponse_QuestionAnsweringRelevanceResult)(nil), (*EvaluateInstancesResponse_QuestionAnsweringHelpfulnessResult)(nil), (*EvaluateInstancesResponse_QuestionAnsweringCorrectnessResult)(nil), - (*EvaluateInstancesResponse_RagContextRecallResult)(nil), (*EvaluateInstancesResponse_ToolCallValidResults)(nil), (*EvaluateInstancesResponse_ToolNameMatchResults)(nil), (*EvaluateInstancesResponse_ToolParameterKeyMatchResults)(nil), @@ -9611,25 +8870,21 @@ func file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_init() { file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[68].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[70].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[72].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[74].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[76].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[78].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[75].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[77].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[80].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[83].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[82].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[85].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[88].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[87].OneofWrappers = []interface{}{} file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[90].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[93].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[95].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[98].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[100].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_msgTypes[92].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_evaluation_service_proto_rawDesc, NumEnums: 1, - NumMessages: 101, + NumMessages: 93, NumExtensions: 0, NumServices: 1, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/extension.pb.go b/aiplatform/apiv1beta1/aiplatformpb/extension.pb.go index e2285497ab76..0154875363bc 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/extension.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/extension.pb.go @@ -202,9 +202,14 @@ type Extension struct { // Optional. Examples to illustrate the usage of the extension as a tool. ToolUseExamples []*ToolUseExample `protobuf:"bytes,15,rep,name=tool_use_examples,json=toolUseExamples,proto3" json:"tool_use_examples,omitempty"` // Optional. The PrivateServiceConnect config for the extension. - // If specified, the service endpoints associated with the Extension should be - // registered in the provided Service Directory + // If specified, the service endpoints associated with the + // Extension should be registered with private network access in the provided + // Service Directory // (https://cloud.google.com/service-directory/docs/configuring-private-network-access). + // + // If the service contains more than one endpoint with a network, the service + // will arbitrarilty choose one of the endpoints to use for extension + // execution. PrivateServiceConnectConfig *ExtensionPrivateServiceConnectConfig `protobuf:"bytes,16,opt,name=private_service_connect_config,json=privateServiceConnectConfig,proto3" json:"private_service_connect_config,omitempty"` } @@ -840,45 +845,6 @@ func (*ExtensionManifest_ApiSpec_OpenApiYaml) isExtensionManifest_ApiSpec_ApiSpe func (*ExtensionManifest_ApiSpec_OpenApiGcsUri) isExtensionManifest_ApiSpec_ApiSpec() {} -// Empty message, used to indicate no authentication for an endpoint. -type AuthConfig_NoAuth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *AuthConfig_NoAuth) Reset() { - *x = AuthConfig_NoAuth{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AuthConfig_NoAuth) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AuthConfig_NoAuth) ProtoMessage() {} - -func (x *AuthConfig_NoAuth) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_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 AuthConfig_NoAuth.ProtoReflect.Descriptor instead. -func (*AuthConfig_NoAuth) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 0} -} - // Config for authentication with API key. type AuthConfig_ApiKeyConfig struct { state protoimpl.MessageState @@ -905,7 +871,7 @@ type AuthConfig_ApiKeyConfig struct { func (x *AuthConfig_ApiKeyConfig) Reset() { *x = AuthConfig_ApiKeyConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -918,7 +884,7 @@ func (x *AuthConfig_ApiKeyConfig) String() string { func (*AuthConfig_ApiKeyConfig) ProtoMessage() {} func (x *AuthConfig_ApiKeyConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -931,7 +897,7 @@ func (x *AuthConfig_ApiKeyConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthConfig_ApiKeyConfig.ProtoReflect.Descriptor instead. func (*AuthConfig_ApiKeyConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 1} + return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 0} } func (x *AuthConfig_ApiKeyConfig) GetName() string { @@ -975,7 +941,7 @@ type AuthConfig_HttpBasicAuthConfig struct { func (x *AuthConfig_HttpBasicAuthConfig) Reset() { *x = AuthConfig_HttpBasicAuthConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -988,7 +954,7 @@ func (x *AuthConfig_HttpBasicAuthConfig) String() string { func (*AuthConfig_HttpBasicAuthConfig) ProtoMessage() {} func (x *AuthConfig_HttpBasicAuthConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1001,7 +967,7 @@ func (x *AuthConfig_HttpBasicAuthConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthConfig_HttpBasicAuthConfig.ProtoReflect.Descriptor instead. func (*AuthConfig_HttpBasicAuthConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 2} + return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 1} } func (x *AuthConfig_HttpBasicAuthConfig) GetCredentialSecret() string { @@ -1034,7 +1000,7 @@ type AuthConfig_GoogleServiceAccountConfig struct { func (x *AuthConfig_GoogleServiceAccountConfig) Reset() { *x = AuthConfig_GoogleServiceAccountConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1047,7 +1013,7 @@ func (x *AuthConfig_GoogleServiceAccountConfig) String() string { func (*AuthConfig_GoogleServiceAccountConfig) ProtoMessage() {} func (x *AuthConfig_GoogleServiceAccountConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1060,7 +1026,7 @@ func (x *AuthConfig_GoogleServiceAccountConfig) ProtoReflect() protoreflect.Mess // Deprecated: Use AuthConfig_GoogleServiceAccountConfig.ProtoReflect.Descriptor instead. func (*AuthConfig_GoogleServiceAccountConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 3} + return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 2} } func (x *AuthConfig_GoogleServiceAccountConfig) GetServiceAccount() string { @@ -1086,7 +1052,7 @@ type AuthConfig_OauthConfig struct { func (x *AuthConfig_OauthConfig) Reset() { *x = AuthConfig_OauthConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1099,7 +1065,7 @@ func (x *AuthConfig_OauthConfig) String() string { func (*AuthConfig_OauthConfig) ProtoMessage() {} func (x *AuthConfig_OauthConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1112,7 +1078,7 @@ func (x *AuthConfig_OauthConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthConfig_OauthConfig.ProtoReflect.Descriptor instead. func (*AuthConfig_OauthConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 4} + return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 3} } func (m *AuthConfig_OauthConfig) GetOauthConfig() isAuthConfig_OauthConfig_OauthConfig { @@ -1179,7 +1145,7 @@ type AuthConfig_OidcConfig struct { func (x *AuthConfig_OidcConfig) Reset() { *x = AuthConfig_OidcConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1192,7 +1158,7 @@ func (x *AuthConfig_OidcConfig) String() string { func (*AuthConfig_OidcConfig) ProtoMessage() {} func (x *AuthConfig_OidcConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1205,7 +1171,7 @@ func (x *AuthConfig_OidcConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthConfig_OidcConfig.ProtoReflect.Descriptor instead. func (*AuthConfig_OidcConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 5} + return file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP(), []int{3, 4} } func (m *AuthConfig_OidcConfig) GetOidcConfig() isAuthConfig_OidcConfig_OidcConfig { @@ -1283,7 +1249,7 @@ type RuntimeConfig_CodeInterpreterRuntimeConfig struct { func (x *RuntimeConfig_CodeInterpreterRuntimeConfig) Reset() { *x = RuntimeConfig_CodeInterpreterRuntimeConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1296,7 +1262,7 @@ func (x *RuntimeConfig_CodeInterpreterRuntimeConfig) String() string { func (*RuntimeConfig_CodeInterpreterRuntimeConfig) ProtoMessage() {} func (x *RuntimeConfig_CodeInterpreterRuntimeConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1341,7 +1307,7 @@ type RuntimeConfig_VertexAISearchRuntimeConfig struct { func (x *RuntimeConfig_VertexAISearchRuntimeConfig) Reset() { *x = RuntimeConfig_VertexAISearchRuntimeConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[14] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1354,7 +1320,7 @@ func (x *RuntimeConfig_VertexAISearchRuntimeConfig) String() string { func (*RuntimeConfig_VertexAISearchRuntimeConfig) ProtoMessage() {} func (x *RuntimeConfig_VertexAISearchRuntimeConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[14] + mi := &file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1487,7 +1453,7 @@ var file_google_cloud_aiplatform_v1beta1_extension_proto_rawDesc = []byte{ 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x0a, 0x0a, 0x0a, 0x41, + 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x0a, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, @@ -1527,152 +1493,151 @@ var file_google_cloud_aiplatform_v1beta1_extension_proto_rawDesc = []byte{ 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x54, 0x79, - 0x70, 0x65, 0x1a, 0x08, 0x0a, 0x06, 0x4e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x1a, 0xf0, 0x01, 0x0a, - 0x0c, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 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, 0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x12, 0x6d, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0x76, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 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, 0x10, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x4a, 0x0a, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x1a, 0x6d, 0x0a, 0x0b, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x1a, 0x63, 0x0a, 0x0a, 0x4f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, + 0x70, 0x65, 0x1a, 0xf0, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x0e, + 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, + 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, 0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x6d, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x45, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x76, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x11, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x02, 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, 0x10, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x4a, 0x0a, + 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x6d, 0x0a, 0x0b, 0x4f, 0x61, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8a, 0x05, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x94, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x64, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x4b, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x1c, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, - 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x92, 0x01, 0x0a, 0x1f, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x61, 0x69, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, - 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1b, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, - 0x69, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 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, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x90, 0x01, 0x0a, 0x1c, 0x43, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x15, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x47, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x47, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x52, 0x0a, 0x1b, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74, + 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x63, 0x0a, 0x0a, 0x4f, 0x69, 0x64, 0x63, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, + 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, + 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8a, 0x05, 0x0a, + 0x0d, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x94, + 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x65, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1c, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x92, 0x01, 0x0a, 0x1f, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, + 0x5f, 0x61, 0x69, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4a, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x13, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, - 0x42, 0x21, 0x0a, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x11, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, - 0x27, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2a, 0x8d, 0x01, 0x0a, 0x13, 0x48, - 0x74, 0x74, 0x70, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, - 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x12, - 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, - 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x41, - 0x54, 0x48, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, - 0x42, 0x4f, 0x44, 0x59, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, - 0x4e, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0x05, 0x2a, 0x94, 0x01, 0x0a, 0x08, 0x41, - 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x55, 0x54, 0x48, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x01, 0x12, - 0x10, 0x0a, 0x0c, 0x41, 0x50, 0x49, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, - 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, - 0x41, 0x55, 0x54, 0x48, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x41, 0x55, 0x54, 0x48, - 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x49, 0x44, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, - 0x08, 0x42, 0xa7, 0x04, 0xea, 0x41, 0xbf, 0x01, 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, 0x12, 0x52, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 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, 0xea, 0x41, 0x7c, 0x0a, 0x27, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x51, 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, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0e, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1b, 0x76, + 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x69, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 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, 0x01, + 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, + 0x90, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, + 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x36, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x67, + 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x47, + 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x66, + 0x69, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x47, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x1a, 0x52, 0x0a, 0x1b, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x21, 0x0a, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x84, 0x01, 0x0a, 0x24, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x2a, 0x8d, 0x01, 0x0a, 0x13, 0x48, 0x74, 0x74, 0x70, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x54, 0x54, 0x50, + 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x51, 0x55, 0x45, + 0x52, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, + 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x54, 0x54, 0x50, + 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x48, 0x54, + 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x4f, 0x44, 0x59, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, + 0x48, 0x54, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0x05, + 0x2a, 0x94, 0x01, 0x0a, 0x08, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, + 0x15, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x5f, 0x41, + 0x55, 0x54, 0x48, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x50, 0x49, 0x5f, 0x4b, 0x45, 0x59, + 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x5f, + 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, + 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, + 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x04, 0x12, 0x09, 0x0a, + 0x05, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x49, 0x44, 0x43, + 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x08, 0x42, 0xa7, 0x04, 0xea, 0x41, 0xbf, 0x01, 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, 0x12, 0x52, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x73, 0x65, 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, 0xea, 0x41, 0x7c, + 0x0a, 0x27, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 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, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1688,7 +1653,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_rawDescGZIP() []byte { } var file_google_cloud_aiplatform_v1beta1_extension_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_google_cloud_aiplatform_v1beta1_extension_proto_goTypes = []interface{}{ (HttpElementLocation)(0), // 0: google.cloud.aiplatform.v1beta1.HttpElementLocation (AuthType)(0), // 1: google.cloud.aiplatform.v1beta1.AuthType @@ -1699,39 +1664,38 @@ var file_google_cloud_aiplatform_v1beta1_extension_proto_goTypes = []interface{} (*RuntimeConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.RuntimeConfig (*ExtensionPrivateServiceConnectConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.ExtensionPrivateServiceConnectConfig (*ExtensionManifest_ApiSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.ExtensionManifest.ApiSpec - (*AuthConfig_NoAuth)(nil), // 9: google.cloud.aiplatform.v1beta1.AuthConfig.NoAuth - (*AuthConfig_ApiKeyConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.AuthConfig.ApiKeyConfig - (*AuthConfig_HttpBasicAuthConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.AuthConfig.HttpBasicAuthConfig - (*AuthConfig_GoogleServiceAccountConfig)(nil), // 12: google.cloud.aiplatform.v1beta1.AuthConfig.GoogleServiceAccountConfig - (*AuthConfig_OauthConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.AuthConfig.OauthConfig - (*AuthConfig_OidcConfig)(nil), // 14: google.cloud.aiplatform.v1beta1.AuthConfig.OidcConfig - (*RuntimeConfig_CodeInterpreterRuntimeConfig)(nil), // 15: google.cloud.aiplatform.v1beta1.RuntimeConfig.CodeInterpreterRuntimeConfig - (*RuntimeConfig_VertexAISearchRuntimeConfig)(nil), // 16: google.cloud.aiplatform.v1beta1.RuntimeConfig.VertexAISearchRuntimeConfig - (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp - (*ToolUseExample)(nil), // 18: google.cloud.aiplatform.v1beta1.ToolUseExample - (*FunctionDeclaration)(nil), // 19: google.cloud.aiplatform.v1beta1.FunctionDeclaration - (*structpb.Struct)(nil), // 20: google.protobuf.Struct + (*AuthConfig_ApiKeyConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.AuthConfig.ApiKeyConfig + (*AuthConfig_HttpBasicAuthConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.AuthConfig.HttpBasicAuthConfig + (*AuthConfig_GoogleServiceAccountConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.AuthConfig.GoogleServiceAccountConfig + (*AuthConfig_OauthConfig)(nil), // 12: google.cloud.aiplatform.v1beta1.AuthConfig.OauthConfig + (*AuthConfig_OidcConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.AuthConfig.OidcConfig + (*RuntimeConfig_CodeInterpreterRuntimeConfig)(nil), // 14: google.cloud.aiplatform.v1beta1.RuntimeConfig.CodeInterpreterRuntimeConfig + (*RuntimeConfig_VertexAISearchRuntimeConfig)(nil), // 15: google.cloud.aiplatform.v1beta1.RuntimeConfig.VertexAISearchRuntimeConfig + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*ToolUseExample)(nil), // 17: google.cloud.aiplatform.v1beta1.ToolUseExample + (*FunctionDeclaration)(nil), // 18: google.cloud.aiplatform.v1beta1.FunctionDeclaration + (*structpb.Struct)(nil), // 19: google.protobuf.Struct } var file_google_cloud_aiplatform_v1beta1_extension_proto_depIdxs = []int32{ - 17, // 0: google.cloud.aiplatform.v1beta1.Extension.create_time:type_name -> google.protobuf.Timestamp - 17, // 1: google.cloud.aiplatform.v1beta1.Extension.update_time:type_name -> google.protobuf.Timestamp + 16, // 0: google.cloud.aiplatform.v1beta1.Extension.create_time:type_name -> google.protobuf.Timestamp + 16, // 1: google.cloud.aiplatform.v1beta1.Extension.update_time:type_name -> google.protobuf.Timestamp 3, // 2: google.cloud.aiplatform.v1beta1.Extension.manifest:type_name -> google.cloud.aiplatform.v1beta1.ExtensionManifest 4, // 3: google.cloud.aiplatform.v1beta1.Extension.extension_operations:type_name -> google.cloud.aiplatform.v1beta1.ExtensionOperation 6, // 4: google.cloud.aiplatform.v1beta1.Extension.runtime_config:type_name -> google.cloud.aiplatform.v1beta1.RuntimeConfig - 18, // 5: google.cloud.aiplatform.v1beta1.Extension.tool_use_examples:type_name -> google.cloud.aiplatform.v1beta1.ToolUseExample + 17, // 5: google.cloud.aiplatform.v1beta1.Extension.tool_use_examples:type_name -> google.cloud.aiplatform.v1beta1.ToolUseExample 7, // 6: google.cloud.aiplatform.v1beta1.Extension.private_service_connect_config:type_name -> google.cloud.aiplatform.v1beta1.ExtensionPrivateServiceConnectConfig 8, // 7: google.cloud.aiplatform.v1beta1.ExtensionManifest.api_spec:type_name -> google.cloud.aiplatform.v1beta1.ExtensionManifest.ApiSpec 5, // 8: google.cloud.aiplatform.v1beta1.ExtensionManifest.auth_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig - 19, // 9: google.cloud.aiplatform.v1beta1.ExtensionOperation.function_declaration:type_name -> google.cloud.aiplatform.v1beta1.FunctionDeclaration - 10, // 10: google.cloud.aiplatform.v1beta1.AuthConfig.api_key_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.ApiKeyConfig - 11, // 11: google.cloud.aiplatform.v1beta1.AuthConfig.http_basic_auth_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.HttpBasicAuthConfig - 12, // 12: google.cloud.aiplatform.v1beta1.AuthConfig.google_service_account_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.GoogleServiceAccountConfig - 13, // 13: google.cloud.aiplatform.v1beta1.AuthConfig.oauth_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.OauthConfig - 14, // 14: google.cloud.aiplatform.v1beta1.AuthConfig.oidc_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.OidcConfig + 18, // 9: google.cloud.aiplatform.v1beta1.ExtensionOperation.function_declaration:type_name -> google.cloud.aiplatform.v1beta1.FunctionDeclaration + 9, // 10: google.cloud.aiplatform.v1beta1.AuthConfig.api_key_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.ApiKeyConfig + 10, // 11: google.cloud.aiplatform.v1beta1.AuthConfig.http_basic_auth_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.HttpBasicAuthConfig + 11, // 12: google.cloud.aiplatform.v1beta1.AuthConfig.google_service_account_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.GoogleServiceAccountConfig + 12, // 13: google.cloud.aiplatform.v1beta1.AuthConfig.oauth_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.OauthConfig + 13, // 14: google.cloud.aiplatform.v1beta1.AuthConfig.oidc_config:type_name -> google.cloud.aiplatform.v1beta1.AuthConfig.OidcConfig 1, // 15: google.cloud.aiplatform.v1beta1.AuthConfig.auth_type:type_name -> google.cloud.aiplatform.v1beta1.AuthType - 15, // 16: google.cloud.aiplatform.v1beta1.RuntimeConfig.code_interpreter_runtime_config:type_name -> google.cloud.aiplatform.v1beta1.RuntimeConfig.CodeInterpreterRuntimeConfig - 16, // 17: google.cloud.aiplatform.v1beta1.RuntimeConfig.vertex_ai_search_runtime_config:type_name -> google.cloud.aiplatform.v1beta1.RuntimeConfig.VertexAISearchRuntimeConfig - 20, // 18: google.cloud.aiplatform.v1beta1.RuntimeConfig.default_params:type_name -> google.protobuf.Struct + 14, // 16: google.cloud.aiplatform.v1beta1.RuntimeConfig.code_interpreter_runtime_config:type_name -> google.cloud.aiplatform.v1beta1.RuntimeConfig.CodeInterpreterRuntimeConfig + 15, // 17: google.cloud.aiplatform.v1beta1.RuntimeConfig.vertex_ai_search_runtime_config:type_name -> google.cloud.aiplatform.v1beta1.RuntimeConfig.VertexAISearchRuntimeConfig + 19, // 18: google.cloud.aiplatform.v1beta1.RuntimeConfig.default_params:type_name -> google.protobuf.Struct 0, // 19: google.cloud.aiplatform.v1beta1.AuthConfig.ApiKeyConfig.http_element_location:type_name -> google.cloud.aiplatform.v1beta1.HttpElementLocation 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type @@ -1832,18 +1796,6 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { } } file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthConfig_NoAuth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthConfig_ApiKeyConfig); i { case 0: return &v.state @@ -1855,7 +1807,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthConfig_HttpBasicAuthConfig); i { case 0: return &v.state @@ -1867,7 +1819,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthConfig_GoogleServiceAccountConfig); i { case 0: return &v.state @@ -1879,7 +1831,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthConfig_OauthConfig); i { case 0: return &v.state @@ -1891,7 +1843,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuthConfig_OidcConfig); i { case 0: return &v.state @@ -1903,7 +1855,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeConfig_CodeInterpreterRuntimeConfig); i { case 0: return &v.state @@ -1915,7 +1867,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuntimeConfig_VertexAISearchRuntimeConfig); i { case 0: return &v.state @@ -1943,11 +1895,11 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { (*ExtensionManifest_ApiSpec_OpenApiYaml)(nil), (*ExtensionManifest_ApiSpec_OpenApiGcsUri)(nil), } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11].OneofWrappers = []interface{}{ + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[10].OneofWrappers = []interface{}{ (*AuthConfig_OauthConfig_AccessToken)(nil), (*AuthConfig_OauthConfig_ServiceAccount)(nil), } - file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_google_cloud_aiplatform_v1beta1_extension_proto_msgTypes[11].OneofWrappers = []interface{}{ (*AuthConfig_OidcConfig_IdToken)(nil), (*AuthConfig_OidcConfig_ServiceAccount)(nil), } @@ -1957,7 +1909,7 @@ func file_google_cloud_aiplatform_v1beta1_extension_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_extension_proto_rawDesc, NumEnums: 2, - NumMessages: 15, + NumMessages: 14, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go index 5995b64caaa6..21625e554c25 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_online_store.pb.go @@ -135,7 +135,10 @@ type FeatureOnlineStore struct { // Optional. The dedicated serving endpoint for this FeatureOnlineStore, which // is different from common Vertex service endpoint. DedicatedServingEndpoint *FeatureOnlineStore_DedicatedServingEndpoint `protobuf:"bytes,10,opt,name=dedicated_serving_endpoint,json=dedicatedServingEndpoint,proto3" json:"dedicated_serving_endpoint,omitempty"` - // Optional. The settings for embedding management in FeatureOnlineStore. + // Optional. Deprecated: This field is no longer needed anymore and embedding + // management is automatically enabled when specifying Optimized storage type. + // + // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_online_store.proto. EmbeddingManagement *FeatureOnlineStore_EmbeddingManagement `protobuf:"bytes,11,opt,name=embedding_management,json=embeddingManagement,proto3" json:"embedding_management,omitempty"` } @@ -241,6 +244,7 @@ func (x *FeatureOnlineStore) GetDedicatedServingEndpoint() *FeatureOnlineStore_D return nil } +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_online_store.proto. func (x *FeatureOnlineStore) GetEmbeddingManagement() *FeatureOnlineStore_EmbeddingManagement { if x != nil { return x.EmbeddingManagement @@ -360,10 +364,8 @@ func (*FeatureOnlineStore_Optimized) Descriptor() ([]byte, []int) { } // The dedicated serving endpoint for this FeatureOnlineStore. Only need to -// set when you choose Optimized storage type or enable EmbeddingManagement. -// Will use public endpoint by default. Note, for EmbeddingManagement use -// case, only [DedicatedServingEndpoint.public_endpoint_domain_name] is -// available now. +// set when you choose Optimized storage type. Public endpoint is provisioned +// by default. type FeatureOnlineStore_DedicatedServingEndpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -437,7 +439,11 @@ func (x *FeatureOnlineStore_DedicatedServingEndpoint) GetServiceAttachment() str return "" } +// Deprecated: This sub message is no longer needed anymore and embedding +// management is automatically enabled when specifying Optimized storage type. // Contains settings for embedding management. +// +// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_online_store.proto. type FeatureOnlineStore_EmbeddingManagement struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -579,7 +585,7 @@ var file_google_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc = [] 0x63, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 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, 0xde, 0x0d, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x0d, 0x0a, 0x12, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5a, 0x0a, 0x08, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, @@ -624,87 +630,88 @@ var file_google_cloud_aiplatform_v1beta1_feature_online_store_proto_rawDesc = [] 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x7f, 0x0a, 0x14, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x47, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, - 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x1a, 0x9d, 0x02, 0x0a, 0x08, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x70, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x42, 0x69, 0x67, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x1a, 0x9e, 0x01, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, - 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4e, - 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x63, 0x70, 0x75, 0x5f, - 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, - 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x1a, 0x0b, 0x0a, 0x09, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, - 0x1a, 0x9b, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x42, 0x0a, - 0x1b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x86, 0x01, 0x0a, 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x12, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x37, - 0x0a, 0x13, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 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, 0x38, 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, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x3a, 0x86, 0x01, 0xea, - 0x41, 0x82, 0x01, 0x0a, 0x2c, 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, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x12, 0x52, 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, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x42, 0x0e, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xee, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, - 0x74, 0x61, 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, 0x1f, - 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, - 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x47, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, + 0x01, 0x52, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x9d, 0x02, 0x0a, 0x08, 0x42, 0x69, 0x67, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x70, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x42, + 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x9e, 0x01, 0x0a, 0x0b, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x29, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, + 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x63, + 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x14, 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x0b, 0x0a, 0x09, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, + 0x7a, 0x65, 0x64, 0x1a, 0x9b, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x42, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x1b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, + 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x3b, 0x0a, 0x13, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, + 0x05, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x02, 0x18, 0x01, 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, 0x38, 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, 0x53, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x02, 0x3a, 0x86, 0x01, 0xea, 0x41, 0x82, 0x01, 0x0a, 0x2c, 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, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x52, 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, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x42, 0x0e, 0x0a, 0x0c, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0xee, 0x01, 0x0a, + 0x23, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go b/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go index 124bcc86a65e..7a50493ee12a 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/feature_view.pb.go @@ -156,6 +156,69 @@ func (FeatureView_VectorSearchConfig_DistanceMeasureType) EnumDescriptor() ([]by return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0} } +// The distance measure used in nearest neighbor search. +type FeatureView_IndexConfig_DistanceMeasureType int32 + +const ( + // Should not be set. + FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0 + // Euclidean (L_2) Distance. + FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1 + // Cosine Distance. Defined as 1 - cosine similarity. + // + // We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead + // of COSINE distance. Our algorithms have been more optimized for + // DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is + // mathematically equivalent to COSINE distance and results in the same + // ranking. + FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2 + // Dot Product Distance. Defined as a negative of the dot product. + FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3 +) + +// Enum value maps for FeatureView_IndexConfig_DistanceMeasureType. +var ( + FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{ + 0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED", + 1: "SQUARED_L2_DISTANCE", + 2: "COSINE_DISTANCE", + 3: "DOT_PRODUCT_DISTANCE", + } + FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{ + "DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0, + "SQUARED_L2_DISTANCE": 1, + "COSINE_DISTANCE": 2, + "DOT_PRODUCT_DISTANCE": 3, + } +) + +func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType { + p := new(FeatureView_IndexConfig_DistanceMeasureType) + *p = x + return p +} + +func (x FeatureView_IndexConfig_DistanceMeasureType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2].Descriptor() +} + +func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes[2] +} + +func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead. +func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} +} + // FeatureView is representation of values that the FeatureOnlineStore will // serve based on its syncConfig. type FeatureView struct { @@ -200,6 +263,11 @@ type FeatureView struct { // // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/feature_view.proto. VectorSearchConfig *FeatureView_VectorSearchConfig `protobuf:"bytes,8,opt,name=vector_search_config,json=vectorSearchConfig,proto3" json:"vector_search_config,omitempty"` + // Optional. Configuration for index preparation for vector search. It + // contains the required configurations to create an index from source data, + // so that approximate nearest neighbor (a.k.a ANN) algorithms search can be + // performed during online serving. + IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"` // Optional. Service agent type used during data sync. By default, the Vertex // AI Service Agent is used. When using an IAM Policy to isolate this // FeatureView within a project, a separate service account should be @@ -316,6 +384,13 @@ func (x *FeatureView) GetVectorSearchConfig() *FeatureView_VectorSearchConfig { return nil } +func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig { + if x != nil { + return x.IndexConfig + } + return nil +} + func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType { if x != nil { return x.ServiceAgentType @@ -488,9 +563,14 @@ type FeatureView_VectorSearchConfig struct { // results. FilterColumns []string `protobuf:"bytes,4,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` // Optional. Column of crowding. This column contains crowding attribute - // which is a constraint on a neighbor list produced by nearest neighbor - // search requiring that no more than some value k' of the k neighbors - // returned have the same value of crowding_attribute. + // which is a constraint on a neighbor list produced by + // [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] + // to diversify search results. If + // [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count] + // is set to K in + // [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest], + // it's guaranteed that no more than K entities of the same crowding + // attribute are returned in the response. CrowdingColumn string `protobuf:"bytes,5,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` // Optional. The number of dimensions of the input embedding. EmbeddingDimension *int32 `protobuf:"varint,6,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` @@ -611,6 +691,154 @@ func (*FeatureView_VectorSearchConfig_TreeAhConfig) isFeatureView_VectorSearchCo func (*FeatureView_VectorSearchConfig_BruteForceConfig_) isFeatureView_VectorSearchConfig_AlgorithmConfig() { } +// Configuration for vector indexing. +type FeatureView_IndexConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration with regard to the algorithms used for efficient + // search. + // + // Types that are assignable to AlgorithmConfig: + // + // *FeatureView_IndexConfig_TreeAhConfig + // *FeatureView_IndexConfig_BruteForceConfig_ + AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"` + // Optional. Column of embedding. This column contains the source data to + // create index for vector search. embedding_column must be set when using + // vector search. + EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"` + // Optional. Columns of features that're used to filter vector search + // results. + FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` + // Optional. Column of crowding. This column contains crowding attribute + // which is a constraint on a neighbor list produced by + // [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1beta1.FeatureOnlineStoreService.SearchNearestEntities] + // to diversify search results. If + // [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1beta1.NearestNeighborQuery.per_crowding_attribute_neighbor_count] + // is set to K in + // [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1beta1.SearchNearestEntitiesRequest], + // it's guaranteed that no more than K entities of the same crowding + // attribute are returned in the response. + CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"` + // Optional. The number of dimensions of the input embedding. + EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"` + // Optional. The distance measure used in nearest neighbor search. + DistanceMeasureType FeatureView_IndexConfig_DistanceMeasureType `protobuf:"varint,5,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1beta1.FeatureView_IndexConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"` +} + +func (x *FeatureView_IndexConfig) Reset() { + *x = FeatureView_IndexConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_IndexConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_IndexConfig) ProtoMessage() {} + +func (x *FeatureView_IndexConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_IndexConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_IndexConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3} +} + +func (m *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig { + if m != nil { + return m.AlgorithmConfig + } + return nil +} + +func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig { + if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_TreeAhConfig); ok { + return x.TreeAhConfig + } + return nil +} + +func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig { + if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_BruteForceConfig_); ok { + return x.BruteForceConfig + } + return nil +} + +func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string { + if x != nil { + return x.EmbeddingColumn + } + return "" +} + +func (x *FeatureView_IndexConfig) GetFilterColumns() []string { + if x != nil { + return x.FilterColumns + } + return nil +} + +func (x *FeatureView_IndexConfig) GetCrowdingColumn() string { + if x != nil { + return x.CrowdingColumn + } + return "" +} + +func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 { + if x != nil && x.EmbeddingDimension != nil { + return *x.EmbeddingDimension + } + return 0 +} + +func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType { + if x != nil { + return x.DistanceMeasureType + } + return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED +} + +type isFeatureView_IndexConfig_AlgorithmConfig interface { + isFeatureView_IndexConfig_AlgorithmConfig() +} + +type FeatureView_IndexConfig_TreeAhConfig struct { + // Optional. Configuration options for the tree-AH algorithm (Shallow tree + // + Asymmetric Hashing). Please refer to this paper for more details: + // https://arxiv.org/abs/1908.10396 + TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"` +} + +type FeatureView_IndexConfig_BruteForceConfig_ struct { + // Optional. Configuration options for using brute force search, which + // simply implements the standard linear search in the database for each + // query. It is primarily meant for benchmarking and to generate the + // ground truth for approximate search. + BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"` +} + +func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {} + +func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {} + // A Feature Registry source for features that need to be synced to Online // Store. type FeatureView_FeatureRegistrySource struct { @@ -627,7 +855,7 @@ type FeatureView_FeatureRegistrySource struct { func (x *FeatureView_FeatureRegistrySource) Reset() { *x = FeatureView_FeatureRegistrySource{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -640,7 +868,7 @@ func (x *FeatureView_FeatureRegistrySource) String() string { func (*FeatureView_FeatureRegistrySource) ProtoMessage() {} func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -653,7 +881,7 @@ func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message // Deprecated: Use FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead. func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3} + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4} } func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup { @@ -679,7 +907,7 @@ type FeatureView_VectorSearchConfig_BruteForceConfig struct { func (x *FeatureView_VectorSearchConfig_BruteForceConfig) Reset() { *x = FeatureView_VectorSearchConfig_BruteForceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -692,7 +920,7 @@ func (x *FeatureView_VectorSearchConfig_BruteForceConfig) String() string { func (*FeatureView_VectorSearchConfig_BruteForceConfig) ProtoMessage() {} func (x *FeatureView_VectorSearchConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -721,7 +949,7 @@ type FeatureView_VectorSearchConfig_TreeAHConfig struct { func (x *FeatureView_VectorSearchConfig_TreeAHConfig) Reset() { *x = FeatureView_VectorSearchConfig_TreeAHConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -734,7 +962,7 @@ func (x *FeatureView_VectorSearchConfig_TreeAHConfig) String() string { func (*FeatureView_VectorSearchConfig_TreeAHConfig) ProtoMessage() {} func (x *FeatureView_VectorSearchConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -757,6 +985,95 @@ func (x *FeatureView_VectorSearchConfig_TreeAHConfig) GetLeafNodeEmbeddingCount( return 0 } +// Configuration options for using brute force search. +type FeatureView_IndexConfig_BruteForceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FeatureView_IndexConfig_BruteForceConfig) Reset() { + *x = FeatureView_IndexConfig_BruteForceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_IndexConfig_BruteForceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {} + +func (x *FeatureView_IndexConfig_BruteForceConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_IndexConfig_BruteForceConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_IndexConfig_BruteForceConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} +} + +// Configuration options for the tree-AH algorithm. +type FeatureView_IndexConfig_TreeAHConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Number of embeddings on each leaf node. The default value is + // 1000 if not set. + LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"` +} + +func (x *FeatureView_IndexConfig_TreeAHConfig) Reset() { + *x = FeatureView_IndexConfig_TreeAHConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeatureView_IndexConfig_TreeAHConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {} + +func (x *FeatureView_IndexConfig_TreeAHConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_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 FeatureView_IndexConfig_TreeAHConfig.ProtoReflect.Descriptor instead. +func (*FeatureView_IndexConfig_TreeAHConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 1} +} + +func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 { + if x != nil && x.LeafNodeEmbeddingCount != nil { + return *x.LeafNodeEmbeddingCount + } + return 0 +} + // Features belonging to a single feature group that will be // synced to Online Store. type FeatureView_FeatureRegistrySource_FeatureGroup struct { @@ -773,7 +1090,7 @@ type FeatureView_FeatureRegistrySource_FeatureGroup struct { func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() { *x = FeatureView_FeatureRegistrySource_FeatureGroup{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -786,7 +1103,7 @@ func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string { func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {} func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -799,7 +1116,7 @@ func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoref // Deprecated: Use FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead. func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0} + return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP(), []int{0, 4, 0} } func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string { @@ -830,7 +1147,7 @@ var file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = []byte{ 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xd3, 0x14, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, + 0x74, 0x6f, 0x22, 0xc0, 0x1c, 0x0a, 0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6c, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, @@ -876,141 +1193,204 @@ var file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc = []byte{ 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x3d, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, - 0x1a, 0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x20, 0x0a, 0x0a, 0x53, 0x79, - 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x1a, 0xa9, 0x07, 0x0a, - 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x3d, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x1a, 0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x1a, 0x20, 0x0a, 0x0a, + 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x1a, 0xa9, + 0x07, 0x0a, 0x12, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x0e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x61, 0x68, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, + 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x85, 0x01, 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, + 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x12, 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, + 0x0a, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, + 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, + 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x1a, 0x71, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x43, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, + 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, + 0x4e, 0x6f, 0x64, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, + 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, + 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, + 0x4f, 0x53, 0x49, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, + 0x12, 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, + 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x12, + 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x88, 0x07, 0x0a, 0x0b, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x0e, 0x74, 0x72, + 0x65, 0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x85, - 0x01, 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, - 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x12, 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x15, - 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, - 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, 0x72, - 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x71, - 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, - 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, - 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, 0x6f, - 0x64, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, - 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, 0x44, - 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x53, - 0x49, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, - 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x49, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x12, 0x0a, 0x10, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, + 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65, 0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7e, + 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0x2f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x49, 0x64, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 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, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, - 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, - 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, - 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, - 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25, 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, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, - 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, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, - 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe7, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x10, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, - 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, 0x65, 0x74, - 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x62, 0x72, + 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, + 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, + 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x2a, + 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x72, + 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a, 0x13, 0x65, 0x6d, 0x62, 0x65, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x65, 0x6d, + 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, + 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42, + 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0x71, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x43, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, + 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e, + 0x6f, 0x64, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f, + 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, + 0x53, 0x49, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, + 0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, + 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xbd, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x7b, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, + 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, + 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, + 0x64, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 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, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, + 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x3a, 0x9b, 0x01, + 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25, 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, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 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, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe7, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1025,40 +1405,48 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescGZIP() []byt return file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_aiplatform_v1beta1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_aiplatform_v1beta1_feature_view_proto_goTypes = []interface{}{ (FeatureView_ServiceAgentType)(0), // 0: google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType (FeatureView_VectorSearchConfig_DistanceMeasureType)(0), // 1: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType - (*FeatureView)(nil), // 2: google.cloud.aiplatform.v1beta1.FeatureView - (*FeatureView_BigQuerySource)(nil), // 3: google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource - (*FeatureView_SyncConfig)(nil), // 4: google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig - (*FeatureView_VectorSearchConfig)(nil), // 5: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig - (*FeatureView_FeatureRegistrySource)(nil), // 6: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource - nil, // 7: google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry - (*FeatureView_VectorSearchConfig_BruteForceConfig)(nil), // 8: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig - (*FeatureView_VectorSearchConfig_TreeAHConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig - (*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 10: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup - (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp + (FeatureView_IndexConfig_DistanceMeasureType)(0), // 2: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType + (*FeatureView)(nil), // 3: google.cloud.aiplatform.v1beta1.FeatureView + (*FeatureView_BigQuerySource)(nil), // 4: google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource + (*FeatureView_SyncConfig)(nil), // 5: google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig + (*FeatureView_VectorSearchConfig)(nil), // 6: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig + (*FeatureView_IndexConfig)(nil), // 7: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig + (*FeatureView_FeatureRegistrySource)(nil), // 8: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource + nil, // 9: google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry + (*FeatureView_VectorSearchConfig_BruteForceConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig + (*FeatureView_VectorSearchConfig_TreeAHConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig + (*FeatureView_IndexConfig_BruteForceConfig)(nil), // 12: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig + (*FeatureView_IndexConfig_TreeAHConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig + (*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 14: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp } var file_google_cloud_aiplatform_v1beta1_feature_view_proto_depIdxs = []int32{ - 3, // 0: google.cloud.aiplatform.v1beta1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource - 6, // 1: google.cloud.aiplatform.v1beta1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource - 11, // 2: google.cloud.aiplatform.v1beta1.FeatureView.create_time:type_name -> google.protobuf.Timestamp - 11, // 3: google.cloud.aiplatform.v1beta1.FeatureView.update_time:type_name -> google.protobuf.Timestamp - 7, // 4: google.cloud.aiplatform.v1beta1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry - 4, // 5: google.cloud.aiplatform.v1beta1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig - 5, // 6: google.cloud.aiplatform.v1beta1.FeatureView.vector_search_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig - 0, // 7: google.cloud.aiplatform.v1beta1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType - 9, // 8: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig - 8, // 9: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig - 1, // 10: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType - 10, // 11: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup - 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 + 4, // 0: google.cloud.aiplatform.v1beta1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource + 8, // 1: google.cloud.aiplatform.v1beta1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource + 15, // 2: google.cloud.aiplatform.v1beta1.FeatureView.create_time:type_name -> google.protobuf.Timestamp + 15, // 3: google.cloud.aiplatform.v1beta1.FeatureView.update_time:type_name -> google.protobuf.Timestamp + 9, // 4: google.cloud.aiplatform.v1beta1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.LabelsEntry + 5, // 5: google.cloud.aiplatform.v1beta1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.SyncConfig + 6, // 6: google.cloud.aiplatform.v1beta1.FeatureView.vector_search_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig + 7, // 7: google.cloud.aiplatform.v1beta1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig + 0, // 8: google.cloud.aiplatform.v1beta1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType + 11, // 9: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.TreeAHConfig + 10, // 10: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.BruteForceConfig + 1, // 11: google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfig.DistanceMeasureType + 13, // 12: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.TreeAHConfig + 12, // 13: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.BruteForceConfig + 2, // 14: google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.IndexConfig.DistanceMeasureType + 14, // 15: google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource.FeatureGroup + 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_v1beta1_feature_view_proto_init() } @@ -1116,6 +1504,18 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { } } file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_IndexConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeatureView_FeatureRegistrySource); i { case 0: return &v.state @@ -1127,7 +1527,7 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeatureView_VectorSearchConfig_BruteForceConfig); i { case 0: return &v.state @@ -1139,7 +1539,7 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeatureView_VectorSearchConfig_TreeAHConfig); i { case 0: return &v.state @@ -1151,7 +1551,31 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_IndexConfig_BruteForceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeatureView_IndexConfig_TreeAHConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeatureView_FeatureRegistrySource_FeatureGroup); i { case 0: return &v.state @@ -1172,15 +1596,20 @@ func file_google_cloud_aiplatform_v1beta1_feature_view_proto_init() { (*FeatureView_VectorSearchConfig_TreeAhConfig)(nil), (*FeatureView_VectorSearchConfig_BruteForceConfig_)(nil), } - file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*FeatureView_IndexConfig_TreeAhConfig)(nil), + (*FeatureView_IndexConfig_BruteForceConfig_)(nil), + } + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_google_cloud_aiplatform_v1beta1_feature_view_proto_msgTypes[10].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_feature_view_proto_rawDesc, - NumEnums: 2, - NumMessages: 9, + NumEnums: 3, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/io.pb.go b/aiplatform/apiv1beta1/aiplatformpb/io.pb.go index 91e11f5b4ca7..6c2d1066ab04 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/io.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/io.pb.go @@ -36,6 +36,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_v1beta1_io_proto_enumTypes[0].Descriptor() +} + +func (GoogleDriveSource_ResourceId_ResourceType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_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_v1beta1_io_proto_rawDescGZIP(), []int{9, 0, 0} +} + // The storage details for Avro input content. type AvroSource struct { state protoimpl.MessageState @@ -505,6 +558,152 @@ func (x *ContainerRegistryDestination) GetOutputUri() string { return "" } +// The Google Drive location for the input content. +type GoogleDriveSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Drive resource IDs. + ResourceIds []*GoogleDriveSource_ResourceId `protobuf:"bytes,1,rep,name=resource_ids,json=resourceIds,proto3" json:"resource_ids,omitempty"` +} + +func (x *GoogleDriveSource) Reset() { + *x = GoogleDriveSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_io_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleDriveSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleDriveSource) ProtoMessage() {} + +func (x *GoogleDriveSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_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) +} + +// Deprecated: Use GoogleDriveSource.ProtoReflect.Descriptor instead. +func (*GoogleDriveSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{9} +} + +func (x *GoogleDriveSource) GetResourceIds() []*GoogleDriveSource_ResourceId { + if x != nil { + return x.ResourceIds + } + 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_v1beta1_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_v1beta1_io_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 DirectUploadSource.ProtoReflect.Descriptor instead. +func (*DirectUploadSource) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP(), []int{10} +} + +// 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.v1beta1.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_v1beta1_io_proto_msgTypes[11] + 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_v1beta1_io_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 GoogleDriveSource_ResourceId.ProtoReflect.Descriptor instead. +func (*GoogleDriveSource_ResourceId) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_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 "" +} + var File_google_cloud_aiplatform_v1beta1_io_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_io_proto_rawDesc = []byte{ @@ -558,22 +757,48 @@ var file_google_cloud_aiplatform_v1beta1_io_proto_rawDesc = []byte{ 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, 0xde, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x42, 0x07, 0x49, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x86, 0x03, 0x0a, 0x11, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x65, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x89, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x74, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x42, 0xde, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x07, 0x49, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -588,28 +813,35 @@ func file_google_cloud_aiplatform_v1beta1_io_proto_rawDescGZIP() []byte { return file_google_cloud_aiplatform_v1beta1_io_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_io_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_aiplatform_v1beta1_io_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_aiplatform_v1beta1_io_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_aiplatform_v1beta1_io_proto_goTypes = []interface{}{ - (*AvroSource)(nil), // 0: google.cloud.aiplatform.v1beta1.AvroSource - (*CsvSource)(nil), // 1: google.cloud.aiplatform.v1beta1.CsvSource - (*GcsSource)(nil), // 2: google.cloud.aiplatform.v1beta1.GcsSource - (*GcsDestination)(nil), // 3: google.cloud.aiplatform.v1beta1.GcsDestination - (*BigQuerySource)(nil), // 4: google.cloud.aiplatform.v1beta1.BigQuerySource - (*BigQueryDestination)(nil), // 5: google.cloud.aiplatform.v1beta1.BigQueryDestination - (*CsvDestination)(nil), // 6: google.cloud.aiplatform.v1beta1.CsvDestination - (*TFRecordDestination)(nil), // 7: google.cloud.aiplatform.v1beta1.TFRecordDestination - (*ContainerRegistryDestination)(nil), // 8: google.cloud.aiplatform.v1beta1.ContainerRegistryDestination + (GoogleDriveSource_ResourceId_ResourceType)(0), // 0: google.cloud.aiplatform.v1beta1.GoogleDriveSource.ResourceId.ResourceType + (*AvroSource)(nil), // 1: google.cloud.aiplatform.v1beta1.AvroSource + (*CsvSource)(nil), // 2: google.cloud.aiplatform.v1beta1.CsvSource + (*GcsSource)(nil), // 3: google.cloud.aiplatform.v1beta1.GcsSource + (*GcsDestination)(nil), // 4: google.cloud.aiplatform.v1beta1.GcsDestination + (*BigQuerySource)(nil), // 5: google.cloud.aiplatform.v1beta1.BigQuerySource + (*BigQueryDestination)(nil), // 6: google.cloud.aiplatform.v1beta1.BigQueryDestination + (*CsvDestination)(nil), // 7: google.cloud.aiplatform.v1beta1.CsvDestination + (*TFRecordDestination)(nil), // 8: google.cloud.aiplatform.v1beta1.TFRecordDestination + (*ContainerRegistryDestination)(nil), // 9: google.cloud.aiplatform.v1beta1.ContainerRegistryDestination + (*GoogleDriveSource)(nil), // 10: google.cloud.aiplatform.v1beta1.GoogleDriveSource + (*DirectUploadSource)(nil), // 11: google.cloud.aiplatform.v1beta1.DirectUploadSource + (*GoogleDriveSource_ResourceId)(nil), // 12: google.cloud.aiplatform.v1beta1.GoogleDriveSource.ResourceId } var file_google_cloud_aiplatform_v1beta1_io_proto_depIdxs = []int32{ - 2, // 0: google.cloud.aiplatform.v1beta1.AvroSource.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource - 2, // 1: google.cloud.aiplatform.v1beta1.CsvSource.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource - 3, // 2: google.cloud.aiplatform.v1beta1.CsvDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination - 3, // 3: google.cloud.aiplatform.v1beta1.TFRecordDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.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 + 3, // 0: google.cloud.aiplatform.v1beta1.AvroSource.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource + 3, // 1: google.cloud.aiplatform.v1beta1.CsvSource.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource + 4, // 2: google.cloud.aiplatform.v1beta1.CsvDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination + 4, // 3: google.cloud.aiplatform.v1beta1.TFRecordDestination.gcs_destination:type_name -> google.cloud.aiplatform.v1beta1.GcsDestination + 12, // 4: google.cloud.aiplatform.v1beta1.GoogleDriveSource.resource_ids:type_name -> google.cloud.aiplatform.v1beta1.GoogleDriveSource.ResourceId + 0, // 5: google.cloud.aiplatform.v1beta1.GoogleDriveSource.ResourceId.resource_type:type_name -> google.cloud.aiplatform.v1beta1.GoogleDriveSource.ResourceId.ResourceType + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_io_proto_init() } @@ -726,19 +958,56 @@ func file_google_cloud_aiplatform_v1beta1_io_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_io_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_io_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_io_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GoogleDriveSource_ResourceId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_io_proto_rawDesc, - NumEnums: 0, - NumMessages: 9, + NumEnums: 1, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_aiplatform_v1beta1_io_proto_goTypes, DependencyIndexes: file_google_cloud_aiplatform_v1beta1_io_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1beta1_io_proto_enumTypes, MessageInfos: file_google_cloud_aiplatform_v1beta1_io_proto_msgTypes, }.Build() File_google_cloud_aiplatform_v1beta1_io_proto = out.File diff --git a/aiplatform/apiv1beta1/aiplatformpb/machine_resources.pb.go b/aiplatform/apiv1beta1/aiplatformpb/machine_resources.pb.go index 179e58f06eb0..dabab33ecbd0 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/machine_resources.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/machine_resources.pb.go @@ -702,6 +702,63 @@ func (x *AutoscalingMetricSpec) GetTarget() int32 { return 0 } +// A set of Shielded Instance options. +// See [Images using supported Shielded VM +// features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). +type ShieldedVmConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines whether the instance has [Secure + // Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) + // enabled. + // + // Secure Boot helps ensure that the system only runs authentic software by + // verifying the digital signature of all boot components, and halting the + // boot process if signature verification fails. + EnableSecureBoot bool `protobuf:"varint,1,opt,name=enable_secure_boot,json=enableSecureBoot,proto3" json:"enable_secure_boot,omitempty"` +} + +func (x *ShieldedVmConfig) Reset() { + *x = ShieldedVmConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShieldedVmConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShieldedVmConfig) ProtoMessage() {} + +func (x *ShieldedVmConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_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 ShieldedVmConfig.ProtoReflect.Descriptor instead. +func (*ShieldedVmConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{9} +} + +func (x *ShieldedVmConfig) GetEnableSecureBoot() bool { + if x != nil { + return x.EnableSecureBoot + } + return false +} + var File_google_cloud_aiplatform_v1beta1_machine_resources_proto protoreflect.FileDescriptor var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byte{ @@ -800,22 +857,26 @@ var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byt 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0xec, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, - 0x15, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, - 0x74, 0x61, 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, 0x1f, - 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, - 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x40, 0x0a, 0x10, 0x53, 0x68, 0x69, 0x65, 0x6c, + 0x64, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x6f, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x42, 0xec, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x42, 0x15, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, + 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -830,7 +891,7 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP() return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData } -var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = []interface{}{ (*MachineSpec)(nil), // 0: google.cloud.aiplatform.v1beta1.MachineSpec (*DedicatedResources)(nil), // 1: google.cloud.aiplatform.v1beta1.DedicatedResources @@ -841,18 +902,19 @@ var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = []int (*PersistentDiskSpec)(nil), // 6: google.cloud.aiplatform.v1beta1.PersistentDiskSpec (*NfsMount)(nil), // 7: google.cloud.aiplatform.v1beta1.NfsMount (*AutoscalingMetricSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec - (AcceleratorType)(0), // 9: google.cloud.aiplatform.v1beta1.AcceleratorType + (*ShieldedVmConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.ShieldedVmConfig + (AcceleratorType)(0), // 10: google.cloud.aiplatform.v1beta1.AcceleratorType } var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = []int32{ - 9, // 0: google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1beta1.AcceleratorType - 0, // 1: google.cloud.aiplatform.v1beta1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec - 8, // 2: google.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs:type_name -> google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec - 0, // 3: google.cloud.aiplatform.v1beta1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec - 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 + 10, // 0: google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1beta1.AcceleratorType + 0, // 1: google.cloud.aiplatform.v1beta1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec + 8, // 2: google.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs:type_name -> google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec + 0, // 3: google.cloud.aiplatform.v1beta1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec + 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 } func init() { file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() } @@ -970,6 +1032,18 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() { return nil } } + file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShieldedVmConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -977,7 +1051,7 @@ func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/network_spec.pb.go b/aiplatform/apiv1beta1/aiplatformpb/network_spec.pb.go new file mode 100755 index 000000000000..d94c27a3b122 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/network_spec.pb.go @@ -0,0 +1,217 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/network_spec.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) +) + +// Network spec. +type NetworkSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether to enable public internet access. Default false. + EnableInternetAccess bool `protobuf:"varint,1,opt,name=enable_internet_access,json=enableInternetAccess,proto3" json:"enable_internet_access,omitempty"` + // The full name of the Google Compute Engine + // [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) + Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + // The name of the subnet that this instance is in. + // Format: + // `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` + Subnetwork string `protobuf:"bytes,3,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"` +} + +func (x *NetworkSpec) Reset() { + *x = NetworkSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_network_spec_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkSpec) ProtoMessage() {} + +func (x *NetworkSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_network_spec_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 NetworkSpec.ProtoReflect.Descriptor instead. +func (*NetworkSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescGZIP(), []int{0} +} + +func (x *NetworkSpec) GetEnableInternetAccess() bool { + if x != nil { + return x.EnableInternetAccess + } + return false +} + +func (x *NetworkSpec) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *NetworkSpec) GetSubnetwork() string { + if x != nil { + return x.Subnetwork + } + return "" +} + +var File_google_cloud_aiplatform_v1beta1_network_spec_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDesc = []byte{ + 0x0a, 0x32, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xca, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x34, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 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, 0x46, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0xcb, 0x02, + 0xea, 0x41, 0x61, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x7d, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_network_spec_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1beta1_network_spec_proto_goTypes = []interface{}{ + (*NetworkSpec)(nil), // 0: google.cloud.aiplatform.v1beta1.NetworkSpec +} +var file_google_cloud_aiplatform_v1beta1_network_spec_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_network_spec_proto_init() } +func file_google_cloud_aiplatform_v1beta1_network_spec_proto_init() { + if File_google_cloud_aiplatform_v1beta1_network_spec_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_network_spec_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_network_spec_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_network_spec_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_network_spec_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_network_spec_proto = out.File + file_google_cloud_aiplatform_v1beta1_network_spec_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_network_spec_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_network_spec_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/notebook_euc_config.pb.go b/aiplatform/apiv1beta1/aiplatformpb/notebook_euc_config.pb.go new file mode 100755 index 000000000000..7402525dddcd --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/notebook_euc_config.pb.go @@ -0,0 +1,202 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/notebook_euc_config.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 euc configuration of NotebookRuntimeTemplate. +type NotebookEucConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Input only. Whether EUC is disabled in this NotebookRuntimeTemplate. + // In proto3, the default value of a boolean is false. In this way, by default + // EUC will be enabled for NotebookRuntimeTemplate. + EucDisabled bool `protobuf:"varint,1,opt,name=euc_disabled,json=eucDisabled,proto3" json:"euc_disabled,omitempty"` + // Output only. Whether ActAs check is bypassed for service account attached + // to the VM. If false, we need ActAs check for the default Compute Engine + // Service account. When a Runtime is created, a VM is allocated using Default + // Compute Engine Service Account. Any user requesting to use this Runtime + // requires Service Account User (ActAs) permission over this SA. If true, + // Runtime owner is using EUC and does not require the above permission as VM + // no longer use default Compute Engine SA, but a P4SA. + BypassActasCheck bool `protobuf:"varint,2,opt,name=bypass_actas_check,json=bypassActasCheck,proto3" json:"bypass_actas_check,omitempty"` +} + +func (x *NotebookEucConfig) Reset() { + *x = NotebookEucConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookEucConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookEucConfig) ProtoMessage() {} + +func (x *NotebookEucConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_euc_config_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 NotebookEucConfig.ProtoReflect.Descriptor instead. +func (*NotebookEucConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookEucConfig) GetEucDisabled() bool { + if x != nil { + return x.EucDisabled + } + return false +} + +func (x *NotebookEucConfig) GetBypassActasCheck() bool { + if x != nil { + return x.BypassActasCheck + } + return false +} + +var File_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDesc = []byte{ + 0x0a, 0x39, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x65, 0x75, 0x63, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x6e, 0x0a, + 0x11, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x75, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0b, 0x65, + 0x75, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x62, 0x79, + 0x70, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 0x79, 0x70, + 0x61, 0x73, 0x73, 0x41, 0x63, 0x74, 0x61, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0xed, 0x01, + 0x0a, 0x23, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x45, + 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_goTypes = []interface{}{ + (*NotebookEucConfig)(nil), // 0: google.cloud.aiplatform.v1beta1.NotebookEucConfig +} +var file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_init() } +func file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_init() { + if File_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookEucConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto = out.File + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/notebook_idle_shutdown_config.pb.go b/aiplatform/apiv1beta1/aiplatformpb/notebook_idle_shutdown_config.pb.go new file mode 100755 index 000000000000..a7c923e44e91 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/notebook_idle_shutdown_config.pb.go @@ -0,0 +1,205 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/notebook_idle_shutdown_config.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" + durationpb "google.golang.org/protobuf/types/known/durationpb" +) + +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 idle shutdown configuration of NotebookRuntimeTemplate, which contains +// the idle_timeout as required field. +type NotebookIdleShutdownConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Duration is accurate to the second. In Notebook, Idle Timeout is + // accurate to minute so the range of idle_timeout (second) is: 10 * 60 ~ 1440 + // * 60. + IdleTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` + // Whether Idle Shutdown is disabled in this NotebookRuntimeTemplate. + IdleShutdownDisabled bool `protobuf:"varint,2,opt,name=idle_shutdown_disabled,json=idleShutdownDisabled,proto3" json:"idle_shutdown_disabled,omitempty"` +} + +func (x *NotebookIdleShutdownConfig) Reset() { + *x = NotebookIdleShutdownConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookIdleShutdownConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookIdleShutdownConfig) ProtoMessage() {} + +func (x *NotebookIdleShutdownConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_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 NotebookIdleShutdownConfig.ProtoReflect.Descriptor instead. +func (*NotebookIdleShutdownConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookIdleShutdownConfig) GetIdleTimeout() *durationpb.Duration { + if x != nil { + return x.IdleTimeout + } + return nil +} + +func (x *NotebookIdleShutdownConfig) GetIdleShutdownDisabled() bool { + if x != nil { + return x.IdleShutdownDisabled + } + return false +} + +var File_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDesc = []byte{ + 0x0a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, + 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 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, 0x22, 0x95, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 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, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x64, + 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x64, 0x6c, + 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x64, 0x6c, 0x65, 0x53, + 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, + 0xf6, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x1f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, + 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_goTypes = []interface{}{ + (*NotebookIdleShutdownConfig)(nil), // 0: google.cloud.aiplatform.v1beta1.NotebookIdleShutdownConfig + (*durationpb.Duration)(nil), // 1: google.protobuf.Duration +} +var file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_depIdxs = []int32{ + 1, // 0: google.cloud.aiplatform.v1beta1.NotebookIdleShutdownConfig.idle_timeout:type_name -> google.protobuf.Duration + 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_v1beta1_notebook_idle_shutdown_config_proto_init() } +func file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_init() { + if File_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookIdleShutdownConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto = out.File + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime.pb.go b/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime.pb.go new file mode 100755 index 000000000000..74a2bab9ed62 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime.pb.go @@ -0,0 +1,1010 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/notebook_runtime.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) +) + +// Represents a notebook runtime type. +type NotebookRuntimeType int32 + +const ( + // Unspecified notebook runtime type, NotebookRuntimeType will default to + // USER_DEFINED. + NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED NotebookRuntimeType = 0 + // runtime or template with coustomized configurations from user. + NotebookRuntimeType_USER_DEFINED NotebookRuntimeType = 1 + // runtime or template with system defined configurations. + NotebookRuntimeType_ONE_CLICK NotebookRuntimeType = 2 +) + +// Enum value maps for NotebookRuntimeType. +var ( + NotebookRuntimeType_name = map[int32]string{ + 0: "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED", + 1: "USER_DEFINED", + 2: "ONE_CLICK", + } + NotebookRuntimeType_value = map[string]int32{ + "NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED": 0, + "USER_DEFINED": 1, + "ONE_CLICK": 2, + } +) + +func (x NotebookRuntimeType) Enum() *NotebookRuntimeType { + p := new(NotebookRuntimeType) + *p = x + return p +} + +func (x NotebookRuntimeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntimeType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[0].Descriptor() +} + +func (NotebookRuntimeType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[0] +} + +func (x NotebookRuntimeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntimeType.Descriptor instead. +func (NotebookRuntimeType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP(), []int{0} +} + +// The substate of the NotebookRuntime to display health information. +type NotebookRuntime_HealthState int32 + +const ( + // Unspecified health state. + NotebookRuntime_HEALTH_STATE_UNSPECIFIED NotebookRuntime_HealthState = 0 + // NotebookRuntime is in healthy state. Applies to ACTIVE state. + NotebookRuntime_HEALTHY NotebookRuntime_HealthState = 1 + // NotebookRuntime is in unhealthy state. Applies to ACTIVE state. + NotebookRuntime_UNHEALTHY NotebookRuntime_HealthState = 2 +) + +// Enum value maps for NotebookRuntime_HealthState. +var ( + NotebookRuntime_HealthState_name = map[int32]string{ + 0: "HEALTH_STATE_UNSPECIFIED", + 1: "HEALTHY", + 2: "UNHEALTHY", + } + NotebookRuntime_HealthState_value = map[string]int32{ + "HEALTH_STATE_UNSPECIFIED": 0, + "HEALTHY": 1, + "UNHEALTHY": 2, + } +) + +func (x NotebookRuntime_HealthState) Enum() *NotebookRuntime_HealthState { + p := new(NotebookRuntime_HealthState) + *p = x + return p +} + +func (x NotebookRuntime_HealthState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntime_HealthState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[1].Descriptor() +} + +func (NotebookRuntime_HealthState) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[1] +} + +func (x NotebookRuntime_HealthState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntime_HealthState.Descriptor instead. +func (NotebookRuntime_HealthState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP(), []int{1, 0} +} + +// The substate of the NotebookRuntime to display state of runtime. +// The resource of NotebookRuntime is in ACTIVE state for these sub state. +type NotebookRuntime_RuntimeState int32 + +const ( + // Unspecified runtime state. + NotebookRuntime_RUNTIME_STATE_UNSPECIFIED NotebookRuntime_RuntimeState = 0 + // NotebookRuntime is in running state. + NotebookRuntime_RUNNING NotebookRuntime_RuntimeState = 1 + // NotebookRuntime is in starting state. + NotebookRuntime_BEING_STARTED NotebookRuntime_RuntimeState = 2 + // NotebookRuntime is in stopping state. + NotebookRuntime_BEING_STOPPED NotebookRuntime_RuntimeState = 3 + // NotebookRuntime is in stopped state. + NotebookRuntime_STOPPED NotebookRuntime_RuntimeState = 4 + // NotebookRuntime is in upgrading state. It is in the middle of upgrading + // process. + NotebookRuntime_BEING_UPGRADED NotebookRuntime_RuntimeState = 5 + // NotebookRuntime was unable to start/stop properly. + NotebookRuntime_ERROR NotebookRuntime_RuntimeState = 100 + // NotebookRuntime is in invalid state. Cannot be recovered. + NotebookRuntime_INVALID NotebookRuntime_RuntimeState = 101 +) + +// Enum value maps for NotebookRuntime_RuntimeState. +var ( + NotebookRuntime_RuntimeState_name = map[int32]string{ + 0: "RUNTIME_STATE_UNSPECIFIED", + 1: "RUNNING", + 2: "BEING_STARTED", + 3: "BEING_STOPPED", + 4: "STOPPED", + 5: "BEING_UPGRADED", + 100: "ERROR", + 101: "INVALID", + } + NotebookRuntime_RuntimeState_value = map[string]int32{ + "RUNTIME_STATE_UNSPECIFIED": 0, + "RUNNING": 1, + "BEING_STARTED": 2, + "BEING_STOPPED": 3, + "STOPPED": 4, + "BEING_UPGRADED": 5, + "ERROR": 100, + "INVALID": 101, + } +) + +func (x NotebookRuntime_RuntimeState) Enum() *NotebookRuntime_RuntimeState { + p := new(NotebookRuntime_RuntimeState) + *p = x + return p +} + +func (x NotebookRuntime_RuntimeState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NotebookRuntime_RuntimeState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[2].Descriptor() +} + +func (NotebookRuntime_RuntimeState) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes[2] +} + +func (x NotebookRuntime_RuntimeState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NotebookRuntime_RuntimeState.Descriptor instead. +func (NotebookRuntime_RuntimeState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP(), []int{1, 1} +} + +// A template that specifies runtime configurations such as machine type, +// runtime version, network configurations, etc. +// Multiple runtimes can be created from a runtime template. +type NotebookRuntimeTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the NotebookRuntimeTemplate. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The display name of the NotebookRuntimeTemplate. + // 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"` + // The description of the NotebookRuntimeTemplate. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The default template to use if not specified. + IsDefault bool `protobuf:"varint,4,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + // Optional. Immutable. The specification of a single machine for the + // template. + MachineSpec *MachineSpec `protobuf:"bytes,5,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` + // Optional. The specification of [persistent + // disk][https://cloud.google.com/compute/docs/disks/persistent-disks] + // attached to the runtime as data disk storage. + DataPersistentDiskSpec *PersistentDiskSpec `protobuf:"bytes,8,opt,name=data_persistent_disk_spec,json=dataPersistentDiskSpec,proto3" json:"data_persistent_disk_spec,omitempty"` + // Optional. Network spec. + NetworkSpec *NetworkSpec `protobuf:"bytes,12,opt,name=network_spec,json=networkSpec,proto3" json:"network_spec,omitempty"` + // The service account that the runtime workload runs as. + // You can use any service account within the same project, but you + // must have the service account user permission to use the instance. + // + // If not specified, the [Compute Engine default service + // account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) + // is used. + ServiceAccount string `protobuf:"bytes,13,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Used to perform consistent read-modify-write updates. If not set, a blind + // "overwrite" update happens. + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` + // The labels with user-defined metadata to organize the + // NotebookRuntimeTemplates. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The idle shutdown configuration of NotebookRuntimeTemplate. This config + // will only be set when idle shutdown is enabled. + IdleShutdownConfig *NotebookIdleShutdownConfig `protobuf:"bytes,17,opt,name=idle_shutdown_config,json=idleShutdownConfig,proto3" json:"idle_shutdown_config,omitempty"` + // EUC configuration of the NotebookRuntimeTemplate. + EucConfig *NotebookEucConfig `protobuf:"bytes,18,opt,name=euc_config,json=eucConfig,proto3" json:"euc_config,omitempty"` + // Output only. Timestamp when this NotebookRuntimeTemplate was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this NotebookRuntimeTemplate was most recently + // updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Immutable. The type of the notebook runtime template. + NotebookRuntimeType NotebookRuntimeType `protobuf:"varint,19,opt,name=notebook_runtime_type,json=notebookRuntimeType,proto3,enum=google.cloud.aiplatform.v1beta1.NotebookRuntimeType" json:"notebook_runtime_type,omitempty"` + // Optional. Immutable. Runtime Shielded VM spec. + ShieldedVmConfig *ShieldedVmConfig `protobuf:"bytes,20,opt,name=shielded_vm_config,json=shieldedVmConfig,proto3" json:"shielded_vm_config,omitempty"` + // Optional. The Compute Engine tags to add to runtime (see [Tagging + // instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + NetworkTags []string `protobuf:"bytes,21,rep,name=network_tags,json=networkTags,proto3" json:"network_tags,omitempty"` +} + +func (x *NotebookRuntimeTemplate) Reset() { + *x = NotebookRuntimeTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntimeTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntimeTemplate) ProtoMessage() {} + +func (x *NotebookRuntimeTemplate) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_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 NotebookRuntimeTemplate.ProtoReflect.Descriptor instead. +func (*NotebookRuntimeTemplate) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookRuntimeTemplate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetIsDefault() bool { + if x != nil { + return x.IsDefault + } + return false +} + +func (x *NotebookRuntimeTemplate) GetMachineSpec() *MachineSpec { + if x != nil { + return x.MachineSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetDataPersistentDiskSpec() *PersistentDiskSpec { + if x != nil { + return x.DataPersistentDiskSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNetworkSpec() *NetworkSpec { + if x != nil { + return x.NetworkSpec + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *NotebookRuntimeTemplate) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetIdleShutdownConfig() *NotebookIdleShutdownConfig { + if x != nil { + return x.IdleShutdownConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetEucConfig() *NotebookEucConfig { + if x != nil { + return x.EucConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNotebookRuntimeType() NotebookRuntimeType { + if x != nil { + return x.NotebookRuntimeType + } + return NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED +} + +func (x *NotebookRuntimeTemplate) GetShieldedVmConfig() *ShieldedVmConfig { + if x != nil { + return x.ShieldedVmConfig + } + return nil +} + +func (x *NotebookRuntimeTemplate) GetNetworkTags() []string { + if x != nil { + return x.NetworkTags + } + return nil +} + +// A runtime is a virtual machine allocated to a particular user for a +// particular Notebook file on temporary basis with lifetime limited to 24 +// hours. +type NotebookRuntime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the NotebookRuntime. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The user email of the NotebookRuntime. + RuntimeUser string `protobuf:"bytes,2,opt,name=runtime_user,json=runtimeUser,proto3" json:"runtime_user,omitempty"` + // Output only. The pointer to NotebookRuntimeTemplate this NotebookRuntime is + // created from. + NotebookRuntimeTemplateRef *NotebookRuntimeTemplateRef `protobuf:"bytes,3,opt,name=notebook_runtime_template_ref,json=notebookRuntimeTemplateRef,proto3" json:"notebook_runtime_template_ref,omitempty"` + // Output only. The proxy endpoint used to access the NotebookRuntime. + ProxyUri string `protobuf:"bytes,5,opt,name=proxy_uri,json=proxyUri,proto3" json:"proxy_uri,omitempty"` + // Output only. Timestamp when this NotebookRuntime was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this NotebookRuntime was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The health state of the NotebookRuntime. + HealthState NotebookRuntime_HealthState `protobuf:"varint,8,opt,name=health_state,json=healthState,proto3,enum=google.cloud.aiplatform.v1beta1.NotebookRuntime_HealthState" json:"health_state,omitempty"` + // Required. The display name of the NotebookRuntime. + // The name can be up to 128 characters long and can consist of any UTF-8 + // characters. + DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the NotebookRuntime. + Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The service account that the NotebookRuntime workload runs as. + ServiceAccount string `protobuf:"bytes,13,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Output only. The runtime (instance) state of the NotebookRuntime. + RuntimeState NotebookRuntime_RuntimeState `protobuf:"varint,14,opt,name=runtime_state,json=runtimeState,proto3,enum=google.cloud.aiplatform.v1beta1.NotebookRuntime_RuntimeState" json:"runtime_state,omitempty"` + // Output only. Whether NotebookRuntime is upgradable. + IsUpgradable bool `protobuf:"varint,15,opt,name=is_upgradable,json=isUpgradable,proto3" json:"is_upgradable,omitempty"` + // The labels with user-defined metadata to organize your + // NotebookRuntime. + // + // Label keys and values can be no longer than 64 characters + // (Unicode codepoints), can only contain lowercase letters, numeric + // characters, underscores and dashes. International characters are allowed. + // No more than 64 user labels can be associated with one NotebookRuntime + // (System labels are excluded). + // + // See https://goo.gl/xmQnxf for more information and examples of labels. + // System reserved label keys are prefixed with "aiplatform.googleapis.com/" + // and are immutable. Following system labels exist for NotebookRuntime: + // + // * "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output + // only, its value is the Compute Engine instance id. + // * "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is + // either "bigquery" or "vertex"; if absent, it should be "vertex". This is to + // describe the entry service, either BigQuery or Vertex. + Labels map[string]string `protobuf:"bytes,16,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when this NotebookRuntime will be expired: + // 1. System Predefined NotebookRuntime: 24 hours after creation. After + // expiration, system predifined runtime will be deleted. + // 2. User created NotebookRuntime: 6 months after last upgrade. After + // expiration, user created runtime will be stopped and allowed for upgrade. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Output only. The VM os image version of NotebookRuntime. + Version string `protobuf:"bytes,18,opt,name=version,proto3" json:"version,omitempty"` + // Output only. The type of the notebook runtime. + NotebookRuntimeType NotebookRuntimeType `protobuf:"varint,19,opt,name=notebook_runtime_type,json=notebookRuntimeType,proto3,enum=google.cloud.aiplatform.v1beta1.NotebookRuntimeType" json:"notebook_runtime_type,omitempty"` + // Optional. The Compute Engine tags to add to runtime (see [Tagging + // instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). + NetworkTags []string `protobuf:"bytes,25,rep,name=network_tags,json=networkTags,proto3" json:"network_tags,omitempty"` +} + +func (x *NotebookRuntime) Reset() { + *x = NotebookRuntime{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntime) ProtoMessage() {} + +func (x *NotebookRuntime) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_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 NotebookRuntime.ProtoReflect.Descriptor instead. +func (*NotebookRuntime) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP(), []int{1} +} + +func (x *NotebookRuntime) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NotebookRuntime) GetRuntimeUser() string { + if x != nil { + return x.RuntimeUser + } + return "" +} + +func (x *NotebookRuntime) GetNotebookRuntimeTemplateRef() *NotebookRuntimeTemplateRef { + if x != nil { + return x.NotebookRuntimeTemplateRef + } + return nil +} + +func (x *NotebookRuntime) GetProxyUri() string { + if x != nil { + return x.ProxyUri + } + return "" +} + +func (x *NotebookRuntime) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *NotebookRuntime) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *NotebookRuntime) GetHealthState() NotebookRuntime_HealthState { + if x != nil { + return x.HealthState + } + return NotebookRuntime_HEALTH_STATE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *NotebookRuntime) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NotebookRuntime) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *NotebookRuntime) GetRuntimeState() NotebookRuntime_RuntimeState { + if x != nil { + return x.RuntimeState + } + return NotebookRuntime_RUNTIME_STATE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetIsUpgradable() bool { + if x != nil { + return x.IsUpgradable + } + return false +} + +func (x *NotebookRuntime) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *NotebookRuntime) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *NotebookRuntime) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *NotebookRuntime) GetNotebookRuntimeType() NotebookRuntimeType { + if x != nil { + return x.NotebookRuntimeType + } + return NotebookRuntimeType_NOTEBOOK_RUNTIME_TYPE_UNSPECIFIED +} + +func (x *NotebookRuntime) GetNetworkTags() []string { + if x != nil { + return x.NetworkTags + } + return nil +} + +var File_google_cloud_aiplatform_v1beta1_notebook_runtime_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDesc = []byte{ + 0x0a, 0x36, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x37, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x39, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x65, 0x75, 0x63, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x75, + 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x43, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, + 0x66, 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, 0xfb, 0x0a, 0x0a, 0x17, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 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, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x57, 0x0a, 0x0c, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, + 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x73, 0x0a, 0x19, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x08, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x16, 0x64, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x0c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x5c, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x6d, 0x0a, 0x14, 0x69, 0x64, + 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x69, 0x64, 0x6c, 0x65, 0x53, 0x68, 0x75, 0x74, 0x64, + 0x6f, 0x77, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x0a, 0x65, 0x75, 0x63, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x09, 0x65, 0x75, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 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, 0x0b, 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, 0x70, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x13, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x76, + 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x06, 0xe0, 0x41, 0x01, 0xe0, 0x41, 0x05, 0x52, 0x10, 0x73, 0x68, 0x69, 0x65, 0x6c, + 0x64, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, + 0x61, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x95, + 0x01, 0xea, 0x41, 0x91, 0x01, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5c, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x22, 0xe2, 0x0b, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x1d, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3b, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x55, 0x72, 0x69, 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, 0x64, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, + 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x69, 0x73, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x48, + 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x11, 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, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6d, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x13, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x0b, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x45, 0x41, 0x4c, + 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, + 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, + 0x10, 0x02, 0x22, 0x99, 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x11, 0x0a, 0x0d, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x4f, 0x50, + 0x50, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, + 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x50, 0x47, 0x52, + 0x41, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x65, 0x3a, 0x7b, + 0xea, 0x41, 0x78, 0x0a, 0x29, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4b, + 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x7d, 0x2a, 0x5d, 0x0a, 0x13, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x4f, 0x54, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x5f, 0x52, + 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x53, 0x45, + 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4f, + 0x4e, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x10, 0x02, 0x42, 0xeb, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x42, 0x14, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, + 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_goTypes = []interface{}{ + (NotebookRuntimeType)(0), // 0: google.cloud.aiplatform.v1beta1.NotebookRuntimeType + (NotebookRuntime_HealthState)(0), // 1: google.cloud.aiplatform.v1beta1.NotebookRuntime.HealthState + (NotebookRuntime_RuntimeState)(0), // 2: google.cloud.aiplatform.v1beta1.NotebookRuntime.RuntimeState + (*NotebookRuntimeTemplate)(nil), // 3: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate + (*NotebookRuntime)(nil), // 4: google.cloud.aiplatform.v1beta1.NotebookRuntime + nil, // 5: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.LabelsEntry + nil, // 6: google.cloud.aiplatform.v1beta1.NotebookRuntime.LabelsEntry + (*MachineSpec)(nil), // 7: google.cloud.aiplatform.v1beta1.MachineSpec + (*PersistentDiskSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.PersistentDiskSpec + (*NetworkSpec)(nil), // 9: google.cloud.aiplatform.v1beta1.NetworkSpec + (*NotebookIdleShutdownConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.NotebookIdleShutdownConfig + (*NotebookEucConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.NotebookEucConfig + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*ShieldedVmConfig)(nil), // 13: google.cloud.aiplatform.v1beta1.ShieldedVmConfig + (*NotebookRuntimeTemplateRef)(nil), // 14: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplateRef +} +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_depIdxs = []int32{ + 7, // 0: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec + 8, // 1: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.data_persistent_disk_spec:type_name -> google.cloud.aiplatform.v1beta1.PersistentDiskSpec + 9, // 2: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.network_spec:type_name -> google.cloud.aiplatform.v1beta1.NetworkSpec + 5, // 3: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.labels:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.LabelsEntry + 10, // 4: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.idle_shutdown_config:type_name -> google.cloud.aiplatform.v1beta1.NotebookIdleShutdownConfig + 11, // 5: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.euc_config:type_name -> google.cloud.aiplatform.v1beta1.NotebookEucConfig + 12, // 6: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.create_time:type_name -> google.protobuf.Timestamp + 12, // 7: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.update_time:type_name -> google.protobuf.Timestamp + 0, // 8: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.notebook_runtime_type:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeType + 13, // 9: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.shielded_vm_config:type_name -> google.cloud.aiplatform.v1beta1.ShieldedVmConfig + 14, // 10: google.cloud.aiplatform.v1beta1.NotebookRuntime.notebook_runtime_template_ref:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplateRef + 12, // 11: google.cloud.aiplatform.v1beta1.NotebookRuntime.create_time:type_name -> google.protobuf.Timestamp + 12, // 12: google.cloud.aiplatform.v1beta1.NotebookRuntime.update_time:type_name -> google.protobuf.Timestamp + 1, // 13: google.cloud.aiplatform.v1beta1.NotebookRuntime.health_state:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntime.HealthState + 2, // 14: google.cloud.aiplatform.v1beta1.NotebookRuntime.runtime_state:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntime.RuntimeState + 6, // 15: google.cloud.aiplatform.v1beta1.NotebookRuntime.labels:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntime.LabelsEntry + 12, // 16: google.cloud.aiplatform.v1beta1.NotebookRuntime.expiration_time:type_name -> google.protobuf.Timestamp + 0, // 17: google.cloud.aiplatform.v1beta1.NotebookRuntime.notebook_runtime_type:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeType + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_init() } +func file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_init() { + if File_google_cloud_aiplatform_v1beta1_notebook_runtime_proto != nil { + return + } + file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() + file_google_cloud_aiplatform_v1beta1_network_spec_proto_init() + file_google_cloud_aiplatform_v1beta1_notebook_euc_config_proto_init() + file_google_cloud_aiplatform_v1beta1_notebook_idle_shutdown_config_proto_init() + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntimeTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntime); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDesc, + NumEnums: 3, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_enumTypes, + MessageInfos: file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_notebook_runtime_proto = out.File + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime_template_ref.pb.go b/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime_template_ref.pb.go new file mode 100755 index 000000000000..5f3b12bd6717 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/notebook_runtime_template_ref.pb.go @@ -0,0 +1,190 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/notebook_runtime_template_ref.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) +) + +// Points to a NotebookRuntimeTemplateRef. +type NotebookRuntimeTemplateRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. A resource name of the NotebookRuntimeTemplate. + NotebookRuntimeTemplate string `protobuf:"bytes,1,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` +} + +func (x *NotebookRuntimeTemplateRef) Reset() { + *x = NotebookRuntimeTemplateRef{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotebookRuntimeTemplateRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotebookRuntimeTemplateRef) ProtoMessage() {} + +func (x *NotebookRuntimeTemplateRef) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_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 NotebookRuntimeTemplateRef.ProtoReflect.Descriptor instead. +func (*NotebookRuntimeTemplateRef) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescGZIP(), []int{0} +} + +func (x *NotebookRuntimeTemplateRef) GetNotebookRuntimeTemplate() string { + if x != nil { + return x.NotebookRuntimeTemplate + } + return "" +} + +var File_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDesc = []byte{ + 0x0a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x93, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x12, 0x75, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x17, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0xf6, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x1f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_goTypes = []interface{}{ + (*NotebookRuntimeTemplateRef)(nil), // 0: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplateRef +} +var file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_init() } +func file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_init() { + if File_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotebookRuntimeTemplateRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto = out.File + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_notebook_runtime_template_ref_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/notebook_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/notebook_service.pb.go new file mode 100755 index 000000000000..9fc15b3d8f76 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/notebook_service.pb.go @@ -0,0 +1,2375 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/notebook_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" + 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" + _ "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [NotebookService.CreateNotebookRuntimeTemplate][google.cloud.aiplatform.v1beta1.NotebookService.CreateNotebookRuntimeTemplate]. +type CreateNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to create the + // NotebookRuntimeTemplate. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The NotebookRuntimeTemplate to create. + NotebookRuntimeTemplate *NotebookRuntimeTemplate `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` + // Optional. User specified ID for the notebook runtime template. + NotebookRuntimeTemplateId string `protobuf:"bytes,3,opt,name=notebook_runtime_template_id,json=notebookRuntimeTemplateId,proto3" json:"notebook_runtime_template_id,omitempty"` +} + +func (x *CreateNotebookRuntimeTemplateRequest) Reset() { + *x = CreateNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *CreateNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 CreateNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*CreateNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetNotebookRuntimeTemplate() *NotebookRuntimeTemplate { + if x != nil { + return x.NotebookRuntimeTemplate + } + return nil +} + +func (x *CreateNotebookRuntimeTemplateRequest) GetNotebookRuntimeTemplateId() string { + if x != nil { + return x.NotebookRuntimeTemplateId + } + return "" +} + +// Metadata information for +// [NotebookService.CreateNotebookRuntimeTemplate][google.cloud.aiplatform.v1beta1.NotebookService.CreateNotebookRuntimeTemplate]. +type CreateNotebookRuntimeTemplateOperationMetadata 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 *CreateNotebookRuntimeTemplateOperationMetadata) Reset() { + *x = CreateNotebookRuntimeTemplateOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNotebookRuntimeTemplateOperationMetadata) ProtoMessage() {} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 CreateNotebookRuntimeTemplateOperationMetadata.ProtoReflect.Descriptor instead. +func (*CreateNotebookRuntimeTemplateOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateNotebookRuntimeTemplateOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Request message for +// [NotebookService.GetNotebookRuntimeTemplate][google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntimeTemplate] +type GetNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntimeTemplate resource. + // Format: + // `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotebookRuntimeTemplateRequest) Reset() { + *x = GetNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *GetNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 GetNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*GetNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetNotebookRuntimeTemplateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates]. +type ListNotebookRuntimeTemplatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // NotebookRuntimeTemplates. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` + // represents the NotebookRuntimeTemplate ID, + // i.e. the last segment of the NotebookRuntimeTemplate's [resource name] + // [google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.name]. + // - `display_name` supports = and != + // - `labels` supports general map functions that is: + // - `labels.key=value` - key:value equality + // - `labels.key:* or labels:key - key existence + // - A key including a space must be quoted. `labels."a key"`. + // - `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: + // [USER_DEFINED, ONE_CLICK]. + // + // Some examples: + // + // - `notebookRuntimeTemplate=notebookRuntimeTemplate123` + // - `displayName="myDisplayName"` + // - `labels.myKey="myValue"` + // - `notebookRuntimeType=USER_DEFINED` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListNotebookRuntimeTemplatesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesResponse.next_page_token] + // of the previous + // [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. Supported fields: + // + // - `display_name` + // - `create_time` + // - `update_time` + // + // Example: `display_name, create_time desc`. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNotebookRuntimeTemplatesRequest) Reset() { + *x = ListNotebookRuntimeTemplatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimeTemplatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimeTemplatesRequest) ProtoMessage() {} + +func (x *ListNotebookRuntimeTemplatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 ListNotebookRuntimeTemplatesRequest.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimeTemplatesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListNotebookRuntimeTemplatesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [NotebookService.ListNotebookRuntimeTemplates][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates]. +type ListNotebookRuntimeTemplatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of NotebookRuntimeTemplates in the requested page. + NotebookRuntimeTemplates []*NotebookRuntimeTemplate `protobuf:"bytes,1,rep,name=notebook_runtime_templates,json=notebookRuntimeTemplates,proto3" json:"notebook_runtime_templates,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListNotebookRuntimeTemplatesRequest.page_token][google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesRequest.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 *ListNotebookRuntimeTemplatesResponse) Reset() { + *x = ListNotebookRuntimeTemplatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimeTemplatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimeTemplatesResponse) ProtoMessage() {} + +func (x *ListNotebookRuntimeTemplatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 ListNotebookRuntimeTemplatesResponse.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimeTemplatesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListNotebookRuntimeTemplatesResponse) GetNotebookRuntimeTemplates() []*NotebookRuntimeTemplate { + if x != nil { + return x.NotebookRuntimeTemplates + } + return nil +} + +func (x *ListNotebookRuntimeTemplatesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [NotebookService.DeleteNotebookRuntimeTemplate][google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntimeTemplate]. +type DeleteNotebookRuntimeTemplateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntimeTemplate resource to be deleted. + // Format: + // `projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNotebookRuntimeTemplateRequest) Reset() { + *x = DeleteNotebookRuntimeTemplateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotebookRuntimeTemplateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotebookRuntimeTemplateRequest) ProtoMessage() {} + +func (x *DeleteNotebookRuntimeTemplateRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 DeleteNotebookRuntimeTemplateRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotebookRuntimeTemplateRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteNotebookRuntimeTemplateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.AssignNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.AssignNotebookRuntime]. +type AssignNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location to get the NotebookRuntime + // assignment. Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The resource name of the NotebookRuntimeTemplate based on which a + // NotebookRuntime will be assigned (reuse or create a new one). + NotebookRuntimeTemplate string `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` + // Required. Provide runtime specific information (e.g. runtime owner, + // notebook id) used for NotebookRuntime assignment. + NotebookRuntime *NotebookRuntime `protobuf:"bytes,3,opt,name=notebook_runtime,json=notebookRuntime,proto3" json:"notebook_runtime,omitempty"` + // Optional. User specified ID for the notebook runtime. + NotebookRuntimeId string `protobuf:"bytes,4,opt,name=notebook_runtime_id,json=notebookRuntimeId,proto3" json:"notebook_runtime_id,omitempty"` +} + +func (x *AssignNotebookRuntimeRequest) Reset() { + *x = AssignNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssignNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignNotebookRuntimeRequest) ProtoMessage() {} + +func (x *AssignNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 AssignNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*AssignNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{6} +} + +func (x *AssignNotebookRuntimeRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntimeTemplate() string { + if x != nil { + return x.NotebookRuntimeTemplate + } + return "" +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntime() *NotebookRuntime { + if x != nil { + return x.NotebookRuntime + } + return nil +} + +func (x *AssignNotebookRuntimeRequest) GetNotebookRuntimeId() string { + if x != nil { + return x.NotebookRuntimeId + } + return "" +} + +// Metadata information for +// [NotebookService.AssignNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.AssignNotebookRuntime]. +type AssignNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *AssignNotebookRuntimeOperationMetadata) Reset() { + *x = AssignNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssignNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *AssignNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 AssignNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*AssignNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{7} +} + +func (x *AssignNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *AssignNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Request message for +// [NotebookService.GetNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntime] +type GetNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotebookRuntimeRequest) Reset() { + *x = GetNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotebookRuntimeRequest) ProtoMessage() {} + +func (x *GetNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 GetNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*GetNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{8} +} + +func (x *GetNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes]. +type ListNotebookRuntimesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Location from which to list the + // NotebookRuntimes. + // Format: `projects/{project}/locations/{location}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. An expression for filtering the results of the request. For field + // names both snake_case and camelCase are supported. + // + // - `notebookRuntime` supports = and !=. `notebookRuntime` represents the + // NotebookRuntime ID, + // i.e. the last segment of the NotebookRuntime's [resource name] + // [google.cloud.aiplatform.v1beta1.NotebookRuntime.name]. + // - `displayName` supports = and != and regex. + // - `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` + // represents the NotebookRuntimeTemplate ID, + // i.e. the last segment of the NotebookRuntimeTemplate's [resource name] + // [google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate.name]. + // - `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, + // HEALTH_STATE_UNSPECIFIED]. + // - `runtimeState` supports = and !=. runtimeState enum: + // [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, + // STOPPED, BEING_UPGRADED, ERROR, INVALID]. + // - `runtimeUser` supports = and !=. + // - API version is UI only: `uiState` supports = and !=. uiState enum: + // [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, + // UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, + // UI_RESOURCE_STATE_CREATION_FAILED]. + // - `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: + // [USER_DEFINED, ONE_CLICK]. + // + // Some examples: + // + // - `notebookRuntime="notebookRuntime123"` + // - `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` + // - `notebookRuntimeTemplate="notebookRuntimeTemplate321"` + // - `healthState=HEALTHY` + // - `runtimeState=RUNNING` + // - `runtimeUser="test@google.com"` + // - `uiState=UI_RESOURCE_STATE_BEING_DELETED` + // - `notebookRuntimeType=USER_DEFINED` + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The standard list page size. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The standard list page token. + // Typically obtained via + // [ListNotebookRuntimesResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListNotebookRuntimesResponse.next_page_token] + // of the previous + // [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes] + // call. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Mask specifying which fields to read. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // Optional. A comma-separated list of fields to order by, sorted in ascending + // order. Use "desc" after a field name for descending. Supported fields: + // + // - `display_name` + // - `create_time` + // - `update_time` + // + // Example: `display_name, create_time desc`. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNotebookRuntimesRequest) Reset() { + *x = ListNotebookRuntimesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimesRequest) ProtoMessage() {} + +func (x *ListNotebookRuntimesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 ListNotebookRuntimesRequest.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ListNotebookRuntimesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNotebookRuntimesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNotebookRuntimesRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListNotebookRuntimesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [NotebookService.ListNotebookRuntimes][google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes]. +type ListNotebookRuntimesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of NotebookRuntimes in the requested page. + NotebookRuntimes []*NotebookRuntime `protobuf:"bytes,1,rep,name=notebook_runtimes,json=notebookRuntimes,proto3" json:"notebook_runtimes,omitempty"` + // A token to retrieve next page of results. + // Pass to + // [ListNotebookRuntimesRequest.page_token][google.cloud.aiplatform.v1beta1.ListNotebookRuntimesRequest.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 *ListNotebookRuntimesResponse) Reset() { + *x = ListNotebookRuntimesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotebookRuntimesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotebookRuntimesResponse) ProtoMessage() {} + +func (x *ListNotebookRuntimesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 ListNotebookRuntimesResponse.ProtoReflect.Descriptor instead. +func (*ListNotebookRuntimesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListNotebookRuntimesResponse) GetNotebookRuntimes() []*NotebookRuntime { + if x != nil { + return x.NotebookRuntimes + } + return nil +} + +func (x *ListNotebookRuntimesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [NotebookService.DeleteNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntime]. +type DeleteNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be deleted. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNotebookRuntimeRequest) Reset() { + *x = DeleteNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNotebookRuntimeRequest) ProtoMessage() {} + +func (x *DeleteNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 DeleteNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*DeleteNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{11} +} + +func (x *DeleteNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be upgrade. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *UpgradeNotebookRuntimeRequest) Reset() { + *x = UpgradeNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeRequest) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 UpgradeNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UpgradeNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Metadata information for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) Reset() { + *x = UpgradeNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 UpgradeNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{13} +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *UpgradeNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Response message for +// [NotebookService.UpgradeNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime]. +type UpgradeNotebookRuntimeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpgradeNotebookRuntimeResponse) Reset() { + *x = UpgradeNotebookRuntimeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNotebookRuntimeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNotebookRuntimeResponse) ProtoMessage() {} + +func (x *UpgradeNotebookRuntimeResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 UpgradeNotebookRuntimeResponse.ProtoReflect.Descriptor instead. +func (*UpgradeNotebookRuntimeResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{14} +} + +// Request message for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the NotebookRuntime resource to be started. + // Instead of checking whether the name is in valid NotebookRuntime resource + // name format, directly throw NotFound exception if there is no such + // NotebookRuntime in spanner. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *StartNotebookRuntimeRequest) Reset() { + *x = StartNotebookRuntimeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeRequest) ProtoMessage() {} + +func (x *StartNotebookRuntimeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 StartNotebookRuntimeRequest.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{15} +} + +func (x *StartNotebookRuntimeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Metadata information for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeOperationMetadata 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"` + // A human-readable message that shows the intermediate progress details of + // NotebookRuntime. + ProgressMessage string `protobuf:"bytes,2,opt,name=progress_message,json=progressMessage,proto3" json:"progress_message,omitempty"` +} + +func (x *StartNotebookRuntimeOperationMetadata) Reset() { + *x = StartNotebookRuntimeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeOperationMetadata) ProtoMessage() {} + +func (x *StartNotebookRuntimeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_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 StartNotebookRuntimeOperationMetadata.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{16} +} + +func (x *StartNotebookRuntimeOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +func (x *StartNotebookRuntimeOperationMetadata) GetProgressMessage() string { + if x != nil { + return x.ProgressMessage + } + return "" +} + +// Response message for +// [NotebookService.StartNotebookRuntime][google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime]. +type StartNotebookRuntimeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StartNotebookRuntimeResponse) Reset() { + *x = StartNotebookRuntimeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartNotebookRuntimeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNotebookRuntimeResponse) ProtoMessage() {} + +func (x *StartNotebookRuntimeResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartNotebookRuntimeResponse.ProtoReflect.Descriptor instead. +func (*StartNotebookRuntimeResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP(), []int{17} +} + +var File_google_cloud_aiplatform_v1beta1_notebook_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDesc = []byte{ + 0x0a, 0x36, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x36, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x02, 0x0a, 0x24, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x79, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x44, 0x0a, 0x1c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 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, 0x39, 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, + 0x62, 0x65, 0x74, 0x61, 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, + 0x72, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 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, 0x1b, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, + 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, + 0xc6, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x1a, 0x6e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x18, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 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, 0x75, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xef, 0x02, 0x0a, 0x1c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x75, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, + 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, + 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x17, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x6e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x13, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, + 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x26, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 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, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x62, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, + 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xa1, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 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, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, + 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xa5, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 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, 0x22, 0x65, 0x0a, + 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 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, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x1d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xba, 0x01, 0x0a, + 0x27, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 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, 0x39, 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, 0x62, + 0x65, 0x74, 0x61, 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, 0x29, + 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1b, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, + 0x0a, 0x29, 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, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x64, 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, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x1e, 0x0a, 0x1c, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf8, 0x15, 0x0a, + 0x0f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xf8, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 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, 0xf0, 0x01, 0xca, 0x41, 0x49, 0x0a, 0x17, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x3d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x3a, 0x19, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x50, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xff, 0x01, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x8b, 0x02, 0x0a, + 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 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, 0x83, 0x01, 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, 0x43, 0x2a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x02, 0x0a, 0x15, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0xcf, 0x01, 0xca, 0x41, 0x39, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x45, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, + 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x3a, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x12, 0xcc, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 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, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x62, + 0x65, 0x74, 0x61, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x3d, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x99, 0x02, 0x0a, 0x16, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x9f, 0x01, 0xca, 0x41, 0x49, 0x0a, 0x1e, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 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, 0x46, + 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x3c, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x99, 0x01, 0xca, + 0x41, 0x45, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x75, 0x6e, 0x74, 0x69, 0x6d, 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, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 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, 0xeb, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x14, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, + 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_google_cloud_aiplatform_v1beta1_notebook_service_proto_goTypes = []interface{}{ + (*CreateNotebookRuntimeTemplateRequest)(nil), // 0: google.cloud.aiplatform.v1beta1.CreateNotebookRuntimeTemplateRequest + (*CreateNotebookRuntimeTemplateOperationMetadata)(nil), // 1: google.cloud.aiplatform.v1beta1.CreateNotebookRuntimeTemplateOperationMetadata + (*GetNotebookRuntimeTemplateRequest)(nil), // 2: google.cloud.aiplatform.v1beta1.GetNotebookRuntimeTemplateRequest + (*ListNotebookRuntimeTemplatesRequest)(nil), // 3: google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesRequest + (*ListNotebookRuntimeTemplatesResponse)(nil), // 4: google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesResponse + (*DeleteNotebookRuntimeTemplateRequest)(nil), // 5: google.cloud.aiplatform.v1beta1.DeleteNotebookRuntimeTemplateRequest + (*AssignNotebookRuntimeRequest)(nil), // 6: google.cloud.aiplatform.v1beta1.AssignNotebookRuntimeRequest + (*AssignNotebookRuntimeOperationMetadata)(nil), // 7: google.cloud.aiplatform.v1beta1.AssignNotebookRuntimeOperationMetadata + (*GetNotebookRuntimeRequest)(nil), // 8: google.cloud.aiplatform.v1beta1.GetNotebookRuntimeRequest + (*ListNotebookRuntimesRequest)(nil), // 9: google.cloud.aiplatform.v1beta1.ListNotebookRuntimesRequest + (*ListNotebookRuntimesResponse)(nil), // 10: google.cloud.aiplatform.v1beta1.ListNotebookRuntimesResponse + (*DeleteNotebookRuntimeRequest)(nil), // 11: google.cloud.aiplatform.v1beta1.DeleteNotebookRuntimeRequest + (*UpgradeNotebookRuntimeRequest)(nil), // 12: google.cloud.aiplatform.v1beta1.UpgradeNotebookRuntimeRequest + (*UpgradeNotebookRuntimeOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1beta1.UpgradeNotebookRuntimeOperationMetadata + (*UpgradeNotebookRuntimeResponse)(nil), // 14: google.cloud.aiplatform.v1beta1.UpgradeNotebookRuntimeResponse + (*StartNotebookRuntimeRequest)(nil), // 15: google.cloud.aiplatform.v1beta1.StartNotebookRuntimeRequest + (*StartNotebookRuntimeOperationMetadata)(nil), // 16: google.cloud.aiplatform.v1beta1.StartNotebookRuntimeOperationMetadata + (*StartNotebookRuntimeResponse)(nil), // 17: google.cloud.aiplatform.v1beta1.StartNotebookRuntimeResponse + (*NotebookRuntimeTemplate)(nil), // 18: google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate + (*GenericOperationMetadata)(nil), // 19: google.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*fieldmaskpb.FieldMask)(nil), // 20: google.protobuf.FieldMask + (*NotebookRuntime)(nil), // 21: google.cloud.aiplatform.v1beta1.NotebookRuntime + (*longrunningpb.Operation)(nil), // 22: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1beta1_notebook_service_proto_depIdxs = []int32{ + 18, // 0: google.cloud.aiplatform.v1beta1.CreateNotebookRuntimeTemplateRequest.notebook_runtime_template:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate + 19, // 1: google.cloud.aiplatform.v1beta1.CreateNotebookRuntimeTemplateOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 20, // 2: google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesRequest.read_mask:type_name -> google.protobuf.FieldMask + 18, // 3: google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesResponse.notebook_runtime_templates:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate + 21, // 4: google.cloud.aiplatform.v1beta1.AssignNotebookRuntimeRequest.notebook_runtime:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntime + 19, // 5: google.cloud.aiplatform.v1beta1.AssignNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 20, // 6: google.cloud.aiplatform.v1beta1.ListNotebookRuntimesRequest.read_mask:type_name -> google.protobuf.FieldMask + 21, // 7: google.cloud.aiplatform.v1beta1.ListNotebookRuntimesResponse.notebook_runtimes:type_name -> google.cloud.aiplatform.v1beta1.NotebookRuntime + 19, // 8: google.cloud.aiplatform.v1beta1.UpgradeNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 19, // 9: google.cloud.aiplatform.v1beta1.StartNotebookRuntimeOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 10: google.cloud.aiplatform.v1beta1.NotebookService.CreateNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1beta1.CreateNotebookRuntimeTemplateRequest + 2, // 11: google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1beta1.GetNotebookRuntimeTemplateRequest + 3, // 12: google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates:input_type -> google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesRequest + 5, // 13: google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntimeTemplate:input_type -> google.cloud.aiplatform.v1beta1.DeleteNotebookRuntimeTemplateRequest + 6, // 14: google.cloud.aiplatform.v1beta1.NotebookService.AssignNotebookRuntime:input_type -> google.cloud.aiplatform.v1beta1.AssignNotebookRuntimeRequest + 8, // 15: google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntime:input_type -> google.cloud.aiplatform.v1beta1.GetNotebookRuntimeRequest + 9, // 16: google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes:input_type -> google.cloud.aiplatform.v1beta1.ListNotebookRuntimesRequest + 11, // 17: google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntime:input_type -> google.cloud.aiplatform.v1beta1.DeleteNotebookRuntimeRequest + 12, // 18: google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime:input_type -> google.cloud.aiplatform.v1beta1.UpgradeNotebookRuntimeRequest + 15, // 19: google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime:input_type -> google.cloud.aiplatform.v1beta1.StartNotebookRuntimeRequest + 22, // 20: google.cloud.aiplatform.v1beta1.NotebookService.CreateNotebookRuntimeTemplate:output_type -> google.longrunning.Operation + 18, // 21: google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntimeTemplate:output_type -> google.cloud.aiplatform.v1beta1.NotebookRuntimeTemplate + 4, // 22: google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates:output_type -> google.cloud.aiplatform.v1beta1.ListNotebookRuntimeTemplatesResponse + 22, // 23: google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntimeTemplate:output_type -> google.longrunning.Operation + 22, // 24: google.cloud.aiplatform.v1beta1.NotebookService.AssignNotebookRuntime:output_type -> google.longrunning.Operation + 21, // 25: google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntime:output_type -> google.cloud.aiplatform.v1beta1.NotebookRuntime + 10, // 26: google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes:output_type -> google.cloud.aiplatform.v1beta1.ListNotebookRuntimesResponse + 22, // 27: google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntime:output_type -> google.longrunning.Operation + 22, // 28: google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime:output_type -> google.longrunning.Operation + 22, // 29: google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime:output_type -> google.longrunning.Operation + 20, // [20:30] is the sub-list for method output_type + 10, // [10:20] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_notebook_service_proto_init() } +func file_google_cloud_aiplatform_v1beta1_notebook_service_proto_init() { + if File_google_cloud_aiplatform_v1beta1_notebook_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1beta1_notebook_runtime_proto_init() + file_google_cloud_aiplatform_v1beta1_operation_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNotebookRuntimeTemplateOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimeTemplatesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimeTemplatesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotebookRuntimeTemplateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AssignNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AssignNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotebookRuntimesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNotebookRuntimeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartNotebookRuntimeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 18, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_notebook_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_notebook_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_notebook_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_notebook_service_proto = out.File + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_notebook_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_notebook_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 + +// NotebookServiceClient is the client API for NotebookService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type NotebookServiceClient interface { + // Creates a NotebookRuntimeTemplate. + CreateNotebookRuntimeTemplate(ctx context.Context, in *CreateNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a NotebookRuntimeTemplate. + GetNotebookRuntimeTemplate(ctx context.Context, in *GetNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*NotebookRuntimeTemplate, error) + // Lists NotebookRuntimeTemplates in a Location. + ListNotebookRuntimeTemplates(ctx context.Context, in *ListNotebookRuntimeTemplatesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimeTemplatesResponse, error) + // Deletes a NotebookRuntimeTemplate. + DeleteNotebookRuntimeTemplate(ctx context.Context, in *DeleteNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Assigns a NotebookRuntime to a user for a particular Notebook file. This + // method will either returns an existing assignment or generates a new one. + AssignNotebookRuntime(ctx context.Context, in *AssignNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a NotebookRuntime. + GetNotebookRuntime(ctx context.Context, in *GetNotebookRuntimeRequest, opts ...grpc.CallOption) (*NotebookRuntime, error) + // Lists NotebookRuntimes in a Location. + ListNotebookRuntimes(ctx context.Context, in *ListNotebookRuntimesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimesResponse, error) + // Deletes a NotebookRuntime. + DeleteNotebookRuntime(ctx context.Context, in *DeleteNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Upgrades a NotebookRuntime. + UpgradeNotebookRuntime(ctx context.Context, in *UpgradeNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Starts a NotebookRuntime. + StartNotebookRuntime(ctx context.Context, in *StartNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type notebookServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewNotebookServiceClient(cc grpc.ClientConnInterface) NotebookServiceClient { + return ¬ebookServiceClient{cc} +} + +func (c *notebookServiceClient) CreateNotebookRuntimeTemplate(ctx context.Context, in *CreateNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/CreateNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) GetNotebookRuntimeTemplate(ctx context.Context, in *GetNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*NotebookRuntimeTemplate, error) { + out := new(NotebookRuntimeTemplate) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/GetNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) ListNotebookRuntimeTemplates(ctx context.Context, in *ListNotebookRuntimeTemplatesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimeTemplatesResponse, error) { + out := new(ListNotebookRuntimeTemplatesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/ListNotebookRuntimeTemplates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) DeleteNotebookRuntimeTemplate(ctx context.Context, in *DeleteNotebookRuntimeTemplateRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/DeleteNotebookRuntimeTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) AssignNotebookRuntime(ctx context.Context, in *AssignNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/AssignNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) GetNotebookRuntime(ctx context.Context, in *GetNotebookRuntimeRequest, opts ...grpc.CallOption) (*NotebookRuntime, error) { + out := new(NotebookRuntime) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/GetNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) ListNotebookRuntimes(ctx context.Context, in *ListNotebookRuntimesRequest, opts ...grpc.CallOption) (*ListNotebookRuntimesResponse, error) { + out := new(ListNotebookRuntimesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/ListNotebookRuntimes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) DeleteNotebookRuntime(ctx context.Context, in *DeleteNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/DeleteNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) UpgradeNotebookRuntime(ctx context.Context, in *UpgradeNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/UpgradeNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *notebookServiceClient) StartNotebookRuntime(ctx context.Context, in *StartNotebookRuntimeRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.aiplatform.v1beta1.NotebookService/StartNotebookRuntime", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// NotebookServiceServer is the server API for NotebookService service. +type NotebookServiceServer interface { + // Creates a NotebookRuntimeTemplate. + CreateNotebookRuntimeTemplate(context.Context, *CreateNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) + // Gets a NotebookRuntimeTemplate. + GetNotebookRuntimeTemplate(context.Context, *GetNotebookRuntimeTemplateRequest) (*NotebookRuntimeTemplate, error) + // Lists NotebookRuntimeTemplates in a Location. + ListNotebookRuntimeTemplates(context.Context, *ListNotebookRuntimeTemplatesRequest) (*ListNotebookRuntimeTemplatesResponse, error) + // Deletes a NotebookRuntimeTemplate. + DeleteNotebookRuntimeTemplate(context.Context, *DeleteNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) + // Assigns a NotebookRuntime to a user for a particular Notebook file. This + // method will either returns an existing assignment or generates a new one. + AssignNotebookRuntime(context.Context, *AssignNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Gets a NotebookRuntime. + GetNotebookRuntime(context.Context, *GetNotebookRuntimeRequest) (*NotebookRuntime, error) + // Lists NotebookRuntimes in a Location. + ListNotebookRuntimes(context.Context, *ListNotebookRuntimesRequest) (*ListNotebookRuntimesResponse, error) + // Deletes a NotebookRuntime. + DeleteNotebookRuntime(context.Context, *DeleteNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Upgrades a NotebookRuntime. + UpgradeNotebookRuntime(context.Context, *UpgradeNotebookRuntimeRequest) (*longrunningpb.Operation, error) + // Starts a NotebookRuntime. + StartNotebookRuntime(context.Context, *StartNotebookRuntimeRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedNotebookServiceServer can be embedded to have forward compatible implementations. +type UnimplementedNotebookServiceServer struct { +} + +func (*UnimplementedNotebookServiceServer) CreateNotebookRuntimeTemplate(context.Context, *CreateNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) GetNotebookRuntimeTemplate(context.Context, *GetNotebookRuntimeTemplateRequest) (*NotebookRuntimeTemplate, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) ListNotebookRuntimeTemplates(context.Context, *ListNotebookRuntimeTemplatesRequest) (*ListNotebookRuntimeTemplatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNotebookRuntimeTemplates not implemented") +} +func (*UnimplementedNotebookServiceServer) DeleteNotebookRuntimeTemplate(context.Context, *DeleteNotebookRuntimeTemplateRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNotebookRuntimeTemplate not implemented") +} +func (*UnimplementedNotebookServiceServer) AssignNotebookRuntime(context.Context, *AssignNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method AssignNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) GetNotebookRuntime(context.Context, *GetNotebookRuntimeRequest) (*NotebookRuntime, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) ListNotebookRuntimes(context.Context, *ListNotebookRuntimesRequest) (*ListNotebookRuntimesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNotebookRuntimes not implemented") +} +func (*UnimplementedNotebookServiceServer) DeleteNotebookRuntime(context.Context, *DeleteNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) UpgradeNotebookRuntime(context.Context, *UpgradeNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpgradeNotebookRuntime not implemented") +} +func (*UnimplementedNotebookServiceServer) StartNotebookRuntime(context.Context, *StartNotebookRuntimeRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method StartNotebookRuntime not implemented") +} + +func RegisterNotebookServiceServer(s *grpc.Server, srv NotebookServiceServer) { + s.RegisterService(&_NotebookService_serviceDesc, srv) +} + +func _NotebookService_CreateNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).CreateNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/CreateNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).CreateNotebookRuntimeTemplate(ctx, req.(*CreateNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_GetNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).GetNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/GetNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).GetNotebookRuntimeTemplate(ctx, req.(*GetNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_ListNotebookRuntimeTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNotebookRuntimeTemplatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).ListNotebookRuntimeTemplates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/ListNotebookRuntimeTemplates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).ListNotebookRuntimeTemplates(ctx, req.(*ListNotebookRuntimeTemplatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_DeleteNotebookRuntimeTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNotebookRuntimeTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).DeleteNotebookRuntimeTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/DeleteNotebookRuntimeTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).DeleteNotebookRuntimeTemplate(ctx, req.(*DeleteNotebookRuntimeTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_AssignNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AssignNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).AssignNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/AssignNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).AssignNotebookRuntime(ctx, req.(*AssignNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_GetNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).GetNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/GetNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).GetNotebookRuntime(ctx, req.(*GetNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_ListNotebookRuntimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNotebookRuntimesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).ListNotebookRuntimes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/ListNotebookRuntimes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).ListNotebookRuntimes(ctx, req.(*ListNotebookRuntimesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_DeleteNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).DeleteNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/DeleteNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).DeleteNotebookRuntime(ctx, req.(*DeleteNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_UpgradeNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpgradeNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).UpgradeNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/UpgradeNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).UpgradeNotebookRuntime(ctx, req.(*UpgradeNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NotebookService_StartNotebookRuntime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartNotebookRuntimeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NotebookServiceServer).StartNotebookRuntime(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.aiplatform.v1beta1.NotebookService/StartNotebookRuntime", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NotebookServiceServer).StartNotebookRuntime(ctx, req.(*StartNotebookRuntimeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _NotebookService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1beta1.NotebookService", + HandlerType: (*NotebookServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateNotebookRuntimeTemplate", + Handler: _NotebookService_CreateNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "GetNotebookRuntimeTemplate", + Handler: _NotebookService_GetNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "ListNotebookRuntimeTemplates", + Handler: _NotebookService_ListNotebookRuntimeTemplates_Handler, + }, + { + MethodName: "DeleteNotebookRuntimeTemplate", + Handler: _NotebookService_DeleteNotebookRuntimeTemplate_Handler, + }, + { + MethodName: "AssignNotebookRuntime", + Handler: _NotebookService_AssignNotebookRuntime_Handler, + }, + { + MethodName: "GetNotebookRuntime", + Handler: _NotebookService_GetNotebookRuntime_Handler, + }, + { + MethodName: "ListNotebookRuntimes", + Handler: _NotebookService_ListNotebookRuntimes_Handler, + }, + { + MethodName: "DeleteNotebookRuntime", + Handler: _NotebookService_DeleteNotebookRuntime_Handler, + }, + { + MethodName: "UpgradeNotebookRuntime", + Handler: _NotebookService_UpgradeNotebookRuntime_Handler, + }, + { + MethodName: "StartNotebookRuntime", + Handler: _NotebookService_StartNotebookRuntime_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1beta1/notebook_service.proto", +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go b/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go index c68ab061c7c0..1c1e3b483927 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/openapi.pb.go @@ -121,23 +121,51 @@ type Schema struct { // Optional. The format of the data. // Supported formats: // - // for NUMBER type: float, double - // for INTEGER type: int32, int64 + // for NUMBER type: "float", "double" + // for INTEGER type: "int32", "int64" + // for STRING type: "email", "byte", etc Format string `protobuf:"bytes,7,opt,name=format,proto3" json:"format,omitempty"` + // Optional. The title of the Schema. + Title string `protobuf:"bytes,24,opt,name=title,proto3" json:"title,omitempty"` // Optional. The description of the data. Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` // Optional. Indicates if the value may be null. Nullable bool `protobuf:"varint,6,opt,name=nullable,proto3" json:"nullable,omitempty"` - // Optional. Schema of the elements of Type.ARRAY. + // Optional. Default value of the data. + Default *structpb.Value `protobuf:"bytes,23,opt,name=default,proto3" json:"default,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE ARRAY + // Schema of the elements of Type.ARRAY. Items *Schema `protobuf:"bytes,2,opt,name=items,proto3" json:"items,omitempty"` + // Optional. Minimum number of the elements for Type.ARRAY. + MinItems int64 `protobuf:"varint,21,opt,name=min_items,json=minItems,proto3" json:"min_items,omitempty"` + // Optional. Maximum number of the elements for Type.ARRAY. + MaxItems int64 `protobuf:"varint,22,opt,name=max_items,json=maxItems,proto3" json:"max_items,omitempty"` // Optional. Possible values of the element of Type.STRING with enum format. // For example we can define an Enum Direction as : // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} Enum []string `protobuf:"bytes,9,rep,name=enum,proto3" json:"enum,omitempty"` - // Optional. Properties of Type.OBJECT. + // Optional. SCHEMA FIELDS FOR TYPE OBJECT + // Properties of Type.OBJECT. Properties map[string]*Schema `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Optional. Required properties of Type.OBJECT. Required []string `protobuf:"bytes,5,rep,name=required,proto3" json:"required,omitempty"` + // Optional. Minimum number of the properties for Type.OBJECT. + MinProperties int64 `protobuf:"varint,14,opt,name=min_properties,json=minProperties,proto3" json:"min_properties,omitempty"` + // Optional. Maximum number of the properties for Type.OBJECT. + MaxProperties int64 `protobuf:"varint,15,opt,name=max_properties,json=maxProperties,proto3" json:"max_properties,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE INTEGER and NUMBER + // Minimum value of the Type.INTEGER and Type.NUMBER + Minimum float64 `protobuf:"fixed64,16,opt,name=minimum,proto3" json:"minimum,omitempty"` + // Optional. Maximum value of the Type.INTEGER and Type.NUMBER + Maximum float64 `protobuf:"fixed64,17,opt,name=maximum,proto3" json:"maximum,omitempty"` + // Optional. SCHEMA FIELDS FOR TYPE STRING + // Minimum length of the Type.STRING + MinLength int64 `protobuf:"varint,18,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` + // Optional. Maximum length of the Type.STRING + MaxLength int64 `protobuf:"varint,19,opt,name=max_length,json=maxLength,proto3" json:"max_length,omitempty"` + // Optional. Pattern of the Type.STRING to restrict a string to a regular + // expression. + Pattern string `protobuf:"bytes,20,opt,name=pattern,proto3" json:"pattern,omitempty"` // Optional. Example of the object. Will only populated when the object is the // root. Example *structpb.Value `protobuf:"bytes,4,opt,name=example,proto3" json:"example,omitempty"` @@ -189,6 +217,13 @@ func (x *Schema) GetFormat() string { return "" } +func (x *Schema) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + func (x *Schema) GetDescription() string { if x != nil { return x.Description @@ -203,6 +238,13 @@ func (x *Schema) GetNullable() bool { return false } +func (x *Schema) GetDefault() *structpb.Value { + if x != nil { + return x.Default + } + return nil +} + func (x *Schema) GetItems() *Schema { if x != nil { return x.Items @@ -210,6 +252,20 @@ func (x *Schema) GetItems() *Schema { return nil } +func (x *Schema) GetMinItems() int64 { + if x != nil { + return x.MinItems + } + return 0 +} + +func (x *Schema) GetMaxItems() int64 { + if x != nil { + return x.MaxItems + } + return 0 +} + func (x *Schema) GetEnum() []string { if x != nil { return x.Enum @@ -231,6 +287,55 @@ func (x *Schema) GetRequired() []string { return nil } +func (x *Schema) GetMinProperties() int64 { + if x != nil { + return x.MinProperties + } + return 0 +} + +func (x *Schema) GetMaxProperties() int64 { + if x != nil { + return x.MaxProperties + } + return 0 +} + +func (x *Schema) GetMinimum() float64 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *Schema) GetMaximum() float64 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *Schema) GetMinLength() int64 { + if x != nil { + return x.MinLength + } + return 0 +} + +func (x *Schema) GetMaxLength() int64 { + if x != nil { + return x.MaxLength + } + return 0 +} + +func (x *Schema) GetPattern() string { + if x != nil { + return x.Pattern + } + return "" +} + func (x *Schema) GetExample() *structpb.Value { if x != nil { return x.Example @@ -250,62 +355,88 @@ var file_google_cloud_aiplatform_v1beta1_openapi_proto_rawDesc = []byte{ 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xa8, 0x04, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, + 0xbb, 0x07, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, - 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x5c, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x1a, 0x66, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, + 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x6e, 0x75, + 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x6e, + 0x75, 0x6d, 0x12, 0x5c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x65, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, - 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0b, 0x0a, - 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, - 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, - 0x06, 0x42, 0xe3, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, - 0x65, 0x74, 0x61, 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, - 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, - 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, + 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, + 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0a, 0x6d, + 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x1d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x35, + 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x1a, 0x66, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 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, 0x3d, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x65, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, + 0x52, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, + 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x10, 0x06, 0x42, 0xe3, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x4f, 0x70, + 0x65, 0x6e, 0x41, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -330,15 +461,16 @@ var file_google_cloud_aiplatform_v1beta1_openapi_proto_goTypes = []interface{}{ } var file_google_cloud_aiplatform_v1beta1_openapi_proto_depIdxs = []int32{ 0, // 0: google.cloud.aiplatform.v1beta1.Schema.type:type_name -> google.cloud.aiplatform.v1beta1.Type - 1, // 1: google.cloud.aiplatform.v1beta1.Schema.items:type_name -> google.cloud.aiplatform.v1beta1.Schema - 2, // 2: google.cloud.aiplatform.v1beta1.Schema.properties:type_name -> google.cloud.aiplatform.v1beta1.Schema.PropertiesEntry - 3, // 3: google.cloud.aiplatform.v1beta1.Schema.example:type_name -> google.protobuf.Value - 1, // 4: google.cloud.aiplatform.v1beta1.Schema.PropertiesEntry.value:type_name -> google.cloud.aiplatform.v1beta1.Schema - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 3, // 1: google.cloud.aiplatform.v1beta1.Schema.default:type_name -> google.protobuf.Value + 1, // 2: google.cloud.aiplatform.v1beta1.Schema.items:type_name -> google.cloud.aiplatform.v1beta1.Schema + 2, // 3: google.cloud.aiplatform.v1beta1.Schema.properties:type_name -> google.cloud.aiplatform.v1beta1.Schema.PropertiesEntry + 3, // 4: google.cloud.aiplatform.v1beta1.Schema.example:type_name -> google.protobuf.Value + 1, // 5: google.cloud.aiplatform.v1beta1.Schema.PropertiesEntry.value:type_name -> google.cloud.aiplatform.v1beta1.Schema + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_openapi_proto_init() } diff --git a/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go b/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go index eae7e3e69279..5fd076a256e6 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/persistent_resource.pb.go @@ -577,6 +577,13 @@ type ResourceRuntime struct { // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" // } AccessUris map[string]string `protobuf:"bytes,1,rep,name=access_uris,json=accessUris,proto3" json:"access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. The resource name of NotebookRuntimeTemplate for the RoV + // Persistent Cluster The NotebokRuntimeTemplate is created in the same VPC + // (if set), and with the same Ray and Python version as the Persistent + // Cluster. Example: + // + // "projects/1000/locations/us-central1/notebookRuntimeTemplates/abc123" + NotebookRuntimeTemplate string `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` } func (x *ResourceRuntime) Reset() { @@ -618,6 +625,13 @@ func (x *ResourceRuntime) GetAccessUris() map[string]string { return nil } +func (x *ResourceRuntime) GetNotebookRuntimeTemplate() string { + if x != nil { + return x.NotebookRuntimeTemplate + } + return "" +} + // Configuration for the use of custom service account to run the workloads. type ServiceAccountSpec struct { state protoimpl.MessageState @@ -979,46 +993,53 @@ var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc = []b 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, 0xb8, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, + 0x01, 0x22, 0xaf, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x1a, 0x3d, 0x0a, - 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 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, 0x8a, 0x01, 0x0a, - 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x30, 0x0a, 0x0d, 0x52, 0x61, 0x79, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xee, 0x01, 0x0a, 0x23, - 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x42, 0x17, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, - 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, - 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x12, 0x75, 0x0a, + 0x19, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x39, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x33, 0x0a, 0x31, 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, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x17, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, + 0x69, 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, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0x30, 0x0a, 0x0d, 0x52, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x42, 0xee, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 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, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go index 42cdc0f6d685..64dce7293ef1 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/prediction_service.pb.go @@ -52,6 +52,11 @@ const ( GenerateContentResponse_PromptFeedback_SAFETY GenerateContentResponse_PromptFeedback_BlockedReason = 1 // Candidates blocked due to other reason. GenerateContentResponse_PromptFeedback_OTHER GenerateContentResponse_PromptFeedback_BlockedReason = 2 + // Candidates blocked due to the terms which are included from the + // terminology blocklist. + GenerateContentResponse_PromptFeedback_BLOCKLIST GenerateContentResponse_PromptFeedback_BlockedReason = 3 + // Candidates blocked due to prohibited content. + GenerateContentResponse_PromptFeedback_PROHIBITED_CONTENT GenerateContentResponse_PromptFeedback_BlockedReason = 4 ) // Enum value maps for GenerateContentResponse_PromptFeedback_BlockedReason. @@ -60,11 +65,15 @@ var ( 0: "BLOCKED_REASON_UNSPECIFIED", 1: "SAFETY", 2: "OTHER", + 3: "BLOCKLIST", + 4: "PROHIBITED_CONTENT", } GenerateContentResponse_PromptFeedback_BlockedReason_value = map[string]int32{ "BLOCKED_REASON_UNSPECIFIED": 0, "SAFETY": 1, "OTHER": 2, + "BLOCKLIST": 3, + "PROHIBITED_CONTENT": 4, } ) @@ -1523,6 +1532,10 @@ type GenerateContentRequest struct { // this is a repeated field that contains conversation history + latest // request. Contents []*Content `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty"` + // Optional. The user provided system instructions for the model. + // Note: only text should be used in parts and content in each part will be in + // a separate paragraph. + SystemInstruction *Content `protobuf:"bytes,8,opt,name=system_instruction,json=systemInstruction,proto3,oneof" json:"system_instruction,omitempty"` // Optional. A list of `Tools` the model may use to generate the next // response. // @@ -1530,7 +1543,8 @@ type GenerateContentRequest struct { // external systems to perform an action, or set of actions, outside of // knowledge and scope of the model. Tools []*Tool `protobuf:"bytes,6,rep,name=tools,proto3" json:"tools,omitempty"` - // Tool config. This config is shared for all tools provided in the request. + // Optional. Tool config. This config is shared for all tools provided in the + // request. ToolConfig *ToolConfig `protobuf:"bytes,7,opt,name=tool_config,json=toolConfig,proto3" json:"tool_config,omitempty"` // Optional. Per request settings for blocking unsafe content. // Enforced on GenerateContentResponse.candidates. @@ -1585,6 +1599,13 @@ func (x *GenerateContentRequest) GetContents() []*Content { return nil } +func (x *GenerateContentRequest) GetSystemInstruction() *Content { + if x != nil { + return x.SystemInstruction + } + return nil +} + func (x *GenerateContentRequest) GetTools() []*Tool { if x != nil { return x.Tools @@ -1682,6 +1703,67 @@ func (x *GenerateContentResponse) GetUsageMetadata() *GenerateContentResponse_Us return nil } +// Request message for [PredictionService.ChatCompletions] +type ChatCompletionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Endpoint requested to serve the prediction. + // Format: + // `projects/{project}/locations/{location}/endpoints/openapi` + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Optional. The prediction input. Supports HTTP headers and arbitrary data + // payload. + HttpBody *httpbody.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody,proto3" json:"http_body,omitempty"` +} + +func (x *ChatCompletionsRequest) Reset() { + *x = ChatCompletionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChatCompletionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatCompletionsRequest) ProtoMessage() {} + +func (x *ChatCompletionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatCompletionsRequest.ProtoReflect.Descriptor instead. +func (*ChatCompletionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ChatCompletionsRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ChatCompletionsRequest) GetHttpBody() *httpbody.HttpBody { + if x != nil { + return x.HttpBody + } + return nil +} + // This message is a wrapper grouping Concurrent Explanations. type ExplainResponse_ConcurrentExplanation struct { state protoimpl.MessageState @@ -1700,7 +1782,7 @@ type ExplainResponse_ConcurrentExplanation struct { func (x *ExplainResponse_ConcurrentExplanation) Reset() { *x = ExplainResponse_ConcurrentExplanation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1713,7 +1795,7 @@ func (x *ExplainResponse_ConcurrentExplanation) String() string { func (*ExplainResponse_ConcurrentExplanation) ProtoMessage() {} func (x *ExplainResponse_ConcurrentExplanation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1753,7 +1835,7 @@ type GenerateContentResponse_PromptFeedback struct { func (x *GenerateContentResponse_PromptFeedback) Reset() { *x = GenerateContentResponse_PromptFeedback{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1766,7 +1848,7 @@ func (x *GenerateContentResponse_PromptFeedback) String() string { func (*GenerateContentResponse_PromptFeedback) ProtoMessage() {} func (x *GenerateContentResponse_PromptFeedback) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1819,7 +1901,7 @@ type GenerateContentResponse_UsageMetadata struct { func (x *GenerateContentResponse_UsageMetadata) Reset() { *x = GenerateContentResponse_UsageMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1832,7 +1914,7 @@ func (x *GenerateContentResponse_UsageMetadata) String() string { func (*GenerateContentResponse_UsageMetadata) ProtoMessage() {} func (x *GenerateContentResponse_UsageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25] + mi := &file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2164,7 +2246,7 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []by 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, - 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0xd6, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0xd0, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x49, 0x0a, 0x08, @@ -2172,240 +2254,280 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []by 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, - 0x18, 0x06, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x74, 0x6f, 0x6f, - 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5c, 0x0a, 0x0f, - 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0x03, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x61, 0x66, 0x65, - 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x63, 0x0a, 0x11, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x04, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0xde, 0x06, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x63, - 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x61, 0x0a, 0x12, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x18, 0x06, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0b, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x5c, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, + 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, + 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x63, 0x0a, + 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x04, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x07, 0x0a, 0x17, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x47, 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, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x0f, - 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x6d, 0x0a, + 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x12, 0x6d, 0x0a, 0x0e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x1a, 0xe9, 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x7d, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, - 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, - 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x46, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, - 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, - 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x1a, 0x9f, - 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x72, - 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, - 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, - 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x32, 0xad, 0x19, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa8, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x92, 0x01, 0x3a, - 0x01, 0x2a, 0x5a, 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x12, 0x8d, 0x02, 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x12, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, - 0x64, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x50, 0x3a, 0x01, - 0x2a, 0x22, 0x4b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x41, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 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, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x90, 0x03, 0x0a, + 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, + 0x7d, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x55, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x2e, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x59, + 0x0a, 0x0e, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x52, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x61, 0x66, 0x65, + 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x6d, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, 0x45, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x43, + 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x48, 0x49, + 0x42, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x1a, + 0x9f, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x34, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x98, 0x01, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 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, 0x36, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x32, 0x83, 0x1b, 0x0a, + 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xa8, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x1d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x92, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4d, + 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x12, 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, - 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x39, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x12, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x8d, 0x02, + 0x0a, 0x0a, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, + 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x98, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x50, 0x3a, 0x01, 0x2a, 0x22, 0x4b, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0xcf, 0x01, + 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x9f, 0x01, 0x0a, 0x16, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, - 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, + 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 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, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x96, 0x01, + 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, - 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x72, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3c, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x9f, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x12, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xc9, 0x02, 0x0a, - 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3f, 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, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, - 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x5c, 0x3a, 0x01, 0x2a, 0x22, 0x57, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x30, 0x01, 0x12, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x12, 0x3b, 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, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, - 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, + 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, - 0x01, 0x12, 0xe9, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x2e, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xc9, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x12, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0xb0, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x5c, 0x3a, 0x01, 0x2a, 0x22, 0x57, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x30, 0x01, 0x12, 0x96, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x77, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xe9, 0x01, + 0x0a, 0x07, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c, + 0x61, 0x69, 0x6e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0xda, 0x41, + 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0xb1, 0x02, 0x0a, 0x0b, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x7b, 0xda, 0x41, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x12, 0xb1, 0x02, - 0x0a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, - 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x42, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x12, 0xbb, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0xbb, 0x02, + 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x3a, + 0x01, 0x2a, 0x5a, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0xcf, 0x02, 0x0a, 0x15, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, @@ -2413,60 +2535,53 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc = []by 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x0e, 0x6d, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x9c, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, + 0x02, 0xa8, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x58, 0x3a, 0x01, 0x2a, 0x22, 0x53, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x2a, - 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0xcf, 0x02, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 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, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0xda, - 0x41, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa8, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x58, 0x3a, 0x01, 0x2a, 0x22, - 0x53, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, - 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, - 0x01, 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, 0xed, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0xd3, 0x01, + 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, + 0x22, 0x6f, 0xda, 0x41, 0x12, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x09, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 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, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x30, 0x01, 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, 0xed, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 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, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2482,7 +2597,7 @@ func file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDescGZIP() } var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_goTypes = []interface{}{ (GenerateContentResponse_PromptFeedback_BlockedReason)(0), // 0: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.BlockedReason (*PredictRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.PredictRequest @@ -2506,95 +2621,100 @@ var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_goTypes = []in (*CountTokensResponse)(nil), // 19: google.cloud.aiplatform.v1beta1.CountTokensResponse (*GenerateContentRequest)(nil), // 20: google.cloud.aiplatform.v1beta1.GenerateContentRequest (*GenerateContentResponse)(nil), // 21: google.cloud.aiplatform.v1beta1.GenerateContentResponse - nil, // 22: google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry - (*ExplainResponse_ConcurrentExplanation)(nil), // 23: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation - nil, // 24: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry - (*GenerateContentResponse_PromptFeedback)(nil), // 25: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback - (*GenerateContentResponse_UsageMetadata)(nil), // 26: google.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata - (*structpb.Value)(nil), // 27: google.protobuf.Value - (*httpbody.HttpBody)(nil), // 28: google.api.HttpBody - (*Tensor)(nil), // 29: google.cloud.aiplatform.v1beta1.Tensor - (*ExplanationSpecOverride)(nil), // 30: google.cloud.aiplatform.v1beta1.ExplanationSpecOverride - (*Explanation)(nil), // 31: google.cloud.aiplatform.v1beta1.Explanation - (*Content)(nil), // 32: google.cloud.aiplatform.v1beta1.Content - (*Tool)(nil), // 33: google.cloud.aiplatform.v1beta1.Tool - (*ToolConfig)(nil), // 34: google.cloud.aiplatform.v1beta1.ToolConfig - (*SafetySetting)(nil), // 35: google.cloud.aiplatform.v1beta1.SafetySetting - (*GenerationConfig)(nil), // 36: google.cloud.aiplatform.v1beta1.GenerationConfig - (*Candidate)(nil), // 37: google.cloud.aiplatform.v1beta1.Candidate - (*SafetyRating)(nil), // 38: google.cloud.aiplatform.v1beta1.SafetyRating + (*ChatCompletionsRequest)(nil), // 22: google.cloud.aiplatform.v1beta1.ChatCompletionsRequest + nil, // 23: google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry + (*ExplainResponse_ConcurrentExplanation)(nil), // 24: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation + nil, // 25: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry + (*GenerateContentResponse_PromptFeedback)(nil), // 26: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback + (*GenerateContentResponse_UsageMetadata)(nil), // 27: google.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata + (*structpb.Value)(nil), // 28: google.protobuf.Value + (*httpbody.HttpBody)(nil), // 29: google.api.HttpBody + (*Tensor)(nil), // 30: google.cloud.aiplatform.v1beta1.Tensor + (*ExplanationSpecOverride)(nil), // 31: google.cloud.aiplatform.v1beta1.ExplanationSpecOverride + (*Explanation)(nil), // 32: google.cloud.aiplatform.v1beta1.Explanation + (*Content)(nil), // 33: google.cloud.aiplatform.v1beta1.Content + (*Tool)(nil), // 34: google.cloud.aiplatform.v1beta1.Tool + (*ToolConfig)(nil), // 35: google.cloud.aiplatform.v1beta1.ToolConfig + (*SafetySetting)(nil), // 36: google.cloud.aiplatform.v1beta1.SafetySetting + (*GenerationConfig)(nil), // 37: google.cloud.aiplatform.v1beta1.GenerationConfig + (*Candidate)(nil), // 38: google.cloud.aiplatform.v1beta1.Candidate + (*SafetyRating)(nil), // 39: google.cloud.aiplatform.v1beta1.SafetyRating } var file_google_cloud_aiplatform_v1beta1_prediction_service_proto_depIdxs = []int32{ - 27, // 0: google.cloud.aiplatform.v1beta1.PredictRequest.instances:type_name -> google.protobuf.Value - 27, // 1: google.cloud.aiplatform.v1beta1.PredictRequest.parameters:type_name -> google.protobuf.Value - 27, // 2: google.cloud.aiplatform.v1beta1.PredictResponse.predictions:type_name -> google.protobuf.Value - 27, // 3: google.cloud.aiplatform.v1beta1.PredictResponse.metadata:type_name -> google.protobuf.Value - 28, // 4: google.cloud.aiplatform.v1beta1.RawPredictRequest.http_body:type_name -> google.api.HttpBody - 29, // 5: google.cloud.aiplatform.v1beta1.DirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 6: google.cloud.aiplatform.v1beta1.DirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 7: google.cloud.aiplatform.v1beta1.DirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 8: google.cloud.aiplatform.v1beta1.DirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 9: google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 10: google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 11: google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 12: google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 13: google.cloud.aiplatform.v1beta1.StreamingPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 14: google.cloud.aiplatform.v1beta1.StreamingPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 15: google.cloud.aiplatform.v1beta1.StreamingPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 29, // 16: google.cloud.aiplatform.v1beta1.StreamingPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor - 27, // 17: google.cloud.aiplatform.v1beta1.ExplainRequest.instances:type_name -> google.protobuf.Value - 27, // 18: google.cloud.aiplatform.v1beta1.ExplainRequest.parameters:type_name -> google.protobuf.Value - 30, // 19: google.cloud.aiplatform.v1beta1.ExplainRequest.explanation_spec_override:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpecOverride - 22, // 20: google.cloud.aiplatform.v1beta1.ExplainRequest.concurrent_explanation_spec_override:type_name -> google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry - 31, // 21: google.cloud.aiplatform.v1beta1.ExplainResponse.explanations:type_name -> google.cloud.aiplatform.v1beta1.Explanation - 24, // 22: google.cloud.aiplatform.v1beta1.ExplainResponse.concurrent_explanations:type_name -> google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry - 27, // 23: google.cloud.aiplatform.v1beta1.ExplainResponse.predictions:type_name -> google.protobuf.Value - 27, // 24: google.cloud.aiplatform.v1beta1.CountTokensRequest.instances:type_name -> google.protobuf.Value - 32, // 25: google.cloud.aiplatform.v1beta1.CountTokensRequest.contents:type_name -> google.cloud.aiplatform.v1beta1.Content - 32, // 26: google.cloud.aiplatform.v1beta1.GenerateContentRequest.contents:type_name -> google.cloud.aiplatform.v1beta1.Content - 33, // 27: google.cloud.aiplatform.v1beta1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1beta1.Tool - 34, // 28: google.cloud.aiplatform.v1beta1.GenerateContentRequest.tool_config:type_name -> google.cloud.aiplatform.v1beta1.ToolConfig - 35, // 29: google.cloud.aiplatform.v1beta1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1beta1.SafetySetting - 36, // 30: google.cloud.aiplatform.v1beta1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1beta1.GenerationConfig - 37, // 31: google.cloud.aiplatform.v1beta1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1beta1.Candidate - 25, // 32: google.cloud.aiplatform.v1beta1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback - 26, // 33: google.cloud.aiplatform.v1beta1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata - 30, // 34: google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpecOverride - 31, // 35: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation.explanations:type_name -> google.cloud.aiplatform.v1beta1.Explanation - 23, // 36: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation - 0, // 37: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.BlockedReason - 38, // 38: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating - 1, // 39: google.cloud.aiplatform.v1beta1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1beta1.PredictRequest - 3, // 40: google.cloud.aiplatform.v1beta1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1beta1.RawPredictRequest - 4, // 41: google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1beta1.DirectPredictRequest - 6, // 42: google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1beta1.DirectRawPredictRequest - 8, // 43: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest - 10, // 44: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest - 12, // 45: google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingPredictRequest - 12, // 46: google.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingPredictRequest - 14, // 47: google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingRawPredictRequest - 16, // 48: google.cloud.aiplatform.v1beta1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1beta1.ExplainRequest - 18, // 49: google.cloud.aiplatform.v1beta1.PredictionService.CountTokens:input_type -> google.cloud.aiplatform.v1beta1.CountTokensRequest - 20, // 50: google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1beta1.GenerateContentRequest - 20, // 51: google.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1beta1.GenerateContentRequest - 2, // 52: google.cloud.aiplatform.v1beta1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1beta1.PredictResponse - 28, // 53: google.cloud.aiplatform.v1beta1.PredictionService.RawPredict:output_type -> google.api.HttpBody - 5, // 54: google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1beta1.DirectPredictResponse - 7, // 55: google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1beta1.DirectRawPredictResponse - 9, // 56: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse - 11, // 57: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamDirectRawPredictResponse - 13, // 58: google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingPredictResponse - 13, // 59: google.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingPredictResponse - 15, // 60: google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingRawPredictResponse - 17, // 61: google.cloud.aiplatform.v1beta1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1beta1.ExplainResponse - 19, // 62: google.cloud.aiplatform.v1beta1.PredictionService.CountTokens:output_type -> google.cloud.aiplatform.v1beta1.CountTokensResponse - 21, // 63: google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1beta1.GenerateContentResponse - 21, // 64: google.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1beta1.GenerateContentResponse - 52, // [52:65] is the sub-list for method output_type - 39, // [39:52] is the sub-list for method input_type - 39, // [39:39] is the sub-list for extension type_name - 39, // [39:39] is the sub-list for extension extendee - 0, // [0:39] is the sub-list for field type_name + 28, // 0: google.cloud.aiplatform.v1beta1.PredictRequest.instances:type_name -> google.protobuf.Value + 28, // 1: google.cloud.aiplatform.v1beta1.PredictRequest.parameters:type_name -> google.protobuf.Value + 28, // 2: google.cloud.aiplatform.v1beta1.PredictResponse.predictions:type_name -> google.protobuf.Value + 28, // 3: google.cloud.aiplatform.v1beta1.PredictResponse.metadata:type_name -> google.protobuf.Value + 29, // 4: google.cloud.aiplatform.v1beta1.RawPredictRequest.http_body:type_name -> google.api.HttpBody + 30, // 5: google.cloud.aiplatform.v1beta1.DirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 6: google.cloud.aiplatform.v1beta1.DirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 7: google.cloud.aiplatform.v1beta1.DirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 8: google.cloud.aiplatform.v1beta1.DirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 9: google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 10: google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 11: google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 12: google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 13: google.cloud.aiplatform.v1beta1.StreamingPredictRequest.inputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 14: google.cloud.aiplatform.v1beta1.StreamingPredictRequest.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 15: google.cloud.aiplatform.v1beta1.StreamingPredictResponse.outputs:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 30, // 16: google.cloud.aiplatform.v1beta1.StreamingPredictResponse.parameters:type_name -> google.cloud.aiplatform.v1beta1.Tensor + 28, // 17: google.cloud.aiplatform.v1beta1.ExplainRequest.instances:type_name -> google.protobuf.Value + 28, // 18: google.cloud.aiplatform.v1beta1.ExplainRequest.parameters:type_name -> google.protobuf.Value + 31, // 19: google.cloud.aiplatform.v1beta1.ExplainRequest.explanation_spec_override:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpecOverride + 23, // 20: google.cloud.aiplatform.v1beta1.ExplainRequest.concurrent_explanation_spec_override:type_name -> google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry + 32, // 21: google.cloud.aiplatform.v1beta1.ExplainResponse.explanations:type_name -> google.cloud.aiplatform.v1beta1.Explanation + 25, // 22: google.cloud.aiplatform.v1beta1.ExplainResponse.concurrent_explanations:type_name -> google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry + 28, // 23: google.cloud.aiplatform.v1beta1.ExplainResponse.predictions:type_name -> google.protobuf.Value + 28, // 24: google.cloud.aiplatform.v1beta1.CountTokensRequest.instances:type_name -> google.protobuf.Value + 33, // 25: google.cloud.aiplatform.v1beta1.CountTokensRequest.contents:type_name -> google.cloud.aiplatform.v1beta1.Content + 33, // 26: google.cloud.aiplatform.v1beta1.GenerateContentRequest.contents:type_name -> google.cloud.aiplatform.v1beta1.Content + 33, // 27: google.cloud.aiplatform.v1beta1.GenerateContentRequest.system_instruction:type_name -> google.cloud.aiplatform.v1beta1.Content + 34, // 28: google.cloud.aiplatform.v1beta1.GenerateContentRequest.tools:type_name -> google.cloud.aiplatform.v1beta1.Tool + 35, // 29: google.cloud.aiplatform.v1beta1.GenerateContentRequest.tool_config:type_name -> google.cloud.aiplatform.v1beta1.ToolConfig + 36, // 30: google.cloud.aiplatform.v1beta1.GenerateContentRequest.safety_settings:type_name -> google.cloud.aiplatform.v1beta1.SafetySetting + 37, // 31: google.cloud.aiplatform.v1beta1.GenerateContentRequest.generation_config:type_name -> google.cloud.aiplatform.v1beta1.GenerationConfig + 38, // 32: google.cloud.aiplatform.v1beta1.GenerateContentResponse.candidates:type_name -> google.cloud.aiplatform.v1beta1.Candidate + 26, // 33: google.cloud.aiplatform.v1beta1.GenerateContentResponse.prompt_feedback:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback + 27, // 34: google.cloud.aiplatform.v1beta1.GenerateContentResponse.usage_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.UsageMetadata + 29, // 35: google.cloud.aiplatform.v1beta1.ChatCompletionsRequest.http_body:type_name -> google.api.HttpBody + 31, // 36: google.cloud.aiplatform.v1beta1.ExplainRequest.ConcurrentExplanationSpecOverrideEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpecOverride + 32, // 37: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation.explanations:type_name -> google.cloud.aiplatform.v1beta1.Explanation + 24, // 38: google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanationsEntry.value:type_name -> google.cloud.aiplatform.v1beta1.ExplainResponse.ConcurrentExplanation + 0, // 39: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.block_reason:type_name -> google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.BlockedReason + 39, // 40: google.cloud.aiplatform.v1beta1.GenerateContentResponse.PromptFeedback.safety_ratings:type_name -> google.cloud.aiplatform.v1beta1.SafetyRating + 1, // 41: google.cloud.aiplatform.v1beta1.PredictionService.Predict:input_type -> google.cloud.aiplatform.v1beta1.PredictRequest + 3, // 42: google.cloud.aiplatform.v1beta1.PredictionService.RawPredict:input_type -> google.cloud.aiplatform.v1beta1.RawPredictRequest + 4, // 43: google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:input_type -> google.cloud.aiplatform.v1beta1.DirectPredictRequest + 6, // 44: google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:input_type -> google.cloud.aiplatform.v1beta1.DirectRawPredictRequest + 8, // 45: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamDirectPredictRequest + 10, // 46: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamDirectRawPredictRequest + 12, // 47: google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingPredictRequest + 12, // 48: google.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingPredictRequest + 14, // 49: google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:input_type -> google.cloud.aiplatform.v1beta1.StreamingRawPredictRequest + 16, // 50: google.cloud.aiplatform.v1beta1.PredictionService.Explain:input_type -> google.cloud.aiplatform.v1beta1.ExplainRequest + 18, // 51: google.cloud.aiplatform.v1beta1.PredictionService.CountTokens:input_type -> google.cloud.aiplatform.v1beta1.CountTokensRequest + 20, // 52: google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:input_type -> google.cloud.aiplatform.v1beta1.GenerateContentRequest + 20, // 53: google.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:input_type -> google.cloud.aiplatform.v1beta1.GenerateContentRequest + 22, // 54: google.cloud.aiplatform.v1beta1.PredictionService.ChatCompletions:input_type -> google.cloud.aiplatform.v1beta1.ChatCompletionsRequest + 2, // 55: google.cloud.aiplatform.v1beta1.PredictionService.Predict:output_type -> google.cloud.aiplatform.v1beta1.PredictResponse + 29, // 56: google.cloud.aiplatform.v1beta1.PredictionService.RawPredict:output_type -> google.api.HttpBody + 5, // 57: google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict:output_type -> google.cloud.aiplatform.v1beta1.DirectPredictResponse + 7, // 58: google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict:output_type -> google.cloud.aiplatform.v1beta1.DirectRawPredictResponse + 9, // 59: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamDirectPredictResponse + 11, // 60: google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamDirectRawPredictResponse + 13, // 61: google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingPredictResponse + 13, // 62: google.cloud.aiplatform.v1beta1.PredictionService.ServerStreamingPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingPredictResponse + 15, // 63: google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict:output_type -> google.cloud.aiplatform.v1beta1.StreamingRawPredictResponse + 17, // 64: google.cloud.aiplatform.v1beta1.PredictionService.Explain:output_type -> google.cloud.aiplatform.v1beta1.ExplainResponse + 19, // 65: google.cloud.aiplatform.v1beta1.PredictionService.CountTokens:output_type -> google.cloud.aiplatform.v1beta1.CountTokensResponse + 21, // 66: google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent:output_type -> google.cloud.aiplatform.v1beta1.GenerateContentResponse + 21, // 67: google.cloud.aiplatform.v1beta1.PredictionService.StreamGenerateContent:output_type -> google.cloud.aiplatform.v1beta1.GenerateContentResponse + 29, // 68: google.cloud.aiplatform.v1beta1.PredictionService.ChatCompletions:output_type -> google.api.HttpBody + 55, // [55:69] is the sub-list for method output_type + 41, // [41:55] is the sub-list for method input_type + 41, // [41:41] is the sub-list for extension type_name + 41, // [41:41] is the sub-list for extension extendee + 0, // [0:41] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() } @@ -2859,7 +2979,19 @@ func file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChatCompletionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExplainResponse_ConcurrentExplanation); i { case 0: return &v.state @@ -2871,7 +3003,7 @@ func file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateContentResponse_PromptFeedback); i { case 0: return &v.state @@ -2883,7 +3015,7 @@ func file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() { return nil } } - file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GenerateContentResponse_UsageMetadata); i { case 0: return &v.state @@ -2896,13 +3028,14 @@ func file_google_cloud_aiplatform_v1beta1_prediction_service_proto_init() { } } } + file_google_cloud_aiplatform_v1beta1_prediction_service_proto_msgTypes[19].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_prediction_service_proto_rawDesc, NumEnums: 1, - NumMessages: 26, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, @@ -2981,6 +3114,8 @@ type PredictionServiceClient interface { GenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (*GenerateContentResponse, error) // Generate content with multimodal inputs with streaming support. StreamGenerateContent(ctx context.Context, in *GenerateContentRequest, opts ...grpc.CallOption) (PredictionService_StreamGenerateContentClient, error) + // Exposes an OpenAI-compatible endpoint for chat completions. + ChatCompletions(ctx context.Context, in *ChatCompletionsRequest, opts ...grpc.CallOption) (PredictionService_ChatCompletionsClient, error) } type predictionServiceClient struct { @@ -3242,6 +3377,38 @@ func (x *predictionServiceStreamGenerateContentClient) Recv() (*GenerateContentR return m, nil } +func (c *predictionServiceClient) ChatCompletions(ctx context.Context, in *ChatCompletionsRequest, opts ...grpc.CallOption) (PredictionService_ChatCompletionsClient, error) { + stream, err := c.cc.NewStream(ctx, &_PredictionService_serviceDesc.Streams[6], "/google.cloud.aiplatform.v1beta1.PredictionService/ChatCompletions", opts...) + if err != nil { + return nil, err + } + x := &predictionServiceChatCompletionsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type PredictionService_ChatCompletionsClient interface { + Recv() (*httpbody.HttpBody, error) + grpc.ClientStream +} + +type predictionServiceChatCompletionsClient struct { + grpc.ClientStream +} + +func (x *predictionServiceChatCompletionsClient) Recv() (*httpbody.HttpBody, error) { + m := new(httpbody.HttpBody) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // PredictionServiceServer is the server API for PredictionService service. type PredictionServiceServer interface { // Perform an online prediction. @@ -3296,6 +3463,8 @@ type PredictionServiceServer interface { GenerateContent(context.Context, *GenerateContentRequest) (*GenerateContentResponse, error) // Generate content with multimodal inputs with streaming support. StreamGenerateContent(*GenerateContentRequest, PredictionService_StreamGenerateContentServer) error + // Exposes an OpenAI-compatible endpoint for chat completions. + ChatCompletions(*ChatCompletionsRequest, PredictionService_ChatCompletionsServer) error } // UnimplementedPredictionServiceServer can be embedded to have forward compatible implementations. @@ -3341,6 +3510,9 @@ func (*UnimplementedPredictionServiceServer) GenerateContent(context.Context, *G func (*UnimplementedPredictionServiceServer) StreamGenerateContent(*GenerateContentRequest, PredictionService_StreamGenerateContentServer) error { return status.Errorf(codes.Unimplemented, "method StreamGenerateContent not implemented") } +func (*UnimplementedPredictionServiceServer) ChatCompletions(*ChatCompletionsRequest, PredictionService_ChatCompletionsServer) error { + return status.Errorf(codes.Unimplemented, "method ChatCompletions not implemented") +} func RegisterPredictionServiceServer(s *grpc.Server, srv PredictionServiceServer) { s.RegisterService(&_PredictionService_serviceDesc, srv) @@ -3618,6 +3790,27 @@ func (x *predictionServiceStreamGenerateContentServer) Send(m *GenerateContentRe return x.ServerStream.SendMsg(m) } +func _PredictionService_ChatCompletions_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ChatCompletionsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(PredictionServiceServer).ChatCompletions(m, &predictionServiceChatCompletionsServer{stream}) +} + +type PredictionService_ChatCompletionsServer interface { + Send(*httpbody.HttpBody) error + grpc.ServerStream +} + +type predictionServiceChatCompletionsServer struct { + grpc.ServerStream +} + +func (x *predictionServiceChatCompletionsServer) Send(m *httpbody.HttpBody) error { + return x.ServerStream.SendMsg(m) +} + var _PredictionService_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.aiplatform.v1beta1.PredictionService", HandlerType: (*PredictionServiceServer)(nil), @@ -3686,6 +3879,11 @@ var _PredictionService_serviceDesc = grpc.ServiceDesc{ Handler: _PredictionService_StreamGenerateContent_Handler, ServerStreams: true, }, + { + StreamName: "ChatCompletions", + Handler: _PredictionService_ChatCompletions_Handler, + ServerStreams: true, + }, }, Metadata: "google/cloud/aiplatform/v1beta1/prediction_service.proto", } diff --git a/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go b/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go index 5e9ddf235104..ce56a6f2e490 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/tool.pb.go @@ -96,7 +96,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_v1beta1_tool_proto_rawDescGZIP(), []int{9, 0} + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{10, 0} } // Tool details that the model may use to generate response. @@ -548,6 +548,7 @@ type Retrieval struct { // Types that are assignable to Source: // // *Retrieval_VertexAiSearch + // *Retrieval_VertexRagStore Source isRetrieval_Source `protobuf_oneof:"source"` // Optional. Disable using the result from this tool in detecting grounding // attribution. This does not affect how the result is given to the model for @@ -601,6 +602,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 +} + func (x *Retrieval) GetDisableAttribution() bool { if x != nil { return x.DisableAttribution @@ -617,8 +625,80 @@ 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 + + // Required. Vertex RAG Store corpus resource name: + // + // `projects/{project}/locations/{location}/ragCorpora/{ragCorpus}` + // + // Currently only one corpus is allowed. + // In the future we may open up multiple corpora support. However, they should + // be from the same project and location. + RagCorpora []string `protobuf:"bytes,1,rep,name=rag_corpora,json=ragCorpora,proto3" json:"rag_corpora,omitempty"` + // Optional. Number of top k results to return from the selected corpora. + SimilarityTopK *int32 `protobuf:"varint,2,opt,name=similarity_top_k,json=similarityTopK,proto3,oneof" json:"similarity_top_k,omitempty"` +} + +func (x *VertexRagStore) Reset() { + *x = VertexRagStore{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6] + 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_v1beta1_tool_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 VertexRagStore.ProtoReflect.Descriptor instead. +func (*VertexRagStore) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{6} +} + +func (x *VertexRagStore) GetRagCorpora() []string { + if x != nil { + return x.RagCorpora + } + return nil +} + +func (x *VertexRagStore) GetSimilarityTopK() int32 { + if x != nil && x.SimilarityTopK != nil { + return *x.SimilarityTopK + } + return 0 +} + // Retrieve from Vertex AI Search datastore for grounding. // See https://cloud.google.com/vertex-ai-search-and-conversation type VertexAISearch struct { @@ -627,14 +707,15 @@ type VertexAISearch struct { unknownFields protoimpl.UnknownFields // Required. Fully-qualified Vertex AI Search's datastore resource ID. - // projects/<>/locations/<>/collections/<>/dataStores/<> + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` Datastore string `protobuf:"bytes,1,opt,name=datastore,proto3" json:"datastore,omitempty"` } func (x *VertexAISearch) Reset() { *x = VertexAISearch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +728,7 @@ func (x *VertexAISearch) String() string { func (*VertexAISearch) ProtoMessage() {} func (x *VertexAISearch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +741,7 @@ func (x *VertexAISearch) ProtoReflect() protoreflect.Message { // Deprecated: Use VertexAISearch.ProtoReflect.Descriptor instead. func (*VertexAISearch) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{6} + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{7} } func (x *VertexAISearch) GetDatastore() string { @@ -685,7 +766,7 @@ type GoogleSearchRetrieval struct { func (x *GoogleSearchRetrieval) Reset() { *x = GoogleSearchRetrieval{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -698,7 +779,7 @@ func (x *GoogleSearchRetrieval) String() string { func (*GoogleSearchRetrieval) ProtoMessage() {} func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -711,7 +792,7 @@ func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { // Deprecated: Use GoogleSearchRetrieval.ProtoReflect.Descriptor instead. func (*GoogleSearchRetrieval) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{7} + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{8} } func (x *GoogleSearchRetrieval) GetDisableAttribution() bool { @@ -727,14 +808,14 @@ type ToolConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Function calling config. + // Optional. Function calling config. FunctionCallingConfig *FunctionCallingConfig `protobuf:"bytes,1,opt,name=function_calling_config,json=functionCallingConfig,proto3" json:"function_calling_config,omitempty"` } func (x *ToolConfig) Reset() { *x = ToolConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -747,7 +828,7 @@ func (x *ToolConfig) String() string { func (*ToolConfig) ProtoMessage() {} func (x *ToolConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -760,7 +841,7 @@ func (x *ToolConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ToolConfig.ProtoReflect.Descriptor instead. func (*ToolConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{8} + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{9} } func (x *ToolConfig) GetFunctionCallingConfig() *FunctionCallingConfig { @@ -776,18 +857,18 @@ type FunctionCallingConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Function calling mode. + // Optional. Function calling mode. Mode FunctionCallingConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.cloud.aiplatform.v1beta1.FunctionCallingConfig_Mode" json:"mode,omitempty"` - // Function names to call. Only set when the Mode is ANY. Function names - // should match [FunctionDeclaration.name]. With mode set to ANY, model will - // predict a function call from the set of function names provided. + // Optional. Function names to call. Only set when the Mode is ANY. Function + // names should match [FunctionDeclaration.name]. With mode set to ANY, model + // will predict a function call from the set of function names provided. AllowedFunctionNames []string `protobuf:"bytes,2,rep,name=allowed_function_names,json=allowedFunctionNames,proto3" json:"allowed_function_names,omitempty"` } func (x *FunctionCallingConfig) Reset() { *x = FunctionCallingConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -800,7 +881,7 @@ func (x *FunctionCallingConfig) String() string { func (*FunctionCallingConfig) ProtoMessage() {} func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -813,7 +894,7 @@ func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use FunctionCallingConfig.ProtoReflect.Descriptor instead. func (*FunctionCallingConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{9} + return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{10} } func (x *FunctionCallingConfig) GetMode() FunctionCallingConfig_Mode { @@ -845,7 +926,7 @@ type ToolUseExample_ExtensionOperation struct { func (x *ToolUseExample_ExtensionOperation) Reset() { *x = ToolUseExample_ExtensionOperation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -858,7 +939,7 @@ func (x *ToolUseExample_ExtensionOperation) String() string { func (*ToolUseExample_ExtensionOperation) ProtoMessage() {} func (x *ToolUseExample_ExtensionOperation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10] + mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,63 +1067,80 @@ var file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc = []byte{ 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, 0xa8, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x5b, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x34, 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, - 0x03, 0xe0, 0x41, 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, 0x4d, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, - 0x12, 0x34, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xe3, 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, 0x54, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3b, 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, 0x62, - 0x65, 0x74, 0x61, 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, 0xe0, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, - 0x22, 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, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x68, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, + 0x34, 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, 0x03, 0xe0, 0x41, + 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, + 0xa7, 0x01, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, + 0x61, 0x18, 0x01, 0x20, 0x03, 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, 0x0a, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, + 0x12, 0x32, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x70, + 0x4b, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 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, 0x4d, + 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, + 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xe3, 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, 0x54, 0x0a, 0x04, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xe0, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1058,7 +1156,7 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP() []byte { } var file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_aiplatform_v1beta1_tool_proto_goTypes = []interface{}{ (FunctionCallingConfig_Mode)(0), // 0: google.cloud.aiplatform.v1beta1.FunctionCallingConfig.Mode (*Tool)(nil), // 1: google.cloud.aiplatform.v1beta1.Tool @@ -1067,33 +1165,35 @@ var file_google_cloud_aiplatform_v1beta1_tool_proto_goTypes = []interface{}{ (*FunctionCall)(nil), // 4: google.cloud.aiplatform.v1beta1.FunctionCall (*FunctionResponse)(nil), // 5: google.cloud.aiplatform.v1beta1.FunctionResponse (*Retrieval)(nil), // 6: google.cloud.aiplatform.v1beta1.Retrieval - (*VertexAISearch)(nil), // 7: google.cloud.aiplatform.v1beta1.VertexAISearch - (*GoogleSearchRetrieval)(nil), // 8: google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval - (*ToolConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.ToolConfig - (*FunctionCallingConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.FunctionCallingConfig - (*ToolUseExample_ExtensionOperation)(nil), // 11: google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation - (*structpb.Struct)(nil), // 12: google.protobuf.Struct - (*Schema)(nil), // 13: google.cloud.aiplatform.v1beta1.Schema + (*VertexRagStore)(nil), // 7: google.cloud.aiplatform.v1beta1.VertexRagStore + (*VertexAISearch)(nil), // 8: google.cloud.aiplatform.v1beta1.VertexAISearch + (*GoogleSearchRetrieval)(nil), // 9: google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval + (*ToolConfig)(nil), // 10: google.cloud.aiplatform.v1beta1.ToolConfig + (*FunctionCallingConfig)(nil), // 11: google.cloud.aiplatform.v1beta1.FunctionCallingConfig + (*ToolUseExample_ExtensionOperation)(nil), // 12: google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation + (*structpb.Struct)(nil), // 13: google.protobuf.Struct + (*Schema)(nil), // 14: google.cloud.aiplatform.v1beta1.Schema } var file_google_cloud_aiplatform_v1beta1_tool_proto_depIdxs = []int32{ 3, // 0: google.cloud.aiplatform.v1beta1.Tool.function_declarations:type_name -> google.cloud.aiplatform.v1beta1.FunctionDeclaration 6, // 1: google.cloud.aiplatform.v1beta1.Tool.retrieval:type_name -> google.cloud.aiplatform.v1beta1.Retrieval - 8, // 2: google.cloud.aiplatform.v1beta1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval - 11, // 3: google.cloud.aiplatform.v1beta1.ToolUseExample.extension_operation:type_name -> google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation - 12, // 4: google.cloud.aiplatform.v1beta1.ToolUseExample.request_params:type_name -> google.protobuf.Struct - 12, // 5: google.cloud.aiplatform.v1beta1.ToolUseExample.response_params:type_name -> google.protobuf.Struct - 13, // 6: google.cloud.aiplatform.v1beta1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1beta1.Schema - 13, // 7: google.cloud.aiplatform.v1beta1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1beta1.Schema - 12, // 8: google.cloud.aiplatform.v1beta1.FunctionCall.args:type_name -> google.protobuf.Struct - 12, // 9: google.cloud.aiplatform.v1beta1.FunctionResponse.response:type_name -> google.protobuf.Struct - 7, // 10: google.cloud.aiplatform.v1beta1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1beta1.VertexAISearch - 10, // 11: google.cloud.aiplatform.v1beta1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig - 0, // 12: google.cloud.aiplatform.v1beta1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig.Mode - 13, // [13:13] is the sub-list for method output_type - 13, // [13:13] 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 + 9, // 2: google.cloud.aiplatform.v1beta1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval + 12, // 3: google.cloud.aiplatform.v1beta1.ToolUseExample.extension_operation:type_name -> google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation + 13, // 4: google.cloud.aiplatform.v1beta1.ToolUseExample.request_params:type_name -> google.protobuf.Struct + 13, // 5: google.cloud.aiplatform.v1beta1.ToolUseExample.response_params:type_name -> google.protobuf.Struct + 14, // 6: google.cloud.aiplatform.v1beta1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1beta1.Schema + 14, // 7: google.cloud.aiplatform.v1beta1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1beta1.Schema + 13, // 8: google.cloud.aiplatform.v1beta1.FunctionCall.args:type_name -> google.protobuf.Struct + 13, // 9: google.cloud.aiplatform.v1beta1.FunctionResponse.response:type_name -> google.protobuf.Struct + 8, // 10: google.cloud.aiplatform.v1beta1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1beta1.VertexAISearch + 7, // 11: google.cloud.aiplatform.v1beta1.Retrieval.vertex_rag_store:type_name -> google.cloud.aiplatform.v1beta1.VertexRagStore + 11, // 12: google.cloud.aiplatform.v1beta1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig + 0, // 13: google.cloud.aiplatform.v1beta1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig.Mode + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_google_cloud_aiplatform_v1beta1_tool_proto_init() } @@ -1176,7 +1276,7 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VertexAISearch); i { + switch v := v.(*VertexRagStore); i { case 0: return &v.state case 1: @@ -1188,7 +1288,7 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GoogleSearchRetrieval); i { + switch v := v.(*VertexAISearch); i { case 0: return &v.state case 1: @@ -1200,7 +1300,7 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ToolConfig); i { + switch v := v.(*GoogleSearchRetrieval); i { case 0: return &v.state case 1: @@ -1212,7 +1312,7 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FunctionCallingConfig); i { + switch v := v.(*ToolConfig); i { case 0: return &v.state case 1: @@ -1224,6 +1324,18 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionCallingConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolUseExample_ExtensionOperation); i { case 0: return &v.state @@ -1242,14 +1354,16 @@ func file_google_cloud_aiplatform_v1beta1_tool_proto_init() { } file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5].OneofWrappers = []interface{}{ (*Retrieval_VertexAiSearch)(nil), + (*Retrieval_VertexRagStore)(nil), } + file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc, NumEnums: 1, - NumMessages: 11, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data.pb.go b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data.pb.go new file mode 100755 index 000000000000..703f0f6e2426 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data.pb.go @@ -0,0 +1,849 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/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) +) + +// The type of the RagFile. +type RagFile_RagFileType int32 + +const ( + // RagFile type is unspecified. + RagFile_RAG_FILE_TYPE_UNSPECIFIED RagFile_RagFileType = 0 + // RagFile type is TXT. + RagFile_RAG_FILE_TYPE_TXT RagFile_RagFileType = 1 + // RagFile type is PDF. + RagFile_RAG_FILE_TYPE_PDF RagFile_RagFileType = 2 +) + +// Enum value maps for RagFile_RagFileType. +var ( + RagFile_RagFileType_name = map[int32]string{ + 0: "RAG_FILE_TYPE_UNSPECIFIED", + 1: "RAG_FILE_TYPE_TXT", + 2: "RAG_FILE_TYPE_PDF", + } + RagFile_RagFileType_value = map[string]int32{ + "RAG_FILE_TYPE_UNSPECIFIED": 0, + "RAG_FILE_TYPE_TXT": 1, + "RAG_FILE_TYPE_PDF": 2, + } +) + +func (x RagFile_RagFileType) Enum() *RagFile_RagFileType { + p := new(RagFile_RagFileType) + *p = x + return p +} + +func (x RagFile_RagFileType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RagFile_RagFileType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_enumTypes[0].Descriptor() +} + +func (RagFile_RagFileType) Type() protoreflect.EnumType { + return &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_enumTypes[0] +} + +func (x RagFile_RagFileType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RagFile_RagFileType.Descriptor instead. +func (RagFile_RagFileType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{1, 0} +} + +// 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"` +} + +func (x *RagCorpus) Reset() { + *x = RagCorpus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[0] + 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_v1beta1_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 RagCorpus.ProtoReflect.Descriptor instead. +func (*RagCorpus) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{0} +} + +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 +} + +// 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 + 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. The size of the RagFile in bytes. + SizeBytes int64 `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + // Output only. The type of the RagFile. + RagFileType RagFile_RagFileType `protobuf:"varint,5,opt,name=rag_file_type,json=ragFileType,proto3,enum=google.cloud.aiplatform.v1beta1.RagFile_RagFileType" json:"rag_file_type,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"` +} + +func (x *RagFile) Reset() { + *x = RagFile{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[1] + 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_v1beta1_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 RagFile.ProtoReflect.Descriptor instead. +func (*RagFile) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{1} +} + +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) 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) GetSizeBytes() int64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +func (x *RagFile) GetRagFileType() RagFile_RagFileType { + if x != nil { + return x.RagFileType + } + return RagFile_RAG_FILE_TYPE_UNSPECIFIED +} + +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 +} + +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 GCS 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"` +} + +func (*RagFile_GcsSource) isRagFile_RagFileSource() {} + +func (*RagFile_GoogleDriveSource) isRagFile_RagFileSource() {} + +func (*RagFile_DirectUploadSource) isRagFile_RagFileSource() {} + +// Specifies the size and overlap of chunks for RagFiles. +type RagFileChunkingConfig 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) Reset() { + *x = RagFileChunkingConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[2] + 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_v1beta1_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 RagFileChunkingConfig.ProtoReflect.Descriptor instead. +func (*RagFileChunkingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{2} +} + +func (x *RagFileChunkingConfig) GetChunkSize() int32 { + if x != nil { + return x.ChunkSize + } + return 0 +} + +func (x *RagFileChunkingConfig) GetChunkOverlap() int32 { + if x != nil { + return x.ChunkOverlap + } + return 0 +} + +// Config for uploading RagFile. +type UploadRagFileConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies the size and overlap of chunks after uploading RagFile. + RagFileChunkingConfig *RagFileChunkingConfig `protobuf:"bytes,1,opt,name=rag_file_chunking_config,json=ragFileChunkingConfig,proto3" json:"rag_file_chunking_config,omitempty"` +} + +func (x *UploadRagFileConfig) Reset() { + *x = UploadRagFileConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[3] + 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_v1beta1_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 UploadRagFileConfig.ProtoReflect.Descriptor instead. +func (*UploadRagFileConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{3} +} + +func (x *UploadRagFileConfig) GetRagFileChunkingConfig() *RagFileChunkingConfig { + if x != nil { + return x.RagFileChunkingConfig + } + return nil +} + +// Config for importing RagFiles. +type ImportRagFilesConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to ImportSource: + // + // *ImportRagFilesConfig_GcsSource + // *ImportRagFilesConfig_GoogleDriveSource + ImportSource isImportRagFilesConfig_ImportSource `protobuf_oneof:"import_source"` + // Specifies the size and overlap of chunks after importing RagFiles. + RagFileChunkingConfig *RagFileChunkingConfig `protobuf:"bytes,4,opt,name=rag_file_chunking_config,json=ragFileChunkingConfig,proto3" json:"rag_file_chunking_config,omitempty"` +} + +func (x *ImportRagFilesConfig) Reset() { + *x = ImportRagFilesConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[4] + 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_v1beta1_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 ImportRagFilesConfig.ProtoReflect.Descriptor instead. +func (*ImportRagFilesConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP(), []int{4} +} + +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) GetRagFileChunkingConfig() *RagFileChunkingConfig { + if x != nil { + return x.RagFileChunkingConfig + } + return nil +} + +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"` +} + +func (*ImportRagFilesConfig_GcsSource) isImportRagFilesConfig_ImportSource() {} + +func (*ImportRagFilesConfig_GoogleDriveSource) isImportRagFilesConfig_ImportSource() {} + +var File_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDesc = []byte{ + 0x0a, 0x35, 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, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 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, + 0x62, 0x65, 0x74, 0x61, 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, + 0xfa, 0x02, 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, 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, 0x22, 0xa4, 0x07, 0x0a, + 0x07, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x69, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x6c, 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, 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, + 0x62, 0x65, 0x74, 0x61, 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, 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, 0x22, 0x0a, 0x0a, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x5d, 0x0a, 0x0d, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 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, 0x22, 0x5a, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x41, 0x47, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x15, 0x0a, 0x11, 0x52, 0x41, 0x47, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x41, 0x47, 0x5f, 0x46, + 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x44, 0x46, 0x10, 0x02, 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, 0x5b, 0x0a, 0x15, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x68, + 0x75, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 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, + 0x22, 0x86, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xcb, 0x02, 0x0a, 0x14, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 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, 0x62, 0x65, 0x74, 0x61, 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, + 0x64, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x6f, 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, 0x04, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x42, 0x0f, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0xe9, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x12, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, + 0x22, 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, 0x65, + 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_goTypes = []interface{}{ + (RagFile_RagFileType)(0), // 0: google.cloud.aiplatform.v1beta1.RagFile.RagFileType + (*RagCorpus)(nil), // 1: google.cloud.aiplatform.v1beta1.RagCorpus + (*RagFile)(nil), // 2: google.cloud.aiplatform.v1beta1.RagFile + (*RagFileChunkingConfig)(nil), // 3: google.cloud.aiplatform.v1beta1.RagFileChunkingConfig + (*UploadRagFileConfig)(nil), // 4: google.cloud.aiplatform.v1beta1.UploadRagFileConfig + (*ImportRagFilesConfig)(nil), // 5: google.cloud.aiplatform.v1beta1.ImportRagFilesConfig + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*GcsSource)(nil), // 7: google.cloud.aiplatform.v1beta1.GcsSource + (*GoogleDriveSource)(nil), // 8: google.cloud.aiplatform.v1beta1.GoogleDriveSource + (*DirectUploadSource)(nil), // 9: google.cloud.aiplatform.v1beta1.DirectUploadSource +} +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_depIdxs = []int32{ + 6, // 0: google.cloud.aiplatform.v1beta1.RagCorpus.create_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.cloud.aiplatform.v1beta1.RagCorpus.update_time:type_name -> google.protobuf.Timestamp + 7, // 2: google.cloud.aiplatform.v1beta1.RagFile.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource + 8, // 3: google.cloud.aiplatform.v1beta1.RagFile.google_drive_source:type_name -> google.cloud.aiplatform.v1beta1.GoogleDriveSource + 9, // 4: google.cloud.aiplatform.v1beta1.RagFile.direct_upload_source:type_name -> google.cloud.aiplatform.v1beta1.DirectUploadSource + 0, // 5: google.cloud.aiplatform.v1beta1.RagFile.rag_file_type:type_name -> google.cloud.aiplatform.v1beta1.RagFile.RagFileType + 6, // 6: google.cloud.aiplatform.v1beta1.RagFile.create_time:type_name -> google.protobuf.Timestamp + 6, // 7: google.cloud.aiplatform.v1beta1.RagFile.update_time:type_name -> google.protobuf.Timestamp + 3, // 8: google.cloud.aiplatform.v1beta1.UploadRagFileConfig.rag_file_chunking_config:type_name -> google.cloud.aiplatform.v1beta1.RagFileChunkingConfig + 7, // 9: google.cloud.aiplatform.v1beta1.ImportRagFilesConfig.gcs_source:type_name -> google.cloud.aiplatform.v1beta1.GcsSource + 8, // 10: google.cloud.aiplatform.v1beta1.ImportRagFilesConfig.google_drive_source:type_name -> google.cloud.aiplatform.v1beta1.GoogleDriveSource + 3, // 11: google.cloud.aiplatform.v1beta1.ImportRagFilesConfig.rag_file_chunking_config:type_name -> google.cloud.aiplatform.v1beta1.RagFileChunkingConfig + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_init() } +func file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_init() { + if File_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto != nil { + return + } + file_google_cloud_aiplatform_v1beta1_io_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*RagFile_GcsSource)(nil), + (*RagFile_GoogleDriveSource)(nil), + (*RagFile_DirectUploadSource)(nil), + } + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*ImportRagFilesConfig_GcsSource)(nil), + (*ImportRagFilesConfig_GoogleDriveSource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_depIdxs, + EnumInfos: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_enumTypes, + MessageInfos: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto = out.File + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_depIdxs = nil +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data_service.pb.go new file mode 100755 index 000000000000..409245df6084 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_data_service.pb.go @@ -0,0 +1,1963 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.ListRagCorporaResponse.next_page_token] + // of the previous + // [VertexRagDataService.ListRagCorpora][google.cloud.aiplatform.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.VertexRagDataService.UploadRagFile]. +type UploadRagFileResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.VertexRagDataService.ImportRagFiles]. +type ImportRagFilesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +func (x *ImportRagFilesResponse) Reset() { + *x = ImportRagFilesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_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_v1beta1_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_v1beta1_vertex_rag_data_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ImportRagFilesResponse) GetImportedRagFilesCount() int64 { + if x != nil { + return x.ImportedRagFilesCount + } + return 0 +} + +// Request message for +// [VertexRagDataService.GetRagFile][google.cloud.aiplatform.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.ListRagFilesResponse.next_page_token] + // of the previous + // [VertexRagDataService.ListRagFiles][google.cloud.aiplatform.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_vertex_rag_data_service_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateRagCorpusOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { + if x != nil { + return x.GenericMetadata + } + return nil +} + +// Runtime operation information for +// [VertexRagDataService.ImportRagFiles][google.cloud.aiplatform.v1beta1.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"` +} + +func (x *ImportRagFilesOperationMetadata) Reset() { + *x = ImportRagFilesOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_msgTypes[14] + 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_v1beta1_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 ImportRagFilesOperationMetadata.ProtoReflect.Descriptor instead. +func (*ImportRagFilesOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescGZIP(), []int{14} +} + +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 +} + +var File_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDesc = []byte{ + 0x0a, 0x3d, 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, 0x62, 0x65, 0x74, 0x61, + 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, + 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x2f, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 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, + 0x62, 0x65, 0x74, 0x61, 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, 0xab, 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, 0x4e, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, + 0x75, 0x73, 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, 0x62, 0x65, 0x74, 0x61, 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, + 0x8d, 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, 0x4b, 0x0a, 0x0b, 0x72, 0x61, + 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, + 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, 0x95, 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, 0x48, 0x0a, 0x08, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x02, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x6e, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x94, 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, 0x45, 0x0a, 0x08, 0x72, 0x61, 0x67, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x18, 0x01, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xcf, 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, 0x71, 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, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x51, 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, 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, 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, 0x85, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x72, 0x61, 0x67, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, 0x61, 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, + 0x88, 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, 0x64, 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, 0x39, + 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, 0x62, 0x65, 0x74, 0x61, 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, 0xab, 0x01, 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, 0x64, + 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, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x32, 0xcf, 0x10, 0x0a, 0x14, 0x56, 0x65, 0x72, + 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xf7, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, + 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x8b, 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, 0x41, 0x3a, 0x0a, 0x72, 0x61, 0x67, 0x5f, + 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xb4, 0x01, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x42, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xc7, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, 0x6f, + 0x72, 0x70, 0x6f, 0x72, 0x61, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x43, + 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x44, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, 0xe0, 0x01, 0x0a, + 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, + 0x12, 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, 0x62, 0x65, 0x74, + 0x61, 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, 0x75, 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, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, + 0xf9, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 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, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x79, 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, + 0x4a, 0x3a, 0x01, 0x2a, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x97, 0x02, 0x0a, 0x0e, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 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, 0xad, 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, 0x4a, 0x3a, 0x01, 0x2a, 0x22, 0x45, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xb9, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, + 0x46, 0x69, 0x6c, 0x65, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xcc, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x12, 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, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x61, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4f, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, + 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xe8, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x61, 0x67, 0x46, 0x69, + 0x6c, 0x65, 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, 0x62, + 0x65, 0x74, 0x61, 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, 0x80, 0x01, 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, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 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, 0xf0, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, + 0x61, 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, + 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 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, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_goTypes = []interface{}{ + (*CreateRagCorpusRequest)(nil), // 0: google.cloud.aiplatform.v1beta1.CreateRagCorpusRequest + (*GetRagCorpusRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.GetRagCorpusRequest + (*ListRagCorporaRequest)(nil), // 2: google.cloud.aiplatform.v1beta1.ListRagCorporaRequest + (*ListRagCorporaResponse)(nil), // 3: google.cloud.aiplatform.v1beta1.ListRagCorporaResponse + (*DeleteRagCorpusRequest)(nil), // 4: google.cloud.aiplatform.v1beta1.DeleteRagCorpusRequest + (*UploadRagFileRequest)(nil), // 5: google.cloud.aiplatform.v1beta1.UploadRagFileRequest + (*UploadRagFileResponse)(nil), // 6: google.cloud.aiplatform.v1beta1.UploadRagFileResponse + (*ImportRagFilesRequest)(nil), // 7: google.cloud.aiplatform.v1beta1.ImportRagFilesRequest + (*ImportRagFilesResponse)(nil), // 8: google.cloud.aiplatform.v1beta1.ImportRagFilesResponse + (*GetRagFileRequest)(nil), // 9: google.cloud.aiplatform.v1beta1.GetRagFileRequest + (*ListRagFilesRequest)(nil), // 10: google.cloud.aiplatform.v1beta1.ListRagFilesRequest + (*ListRagFilesResponse)(nil), // 11: google.cloud.aiplatform.v1beta1.ListRagFilesResponse + (*DeleteRagFileRequest)(nil), // 12: google.cloud.aiplatform.v1beta1.DeleteRagFileRequest + (*CreateRagCorpusOperationMetadata)(nil), // 13: google.cloud.aiplatform.v1beta1.CreateRagCorpusOperationMetadata + (*ImportRagFilesOperationMetadata)(nil), // 14: google.cloud.aiplatform.v1beta1.ImportRagFilesOperationMetadata + (*RagCorpus)(nil), // 15: google.cloud.aiplatform.v1beta1.RagCorpus + (*RagFile)(nil), // 16: google.cloud.aiplatform.v1beta1.RagFile + (*UploadRagFileConfig)(nil), // 17: google.cloud.aiplatform.v1beta1.UploadRagFileConfig + (*status.Status)(nil), // 18: google.rpc.Status + (*ImportRagFilesConfig)(nil), // 19: google.cloud.aiplatform.v1beta1.ImportRagFilesConfig + (*GenericOperationMetadata)(nil), // 20: google.cloud.aiplatform.v1beta1.GenericOperationMetadata + (*longrunningpb.Operation)(nil), // 21: google.longrunning.Operation +} +var file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_depIdxs = []int32{ + 15, // 0: google.cloud.aiplatform.v1beta1.CreateRagCorpusRequest.rag_corpus:type_name -> google.cloud.aiplatform.v1beta1.RagCorpus + 15, // 1: google.cloud.aiplatform.v1beta1.ListRagCorporaResponse.rag_corpora:type_name -> google.cloud.aiplatform.v1beta1.RagCorpus + 16, // 2: google.cloud.aiplatform.v1beta1.UploadRagFileRequest.rag_file:type_name -> google.cloud.aiplatform.v1beta1.RagFile + 17, // 3: google.cloud.aiplatform.v1beta1.UploadRagFileRequest.upload_rag_file_config:type_name -> google.cloud.aiplatform.v1beta1.UploadRagFileConfig + 16, // 4: google.cloud.aiplatform.v1beta1.UploadRagFileResponse.rag_file:type_name -> google.cloud.aiplatform.v1beta1.RagFile + 18, // 5: google.cloud.aiplatform.v1beta1.UploadRagFileResponse.error:type_name -> google.rpc.Status + 19, // 6: google.cloud.aiplatform.v1beta1.ImportRagFilesRequest.import_rag_files_config:type_name -> google.cloud.aiplatform.v1beta1.ImportRagFilesConfig + 16, // 7: google.cloud.aiplatform.v1beta1.ListRagFilesResponse.rag_files:type_name -> google.cloud.aiplatform.v1beta1.RagFile + 20, // 8: google.cloud.aiplatform.v1beta1.CreateRagCorpusOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 20, // 9: google.cloud.aiplatform.v1beta1.ImportRagFilesOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1beta1.GenericOperationMetadata + 0, // 10: google.cloud.aiplatform.v1beta1.VertexRagDataService.CreateRagCorpus:input_type -> google.cloud.aiplatform.v1beta1.CreateRagCorpusRequest + 1, // 11: google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagCorpus:input_type -> google.cloud.aiplatform.v1beta1.GetRagCorpusRequest + 2, // 12: google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagCorpora:input_type -> google.cloud.aiplatform.v1beta1.ListRagCorporaRequest + 4, // 13: google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagCorpus:input_type -> google.cloud.aiplatform.v1beta1.DeleteRagCorpusRequest + 5, // 14: google.cloud.aiplatform.v1beta1.VertexRagDataService.UploadRagFile:input_type -> google.cloud.aiplatform.v1beta1.UploadRagFileRequest + 7, // 15: google.cloud.aiplatform.v1beta1.VertexRagDataService.ImportRagFiles:input_type -> google.cloud.aiplatform.v1beta1.ImportRagFilesRequest + 9, // 16: google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagFile:input_type -> google.cloud.aiplatform.v1beta1.GetRagFileRequest + 10, // 17: google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagFiles:input_type -> google.cloud.aiplatform.v1beta1.ListRagFilesRequest + 12, // 18: google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagFile:input_type -> google.cloud.aiplatform.v1beta1.DeleteRagFileRequest + 21, // 19: google.cloud.aiplatform.v1beta1.VertexRagDataService.CreateRagCorpus:output_type -> google.longrunning.Operation + 15, // 20: google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagCorpus:output_type -> google.cloud.aiplatform.v1beta1.RagCorpus + 3, // 21: google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagCorpora:output_type -> google.cloud.aiplatform.v1beta1.ListRagCorporaResponse + 21, // 22: google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagCorpus:output_type -> google.longrunning.Operation + 6, // 23: google.cloud.aiplatform.v1beta1.VertexRagDataService.UploadRagFile:output_type -> google.cloud.aiplatform.v1beta1.UploadRagFileResponse + 21, // 24: google.cloud.aiplatform.v1beta1.VertexRagDataService.ImportRagFiles:output_type -> google.longrunning.Operation + 16, // 25: google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagFile:output_type -> google.cloud.aiplatform.v1beta1.RagFile + 11, // 26: google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagFiles:output_type -> google.cloud.aiplatform.v1beta1.ListRagFilesResponse + 21, // 27: google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagFile:output_type -> google.longrunning.Operation + 19, // [19:28] is the sub-list for method output_type + 10, // [10:19] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_init() } +func file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_init() { + if File_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto != nil { + return + } + file_google_cloud_aiplatform_v1beta1_operation_proto_init() + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_data_service_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*UploadRagFileResponse_RagFile)(nil), + (*UploadRagFileResponse_Error)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 15, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto = out.File + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_vertex_rag_data_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_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) + // 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.v1beta1.VertexRagDataService/CreateRagCorpus", 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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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) + // 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) 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.v1beta1.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_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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.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.v1beta1.VertexRagDataService", + HandlerType: (*VertexRagDataServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateRagCorpus", + Handler: _VertexRagDataService_CreateRagCorpus_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/v1beta1/vertex_rag_data_service.proto", +} diff --git a/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_service.pb.go b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_service.pb.go new file mode 100755 index 000000000000..85e42756bf37 --- /dev/null +++ b/aiplatform/apiv1beta1/aiplatformpb/vertex_rag_service.pb.go @@ -0,0 +1,756 @@ +// Copyright 2023 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.32.0 +// protoc v4.25.2 +// source: google/cloud/aiplatform/v1beta1/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 + + // Types that are assignable to Query: + // + // *RagQuery_Text + Query isRagQuery_Query `protobuf_oneof:"query"` + // Optional. The number of contexts to retrieve. + SimilarityTopK int32 `protobuf:"varint,2,opt,name=similarity_top_k,json=similarityTopK,proto3" json:"similarity_top_k,omitempty"` +} + +func (x *RagQuery) Reset() { + *x = RagQuery{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_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_v1beta1_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_v1beta1_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) GetSimilarityTopK() int32 { + if x != nil { + return x.SimilarityTopK + } + return 0 +} + +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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_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_v1beta1_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_v1beta1_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_v1beta1_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.v1beta1.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_v1beta1_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_v1beta1_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_v1beta1_vertex_rag_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RetrieveContextsResponse) GetContexts() *RagContexts { + if x != nil { + return x.Contexts + } + return nil +} + +// The data source for Vertex RagStore. +type RetrieveContextsRequest_VertexRagStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. RagCorpora resource name. + // Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + // Currently only one corpus is allowed. + // In the future we may open up multiple corpora support. However, they + // should be from the same project and location. + RagCorpora []string `protobuf:"bytes,1,rep,name=rag_corpora,json=ragCorpora,proto3" json:"rag_corpora,omitempty"` +} + +func (x *RetrieveContextsRequest_VertexRagStore) Reset() { + *x = RetrieveContextsRequest_VertexRagStore{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes[4] + 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_v1beta1_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 RetrieveContextsRequest_VertexRagStore.ProtoReflect.Descriptor instead. +func (*RetrieveContextsRequest_VertexRagStore) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *RetrieveContextsRequest_VertexRagStore) GetRagCorpora() []string { + if x != nil { + return x.RagCorpora + } + return nil +} + +// A context of the query. +type RagContexts_Context struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For vertex RagStore, 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 text chunk. + Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` + // The distance between the query vector and the context text vector. + Distance float64 `protobuf:"fixed64,3,opt,name=distance,proto3" json:"distance,omitempty"` +} + +func (x *RagContexts_Context) Reset() { + *x = RagContexts_Context{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes[5] + 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_v1beta1_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 RagContexts_Context.ProtoReflect.Descriptor instead. +func (*RagContexts_Context) Descriptor() ([]byte, []int) { + return file_google_cloud_aiplatform_v1beta1_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) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *RagContexts_Context) GetDistance() float64 { + if x != nil { + return x.Distance + } + return 0 +} + +var File_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto protoreflect.FileDescriptor + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_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, 0x62, 0x65, 0x74, 0x61, + 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, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x22, 0x5d, + 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, 0x2d, 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, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x54, 0x6f, 0x70, 0x4b, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xde, 0x02, + 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, 0x73, 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, 0x47, 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, + 0x62, 0x65, 0x74, 0x61, 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, 0x44, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 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, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x36, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 0x65, + 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x61, 0x67, + 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x42, + 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb9, + 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x50, + 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 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, 0x62, 0x65, 0x74, + 0x61, 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, 0x58, 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, 0x12, 0x0a, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x64, 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, 0x48, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x32, 0xc0, 0x02, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x39, 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, 0x62, 0x65, 0x74, 0x61, 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, + 0x53, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 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, 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, 0xec, 0x01, 0x0a, 0x23, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x43, 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, 0x62, 0x65, 0x74, 0x61, 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, 0x1f, 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, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 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, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, + 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, 0x65, 0x74, + 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescOnce sync.Once + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDesc +) + +func file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescGZIP() []byte { + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescOnce.Do(func() { + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescData) + }) + return file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDescData +} + +var file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_goTypes = []interface{}{ + (*RagQuery)(nil), // 0: google.cloud.aiplatform.v1beta1.RagQuery + (*RetrieveContextsRequest)(nil), // 1: google.cloud.aiplatform.v1beta1.RetrieveContextsRequest + (*RagContexts)(nil), // 2: google.cloud.aiplatform.v1beta1.RagContexts + (*RetrieveContextsResponse)(nil), // 3: google.cloud.aiplatform.v1beta1.RetrieveContextsResponse + (*RetrieveContextsRequest_VertexRagStore)(nil), // 4: google.cloud.aiplatform.v1beta1.RetrieveContextsRequest.VertexRagStore + (*RagContexts_Context)(nil), // 5: google.cloud.aiplatform.v1beta1.RagContexts.Context +} +var file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_depIdxs = []int32{ + 4, // 0: google.cloud.aiplatform.v1beta1.RetrieveContextsRequest.vertex_rag_store:type_name -> google.cloud.aiplatform.v1beta1.RetrieveContextsRequest.VertexRagStore + 0, // 1: google.cloud.aiplatform.v1beta1.RetrieveContextsRequest.query:type_name -> google.cloud.aiplatform.v1beta1.RagQuery + 5, // 2: google.cloud.aiplatform.v1beta1.RagContexts.contexts:type_name -> google.cloud.aiplatform.v1beta1.RagContexts.Context + 2, // 3: google.cloud.aiplatform.v1beta1.RetrieveContextsResponse.contexts:type_name -> google.cloud.aiplatform.v1beta1.RagContexts + 1, // 4: google.cloud.aiplatform.v1beta1.VertexRagService.RetrieveContexts:input_type -> google.cloud.aiplatform.v1beta1.RetrieveContextsRequest + 3, // 5: google.cloud.aiplatform.v1beta1.VertexRagService.RetrieveContexts:output_type -> google.cloud.aiplatform.v1beta1.RetrieveContextsResponse + 5, // [5:6] is the sub-list for method output_type + 4, // [4:5] 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 +} + +func init() { file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_init() } +func file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_init() { + if File_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + 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_v1beta1_vertex_rag_service_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*RagQuery_Text)(nil), + } + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*RetrieveContextsRequest_VertexRagStore_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_goTypes, + DependencyIndexes: file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_depIdxs, + MessageInfos: file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_msgTypes, + }.Build() + File_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto = out.File + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_rawDesc = nil + file_google_cloud_aiplatform_v1beta1_vertex_rag_service_proto_goTypes = nil + file_google_cloud_aiplatform_v1beta1_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) +} + +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.v1beta1.VertexRagService/RetrieveContexts", 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) +} + +// 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 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.v1beta1.VertexRagService/RetrieveContexts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VertexRagServiceServer).RetrieveContexts(ctx, req.(*RetrieveContextsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _VertexRagService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.aiplatform.v1beta1.VertexRagService", + HandlerType: (*VertexRagServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RetrieveContexts", + Handler: _VertexRagService_RetrieveContexts_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/aiplatform/v1beta1/vertex_rag_service.proto", +} diff --git a/aiplatform/apiv1beta1/auxiliary.go b/aiplatform/apiv1beta1/auxiliary.go index e8ddb9916a24..ce49e1c62fcb 100755 --- a/aiplatform/apiv1beta1/auxiliary.go +++ b/aiplatform/apiv1beta1/auxiliary.go @@ -28,6 +28,70 @@ import ( locationpb "google.golang.org/genproto/googleapis/cloud/location" ) +// AssignNotebookRuntimeOperation manages a long-running operation from AssignNotebookRuntime. +type AssignNotebookRuntimeOperation 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 *AssignNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.NotebookRuntime + 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 *AssignNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.NotebookRuntime + 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 *AssignNotebookRuntimeOperation) Metadata() (*aiplatformpb.AssignNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.AssignNotebookRuntimeOperationMetadata + 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 *AssignNotebookRuntimeOperation) 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 *AssignNotebookRuntimeOperation) Name() string { + return op.lro.Name() +} + // BatchCancelPipelineJobsOperation manages a long-running operation from BatchCancelPipelineJobs. type BatchCancelPipelineJobsOperation struct { lro *longrunning.Operation @@ -1308,6 +1372,70 @@ func (op *CreateMetadataStoreOperation) Name() string { return op.lro.Name() } +// CreateNotebookRuntimeTemplateOperation manages a long-running operation from CreateNotebookRuntimeTemplate. +type CreateNotebookRuntimeTemplateOperation 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 *CreateNotebookRuntimeTemplateOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.NotebookRuntimeTemplate + 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 *CreateNotebookRuntimeTemplateOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.NotebookRuntimeTemplate + 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 *CreateNotebookRuntimeTemplateOperation) Metadata() (*aiplatformpb.CreateNotebookRuntimeTemplateOperationMetadata, error) { + var meta aiplatformpb.CreateNotebookRuntimeTemplateOperationMetadata + 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 *CreateNotebookRuntimeTemplateOperation) 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 *CreateNotebookRuntimeTemplateOperation) Name() string { + return op.lro.Name() +} + // CreatePersistentResourceOperation manages a long-running operation from CreatePersistentResource. type CreatePersistentResourceOperation struct { lro *longrunning.Operation @@ -1372,6 +1500,70 @@ func (op *CreatePersistentResourceOperation) Name() string { return op.lro.Name() } +// CreateRagCorpusOperation manages a long-running operation from CreateRagCorpus. +type CreateRagCorpusOperation 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 *CreateRagCorpusOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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() +} + // CreateReasoningEngineOperation manages a long-running operation from CreateReasoningEngine. type CreateReasoningEngineOperation struct { lro *longrunning.Operation @@ -2953,8 +3145,8 @@ func (op *DeleteNasJobOperation) Name() string { return op.lro.Name() } -// DeletePersistentResourceOperation manages a long-running operation from DeletePersistentResource. -type DeletePersistentResourceOperation struct { +// DeleteNotebookRuntimeOperation manages a long-running operation from DeleteNotebookRuntime. +type DeleteNotebookRuntimeOperation struct { lro *longrunning.Operation pollPath string } @@ -2962,7 +3154,7 @@ type DeletePersistentResourceOperation struct { // 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 *DeletePersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -2976,7 +3168,7 @@ func (op *DeletePersistentResourceOperation) Wait(ctx context.Context, opts ...g // 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 *DeletePersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -2985,7 +3177,7 @@ func (op *DeletePersistentResourceOperation) Poll(ctx context.Context, opts ...g // 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 *DeletePersistentResourceOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteNotebookRuntimeOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -2996,18 +3188,18 @@ func (op *DeletePersistentResourceOperation) Metadata() (*aiplatformpb.DeleteOpe } // Done reports whether the long-running operation has completed. -func (op *DeletePersistentResourceOperation) Done() bool { +func (op *DeleteNotebookRuntimeOperation) 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 *DeletePersistentResourceOperation) Name() string { +func (op *DeleteNotebookRuntimeOperation) Name() string { return op.lro.Name() } -// DeletePipelineJobOperation manages a long-running operation from DeletePipelineJob. -type DeletePipelineJobOperation struct { +// DeleteNotebookRuntimeTemplateOperation manages a long-running operation from DeleteNotebookRuntimeTemplate. +type DeleteNotebookRuntimeTemplateOperation struct { lro *longrunning.Operation pollPath string } @@ -3015,7 +3207,7 @@ type DeletePipelineJobOperation struct { // 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 *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeTemplateOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3029,7 +3221,7 @@ func (op *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.Call // 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 *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteNotebookRuntimeTemplateOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3038,7 +3230,7 @@ func (op *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.Call // 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 *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteNotebookRuntimeTemplateOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3049,18 +3241,18 @@ func (op *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationM } // Done reports whether the long-running operation has completed. -func (op *DeletePipelineJobOperation) Done() bool { +func (op *DeleteNotebookRuntimeTemplateOperation) 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 *DeletePipelineJobOperation) Name() string { +func (op *DeleteNotebookRuntimeTemplateOperation) Name() string { return op.lro.Name() } -// DeleteReasoningEngineOperation manages a long-running operation from DeleteReasoningEngine. -type DeleteReasoningEngineOperation struct { +// DeletePersistentResourceOperation manages a long-running operation from DeletePersistentResource. +type DeletePersistentResourceOperation struct { lro *longrunning.Operation pollPath string } @@ -3068,7 +3260,7 @@ type DeleteReasoningEngineOperation struct { // 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 *DeleteReasoningEngineOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePersistentResourceOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3082,7 +3274,7 @@ func (op *DeleteReasoningEngineOperation) Wait(ctx context.Context, opts ...gax. // 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 *DeleteReasoningEngineOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePersistentResourceOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3091,7 +3283,7 @@ func (op *DeleteReasoningEngineOperation) Poll(ctx context.Context, opts ...gax. // 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 *DeleteReasoningEngineOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeletePersistentResourceOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3102,18 +3294,18 @@ func (op *DeleteReasoningEngineOperation) Metadata() (*aiplatformpb.DeleteOperat } // Done reports whether the long-running operation has completed. -func (op *DeleteReasoningEngineOperation) Done() bool { +func (op *DeletePersistentResourceOperation) 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 *DeleteReasoningEngineOperation) Name() string { +func (op *DeletePersistentResourceOperation) Name() string { return op.lro.Name() } -// DeleteSavedQueryOperation manages a long-running operation from DeleteSavedQuery. -type DeleteSavedQueryOperation struct { +// DeletePipelineJobOperation manages a long-running operation from DeletePipelineJob. +type DeletePipelineJobOperation struct { lro *longrunning.Operation pollPath string } @@ -3121,7 +3313,7 @@ type DeleteSavedQueryOperation struct { // 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 *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePipelineJobOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3135,7 +3327,7 @@ func (op *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallO // 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 *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeletePipelineJobOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3144,7 +3336,7 @@ func (op *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallO // 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 *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeletePipelineJobOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3155,18 +3347,18 @@ func (op *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMe } // Done reports whether the long-running operation has completed. -func (op *DeleteSavedQueryOperation) Done() bool { +func (op *DeletePipelineJobOperation) 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 *DeleteSavedQueryOperation) Name() string { +func (op *DeletePipelineJobOperation) Name() string { return op.lro.Name() } -// DeleteScheduleOperation manages a long-running operation from DeleteSchedule. -type DeleteScheduleOperation struct { +// DeleteRagCorpusOperation manages a long-running operation from DeleteRagCorpus. +type DeleteRagCorpusOperation struct { lro *longrunning.Operation pollPath string } @@ -3174,7 +3366,7 @@ type DeleteScheduleOperation struct { // 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 *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteRagCorpusOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3188,7 +3380,7 @@ func (op *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOpt // 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 *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteRagCorpusOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3197,7 +3389,7 @@ func (op *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOpt // 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 *DeleteScheduleOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteRagCorpusOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3208,18 +3400,18 @@ func (op *DeleteScheduleOperation) Metadata() (*aiplatformpb.DeleteOperationMeta } // Done reports whether the long-running operation has completed. -func (op *DeleteScheduleOperation) Done() bool { +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 *DeleteScheduleOperation) Name() string { +func (op *DeleteRagCorpusOperation) Name() string { return op.lro.Name() } -// DeleteSpecialistPoolOperation manages a long-running operation from DeleteSpecialistPool. -type DeleteSpecialistPoolOperation struct { +// DeleteRagFileOperation manages a long-running operation from DeleteRagFile. +type DeleteRagFileOperation struct { lro *longrunning.Operation pollPath string } @@ -3227,7 +3419,7 @@ type DeleteSpecialistPoolOperation struct { // 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 *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteRagFileOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3241,7 +3433,7 @@ func (op *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.C // 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 *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteRagFileOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3250,7 +3442,7 @@ func (op *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.C // 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 *DeleteSpecialistPoolOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteRagFileOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3261,18 +3453,18 @@ func (op *DeleteSpecialistPoolOperation) Metadata() (*aiplatformpb.DeleteOperati } // Done reports whether the long-running operation has completed. -func (op *DeleteSpecialistPoolOperation) Done() bool { +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 *DeleteSpecialistPoolOperation) Name() string { +func (op *DeleteRagFileOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardExperimentOperation manages a long-running operation from DeleteTensorboardExperiment. -type DeleteTensorboardExperimentOperation struct { +// DeleteReasoningEngineOperation manages a long-running operation from DeleteReasoningEngine. +type DeleteReasoningEngineOperation struct { lro *longrunning.Operation pollPath string } @@ -3280,7 +3472,7 @@ type DeleteTensorboardExperimentOperation struct { // 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 *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteReasoningEngineOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3294,7 +3486,7 @@ func (op *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts . // 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 *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteReasoningEngineOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3303,7 +3495,7 @@ func (op *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts . // 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 *DeleteTensorboardExperimentOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteReasoningEngineOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3314,18 +3506,18 @@ func (op *DeleteTensorboardExperimentOperation) Metadata() (*aiplatformpb.Delete } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardExperimentOperation) Done() bool { +func (op *DeleteReasoningEngineOperation) 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 *DeleteTensorboardExperimentOperation) Name() string { +func (op *DeleteReasoningEngineOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardOperation manages a long-running operation from DeleteTensorboard. -type DeleteTensorboardOperation struct { +// DeleteSavedQueryOperation manages a long-running operation from DeleteSavedQuery. +type DeleteSavedQueryOperation struct { lro *longrunning.Operation pollPath string } @@ -3333,7 +3525,7 @@ type DeleteTensorboardOperation struct { // 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 *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSavedQueryOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3347,7 +3539,7 @@ func (op *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.Call // 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 *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteSavedQueryOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3356,7 +3548,7 @@ func (op *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.Call // 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 *DeleteTensorboardOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteSavedQueryOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -3367,18 +3559,18 @@ func (op *DeleteTensorboardOperation) Metadata() (*aiplatformpb.DeleteOperationM } // Done reports whether the long-running operation has completed. -func (op *DeleteTensorboardOperation) Done() bool { +func (op *DeleteSavedQueryOperation) 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 *DeleteTensorboardOperation) Name() string { +func (op *DeleteSavedQueryOperation) Name() string { return op.lro.Name() } -// DeleteTensorboardRunOperation manages a long-running operation from DeleteTensorboardRun. -type DeleteTensorboardRunOperation struct { +// DeleteScheduleOperation manages a long-running operation from DeleteSchedule. +type DeleteScheduleOperation struct { lro *longrunning.Operation pollPath string } @@ -3386,7 +3578,7 @@ type DeleteTensorboardRunOperation struct { // 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 *DeleteTensorboardRunOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteScheduleOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } @@ -3400,7 +3592,7 @@ func (op *DeleteTensorboardRunOperation) Wait(ctx context.Context, opts ...gax.C // 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 *DeleteTensorboardRunOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *DeleteScheduleOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) return op.lro.Poll(ctx, nil, opts...) } @@ -3409,7 +3601,219 @@ func (op *DeleteTensorboardRunOperation) Poll(ctx context.Context, opts ...gax.C // 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 *DeleteTensorboardRunOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { +func (op *DeleteScheduleOperation) 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 *DeleteScheduleOperation) 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 *DeleteScheduleOperation) Name() string { + return op.lro.Name() +} + +// DeleteSpecialistPoolOperation manages a long-running operation from DeleteSpecialistPool. +type DeleteSpecialistPoolOperation 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 *DeleteSpecialistPoolOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteSpecialistPoolOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteSpecialistPoolOperation) 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 *DeleteSpecialistPoolOperation) 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 *DeleteSpecialistPoolOperation) Name() string { + return op.lro.Name() +} + +// DeleteTensorboardExperimentOperation manages a long-running operation from DeleteTensorboardExperiment. +type DeleteTensorboardExperimentOperation 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 *DeleteTensorboardExperimentOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardExperimentOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardExperimentOperation) 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 *DeleteTensorboardExperimentOperation) 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 *DeleteTensorboardExperimentOperation) Name() string { + return op.lro.Name() +} + +// DeleteTensorboardOperation manages a long-running operation from DeleteTensorboard. +type DeleteTensorboardOperation 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 *DeleteTensorboardOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardOperation) 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 *DeleteTensorboardOperation) 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 *DeleteTensorboardOperation) Name() string { + return op.lro.Name() +} + +// DeleteTensorboardRunOperation manages a long-running operation from DeleteTensorboardRun. +type DeleteTensorboardRunOperation 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 *DeleteTensorboardRunOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardRunOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 *DeleteTensorboardRunOperation) Metadata() (*aiplatformpb.DeleteOperationMetadata, error) { var meta aiplatformpb.DeleteOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -4048,6 +4452,70 @@ func (op *ImportFeatureValuesOperation) Name() string { return op.lro.Name() } +// ImportRagFilesOperation manages a long-running operation from ImportRagFiles. +type ImportRagFilesOperation 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 *ImportRagFilesOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.ImportRagFilesResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + 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 @@ -4240,8 +4708,72 @@ func (op *PurgeArtifactsOperation) Name() string { return op.lro.Name() } -// PurgeContextsOperation manages a long-running operation from PurgeContexts. -type PurgeContextsOperation struct { +// PurgeContextsOperation manages a long-running operation from PurgeContexts. +type PurgeContextsOperation 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 *PurgeContextsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeContextsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.PurgeContextsResponse + 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 *PurgeContextsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeContextsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.PurgeContextsResponse + 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 *PurgeContextsOperation) Metadata() (*aiplatformpb.PurgeContextsMetadata, error) { + var meta aiplatformpb.PurgeContextsMetadata + 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 *PurgeContextsOperation) 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 *PurgeContextsOperation) Name() string { + return op.lro.Name() +} + +// PurgeExecutionsOperation manages a long-running operation from PurgeExecutions. +type PurgeExecutionsOperation struct { lro *longrunning.Operation pollPath string } @@ -4249,9 +4781,9 @@ type PurgeContextsOperation struct { // 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 *PurgeContextsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeContextsResponse, error) { +func (op *PurgeExecutionsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeExecutionsResponse, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.PurgeContextsResponse + var resp aiplatformpb.PurgeExecutionsResponse if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -4267,9 +4799,9 @@ func (op *PurgeContextsOperation) Wait(ctx context.Context, opts ...gax.CallOpti // 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 *PurgeContextsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeContextsResponse, error) { +func (op *PurgeExecutionsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeExecutionsResponse, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.PurgeContextsResponse + var resp aiplatformpb.PurgeExecutionsResponse if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -4283,8 +4815,8 @@ func (op *PurgeContextsOperation) Poll(ctx context.Context, opts ...gax.CallOpti // 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 *PurgeContextsOperation) Metadata() (*aiplatformpb.PurgeContextsMetadata, error) { - var meta aiplatformpb.PurgeContextsMetadata +func (op *PurgeExecutionsOperation) Metadata() (*aiplatformpb.PurgeExecutionsMetadata, error) { + var meta aiplatformpb.PurgeExecutionsMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil } else if err != nil { @@ -4294,18 +4826,18 @@ func (op *PurgeContextsOperation) Metadata() (*aiplatformpb.PurgeContextsMetadat } // Done reports whether the long-running operation has completed. -func (op *PurgeContextsOperation) Done() bool { +func (op *PurgeExecutionsOperation) 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 *PurgeContextsOperation) Name() string { +func (op *PurgeExecutionsOperation) Name() string { return op.lro.Name() } -// PurgeExecutionsOperation manages a long-running operation from PurgeExecutions. -type PurgeExecutionsOperation struct { +// RestoreDatasetVersionOperation manages a long-running operation from RestoreDatasetVersion. +type RestoreDatasetVersionOperation struct { lro *longrunning.Operation pollPath string } @@ -4313,9 +4845,9 @@ type PurgeExecutionsOperation struct { // 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 *PurgeExecutionsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeExecutionsResponse, error) { +func (op *RestoreDatasetVersionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.DatasetVersion, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.PurgeExecutionsResponse + var resp aiplatformpb.DatasetVersion if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -4331,9 +4863,9 @@ func (op *PurgeExecutionsOperation) Wait(ctx context.Context, opts ...gax.CallOp // 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 *PurgeExecutionsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.PurgeExecutionsResponse, error) { +func (op *RestoreDatasetVersionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.DatasetVersion, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.PurgeExecutionsResponse + var resp aiplatformpb.DatasetVersion if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -4347,8 +4879,8 @@ func (op *PurgeExecutionsOperation) Poll(ctx context.Context, opts ...gax.CallOp // 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 *PurgeExecutionsOperation) Metadata() (*aiplatformpb.PurgeExecutionsMetadata, error) { - var meta aiplatformpb.PurgeExecutionsMetadata +func (op *RestoreDatasetVersionOperation) Metadata() (*aiplatformpb.RestoreDatasetVersionOperationMetadata, error) { + var meta aiplatformpb.RestoreDatasetVersionOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil } else if err != nil { @@ -4358,18 +4890,18 @@ func (op *PurgeExecutionsOperation) Metadata() (*aiplatformpb.PurgeExecutionsMet } // Done reports whether the long-running operation has completed. -func (op *PurgeExecutionsOperation) Done() bool { +func (op *RestoreDatasetVersionOperation) 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 *PurgeExecutionsOperation) Name() string { +func (op *RestoreDatasetVersionOperation) Name() string { return op.lro.Name() } -// RestoreDatasetVersionOperation manages a long-running operation from RestoreDatasetVersion. -type RestoreDatasetVersionOperation struct { +// StartNotebookRuntimeOperation manages a long-running operation from StartNotebookRuntime. +type StartNotebookRuntimeOperation struct { lro *longrunning.Operation pollPath string } @@ -4377,9 +4909,9 @@ type RestoreDatasetVersionOperation struct { // 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 *RestoreDatasetVersionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.DatasetVersion, error) { +func (op *StartNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.StartNotebookRuntimeResponse, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.DatasetVersion + var resp aiplatformpb.StartNotebookRuntimeResponse if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -4395,9 +4927,9 @@ func (op *RestoreDatasetVersionOperation) Wait(ctx context.Context, opts ...gax. // 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 *RestoreDatasetVersionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.DatasetVersion, error) { +func (op *StartNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.StartNotebookRuntimeResponse, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp aiplatformpb.DatasetVersion + var resp aiplatformpb.StartNotebookRuntimeResponse if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -4411,8 +4943,8 @@ func (op *RestoreDatasetVersionOperation) Poll(ctx context.Context, opts ...gax. // 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 *RestoreDatasetVersionOperation) Metadata() (*aiplatformpb.RestoreDatasetVersionOperationMetadata, error) { - var meta aiplatformpb.RestoreDatasetVersionOperationMetadata +func (op *StartNotebookRuntimeOperation) Metadata() (*aiplatformpb.StartNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.StartNotebookRuntimeOperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil } else if err != nil { @@ -4422,13 +4954,13 @@ func (op *RestoreDatasetVersionOperation) Metadata() (*aiplatformpb.RestoreDatas } // Done reports whether the long-running operation has completed. -func (op *RestoreDatasetVersionOperation) Done() bool { +func (op *StartNotebookRuntimeOperation) 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 *RestoreDatasetVersionOperation) Name() string { +func (op *StartNotebookRuntimeOperation) Name() string { return op.lro.Name() } @@ -5328,6 +5860,70 @@ func (op *UpdateTensorboardOperation) Name() string { return op.lro.Name() } +// UpgradeNotebookRuntimeOperation manages a long-running operation from UpgradeNotebookRuntime. +type UpgradeNotebookRuntimeOperation 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 *UpgradeNotebookRuntimeOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.UpgradeNotebookRuntimeResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.UpgradeNotebookRuntimeResponse + 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 *UpgradeNotebookRuntimeOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*aiplatformpb.UpgradeNotebookRuntimeResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp aiplatformpb.UpgradeNotebookRuntimeResponse + 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 *UpgradeNotebookRuntimeOperation) Metadata() (*aiplatformpb.UpgradeNotebookRuntimeOperationMetadata, error) { + var meta aiplatformpb.UpgradeNotebookRuntimeOperationMetadata + 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 *UpgradeNotebookRuntimeOperation) 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 *UpgradeNotebookRuntimeOperation) Name() string { + return op.lro.Name() +} + // UploadModelOperation manages a long-running operation from UploadModel. type UploadModelOperation struct { lro *longrunning.Operation @@ -7084,6 +7680,100 @@ func (it *NasTrialDetailIterator) takeBuf() interface{} { return b } +// NotebookRuntimeIterator manages a stream of *aiplatformpb.NotebookRuntime. +type NotebookRuntimeIterator struct { + items []*aiplatformpb.NotebookRuntime + 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.NotebookRuntime, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NotebookRuntimeIterator) 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 *NotebookRuntimeIterator) Next() (*aiplatformpb.NotebookRuntime, error) { + var item *aiplatformpb.NotebookRuntime + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NotebookRuntimeIterator) bufLen() int { + return len(it.items) +} + +func (it *NotebookRuntimeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NotebookRuntimeTemplateIterator manages a stream of *aiplatformpb.NotebookRuntimeTemplate. +type NotebookRuntimeTemplateIterator struct { + items []*aiplatformpb.NotebookRuntimeTemplate + 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.NotebookRuntimeTemplate, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NotebookRuntimeTemplateIterator) 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 *NotebookRuntimeTemplateIterator) Next() (*aiplatformpb.NotebookRuntimeTemplate, error) { + var item *aiplatformpb.NotebookRuntimeTemplate + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NotebookRuntimeTemplateIterator) bufLen() int { + return len(it.items) +} + +func (it *NotebookRuntimeTemplateIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // OperationIterator manages a stream of *longrunningpb.Operation. type OperationIterator struct { items []*longrunningpb.Operation @@ -7272,6 +7962,100 @@ func (it *PublisherModelIterator) 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 +} + // ReasoningEngineIterator manages a stream of *aiplatformpb.ReasoningEngine. type ReasoningEngineIterator struct { items []*aiplatformpb.ReasoningEngine diff --git a/aiplatform/apiv1beta1/evaluation_client.go b/aiplatform/apiv1beta1/evaluation_client.go index 533dccdb9f93..313893de7c7a 100755 --- a/aiplatform/apiv1beta1/evaluation_client.go +++ b/aiplatform/apiv1beta1/evaluation_client.go @@ -24,6 +24,7 @@ import ( "math" "net/http" "net/url" + "time" aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb" iampb "cloud.google.com/go/iam/apiv1/iampb" @@ -74,7 +75,9 @@ func defaultEvaluationGRPCClientOptions() []option.ClientOption { func defaultEvaluationCallOptions() *EvaluationCallOptions { return &EvaluationCallOptions{ - EvaluateInstances: []gax.CallOption{}, + EvaluateInstances: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, @@ -90,7 +93,9 @@ func defaultEvaluationCallOptions() *EvaluationCallOptions { func defaultEvaluationRESTCallOptions() *EvaluationCallOptions { return &EvaluationCallOptions{ - EvaluateInstances: []gax.CallOption{}, + EvaluateInstances: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, diff --git a/aiplatform/apiv1beta1/gapic_metadata.json b/aiplatform/apiv1beta1/gapic_metadata.json index 8127bb0ec686..91503bd6468c 100644 --- a/aiplatform/apiv1beta1/gapic_metadata.json +++ b/aiplatform/apiv1beta1/gapic_metadata.json @@ -4245,6 +4245,220 @@ } } }, + "NotebookService": { + "clients": { + "grpc": { + "libraryClient": "NotebookClient", + "rpcs": { + "AssignNotebookRuntime": { + "methods": [ + "AssignNotebookRuntime" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateNotebookRuntimeTemplate": { + "methods": [ + "CreateNotebookRuntimeTemplate" + ] + }, + "DeleteNotebookRuntime": { + "methods": [ + "DeleteNotebookRuntime" + ] + }, + "DeleteNotebookRuntimeTemplate": { + "methods": [ + "DeleteNotebookRuntimeTemplate" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetNotebookRuntime": { + "methods": [ + "GetNotebookRuntime" + ] + }, + "GetNotebookRuntimeTemplate": { + "methods": [ + "GetNotebookRuntimeTemplate" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListNotebookRuntimeTemplates": { + "methods": [ + "ListNotebookRuntimeTemplates" + ] + }, + "ListNotebookRuntimes": { + "methods": [ + "ListNotebookRuntimes" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "StartNotebookRuntime": { + "methods": [ + "StartNotebookRuntime" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpgradeNotebookRuntime": { + "methods": [ + "UpgradeNotebookRuntime" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + }, + "rest": { + "libraryClient": "NotebookClient", + "rpcs": { + "AssignNotebookRuntime": { + "methods": [ + "AssignNotebookRuntime" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateNotebookRuntimeTemplate": { + "methods": [ + "CreateNotebookRuntimeTemplate" + ] + }, + "DeleteNotebookRuntime": { + "methods": [ + "DeleteNotebookRuntime" + ] + }, + "DeleteNotebookRuntimeTemplate": { + "methods": [ + "DeleteNotebookRuntimeTemplate" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetNotebookRuntime": { + "methods": [ + "GetNotebookRuntime" + ] + }, + "GetNotebookRuntimeTemplate": { + "methods": [ + "GetNotebookRuntimeTemplate" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListNotebookRuntimeTemplates": { + "methods": [ + "ListNotebookRuntimeTemplates" + ] + }, + "ListNotebookRuntimes": { + "methods": [ + "ListNotebookRuntimes" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "StartNotebookRuntime": { + "methods": [ + "StartNotebookRuntime" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpgradeNotebookRuntime": { + "methods": [ + "UpgradeNotebookRuntime" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, "PersistentResourceService": { "clients": { "grpc": { @@ -4653,6 +4867,11 @@ "CancelOperation" ] }, + "ChatCompletions": { + "methods": [ + "ChatCompletions" + ] + }, "CountTokens": { "methods": [ "CountTokens" @@ -4773,6 +4992,11 @@ "CancelOperation" ] }, + "ChatCompletions": { + "methods": [ + "ChatCompletions" + ] + }, "CountTokens": { "methods": [ "CountTokens" @@ -5927,6 +6151,334 @@ } } }, + "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" + ] + }, + "UploadRagFile": { + "methods": [ + "UploadRagFile" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + }, + "rest": { + "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" + ] + }, + "UploadRagFile": { + "methods": [ + "UploadRagFile" + ] + }, + "WaitOperation": { + "methods": [ + "WaitOperation" + ] + } + } + } + } + }, + "VertexRagService": { + "clients": { + "grpc": { + "libraryClient": "VertexRagClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "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" + ] + } + } + }, + "rest": { + "libraryClient": "VertexRagClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "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/apiv1beta1/notebook_client.go b/aiplatform/apiv1beta1/notebook_client.go new file mode 100755 index 000000000000..901cf98743c1 --- /dev/null +++ b/aiplatform/apiv1beta1/notebook_client.go @@ -0,0 +1,2446 @@ +// 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 ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newNotebookClientHook clientHook + +// NotebookCallOptions contains the retry settings for each method of NotebookClient. +type NotebookCallOptions struct { + CreateNotebookRuntimeTemplate []gax.CallOption + GetNotebookRuntimeTemplate []gax.CallOption + ListNotebookRuntimeTemplates []gax.CallOption + DeleteNotebookRuntimeTemplate []gax.CallOption + AssignNotebookRuntime []gax.CallOption + GetNotebookRuntime []gax.CallOption + ListNotebookRuntimes []gax.CallOption + DeleteNotebookRuntime []gax.CallOption + UpgradeNotebookRuntime []gax.CallOption + StartNotebookRuntime []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 defaultNotebookGRPCClientOptions() []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(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultNotebookCallOptions() *NotebookCallOptions { + return &NotebookCallOptions{ + CreateNotebookRuntimeTemplate: []gax.CallOption{}, + GetNotebookRuntimeTemplate: []gax.CallOption{}, + ListNotebookRuntimeTemplates: []gax.CallOption{}, + DeleteNotebookRuntimeTemplate: []gax.CallOption{}, + AssignNotebookRuntime: []gax.CallOption{}, + GetNotebookRuntime: []gax.CallOption{}, + ListNotebookRuntimes: []gax.CallOption{}, + DeleteNotebookRuntime: []gax.CallOption{}, + UpgradeNotebookRuntime: []gax.CallOption{}, + StartNotebookRuntime: []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 defaultNotebookRESTCallOptions() *NotebookCallOptions { + return &NotebookCallOptions{ + CreateNotebookRuntimeTemplate: []gax.CallOption{}, + GetNotebookRuntimeTemplate: []gax.CallOption{}, + ListNotebookRuntimeTemplates: []gax.CallOption{}, + DeleteNotebookRuntimeTemplate: []gax.CallOption{}, + AssignNotebookRuntime: []gax.CallOption{}, + GetNotebookRuntime: []gax.CallOption{}, + ListNotebookRuntimes: []gax.CallOption{}, + DeleteNotebookRuntime: []gax.CallOption{}, + UpgradeNotebookRuntime: []gax.CallOption{}, + StartNotebookRuntime: []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{}, + } +} + +// internalNotebookClient is an interface that defines the methods available from Vertex AI API. +type internalNotebookClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + CreateNotebookRuntimeTemplate(context.Context, *aiplatformpb.CreateNotebookRuntimeTemplateRequest, ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, error) + CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation + GetNotebookRuntimeTemplate(context.Context, *aiplatformpb.GetNotebookRuntimeTemplateRequest, ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) + ListNotebookRuntimeTemplates(context.Context, *aiplatformpb.ListNotebookRuntimeTemplatesRequest, ...gax.CallOption) *NotebookRuntimeTemplateIterator + DeleteNotebookRuntimeTemplate(context.Context, *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, error) + DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation + AssignNotebookRuntime(context.Context, *aiplatformpb.AssignNotebookRuntimeRequest, ...gax.CallOption) (*AssignNotebookRuntimeOperation, error) + AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation + GetNotebookRuntime(context.Context, *aiplatformpb.GetNotebookRuntimeRequest, ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) + ListNotebookRuntimes(context.Context, *aiplatformpb.ListNotebookRuntimesRequest, ...gax.CallOption) *NotebookRuntimeIterator + DeleteNotebookRuntime(context.Context, *aiplatformpb.DeleteNotebookRuntimeRequest, ...gax.CallOption) (*DeleteNotebookRuntimeOperation, error) + DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation + UpgradeNotebookRuntime(context.Context, *aiplatformpb.UpgradeNotebookRuntimeRequest, ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, error) + UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation + StartNotebookRuntime(context.Context, *aiplatformpb.StartNotebookRuntimeRequest, ...gax.CallOption) (*StartNotebookRuntimeOperation, error) + StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation + 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) +} + +// NotebookClient 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. +// +// The interface for Vertex Notebook service (a.k.a. Colab on Workbench). +type NotebookClient struct { + // The internal transport-dependent client. + internalClient internalNotebookClient + + // The call options for this service. + CallOptions *NotebookCallOptions + + // 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// CreateNotebookRuntimeTemplate creates a NotebookRuntimeTemplate. +func (c *NotebookClient) CreateNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.CreateNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, error) { + return c.internalClient.CreateNotebookRuntimeTemplate(ctx, req, opts...) +} + +// CreateNotebookRuntimeTemplateOperation returns a new CreateNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created CreateNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *NotebookClient) CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation { + return c.internalClient.CreateNotebookRuntimeTemplateOperation(name) +} + +// GetNotebookRuntimeTemplate gets a NotebookRuntimeTemplate. +func (c *NotebookClient) GetNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + return c.internalClient.GetNotebookRuntimeTemplate(ctx, req, opts...) +} + +// ListNotebookRuntimeTemplates lists NotebookRuntimeTemplates in a Location. +func (c *NotebookClient) ListNotebookRuntimeTemplates(ctx context.Context, req *aiplatformpb.ListNotebookRuntimeTemplatesRequest, opts ...gax.CallOption) *NotebookRuntimeTemplateIterator { + return c.internalClient.ListNotebookRuntimeTemplates(ctx, req, opts...) +} + +// DeleteNotebookRuntimeTemplate deletes a NotebookRuntimeTemplate. +func (c *NotebookClient) DeleteNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, error) { + return c.internalClient.DeleteNotebookRuntimeTemplate(ctx, req, opts...) +} + +// DeleteNotebookRuntimeTemplateOperation returns a new DeleteNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *NotebookClient) DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation { + return c.internalClient.DeleteNotebookRuntimeTemplateOperation(name) +} + +// AssignNotebookRuntime assigns a NotebookRuntime to a user for a particular Notebook file. This +// method will either returns an existing assignment or generates a new one. +func (c *NotebookClient) AssignNotebookRuntime(ctx context.Context, req *aiplatformpb.AssignNotebookRuntimeRequest, opts ...gax.CallOption) (*AssignNotebookRuntimeOperation, error) { + return c.internalClient.AssignNotebookRuntime(ctx, req, opts...) +} + +// AssignNotebookRuntimeOperation returns a new AssignNotebookRuntimeOperation from a given name. +// The name must be that of a previously created AssignNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation { + return c.internalClient.AssignNotebookRuntimeOperation(name) +} + +// GetNotebookRuntime gets a NotebookRuntime. +func (c *NotebookClient) GetNotebookRuntime(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + return c.internalClient.GetNotebookRuntime(ctx, req, opts...) +} + +// ListNotebookRuntimes lists NotebookRuntimes in a Location. +func (c *NotebookClient) ListNotebookRuntimes(ctx context.Context, req *aiplatformpb.ListNotebookRuntimesRequest, opts ...gax.CallOption) *NotebookRuntimeIterator { + return c.internalClient.ListNotebookRuntimes(ctx, req, opts...) +} + +// DeleteNotebookRuntime deletes a NotebookRuntime. +func (c *NotebookClient) DeleteNotebookRuntime(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeOperation, error) { + return c.internalClient.DeleteNotebookRuntime(ctx, req, opts...) +} + +// DeleteNotebookRuntimeOperation returns a new DeleteNotebookRuntimeOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation { + return c.internalClient.DeleteNotebookRuntimeOperation(name) +} + +// UpgradeNotebookRuntime upgrades a NotebookRuntime. +func (c *NotebookClient) UpgradeNotebookRuntime(ctx context.Context, req *aiplatformpb.UpgradeNotebookRuntimeRequest, opts ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, error) { + return c.internalClient.UpgradeNotebookRuntime(ctx, req, opts...) +} + +// UpgradeNotebookRuntimeOperation returns a new UpgradeNotebookRuntimeOperation from a given name. +// The name must be that of a previously created UpgradeNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation { + return c.internalClient.UpgradeNotebookRuntimeOperation(name) +} + +// StartNotebookRuntime starts a NotebookRuntime. +func (c *NotebookClient) StartNotebookRuntime(ctx context.Context, req *aiplatformpb.StartNotebookRuntimeRequest, opts ...gax.CallOption) (*StartNotebookRuntimeOperation, error) { + return c.internalClient.StartNotebookRuntime(ctx, req, opts...) +} + +// StartNotebookRuntimeOperation returns a new StartNotebookRuntimeOperation from a given name. +// The name must be that of a previously created StartNotebookRuntimeOperation, possibly from a different process. +func (c *NotebookClient) StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation { + return c.internalClient.StartNotebookRuntimeOperation(name) +} + +// GetLocation gets information about a location. +func (c *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) 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 *NotebookClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.WaitOperation(ctx, req, opts...) +} + +// notebookGRPCClient 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 notebookGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing NotebookClient + CallOptions **NotebookCallOptions + + // The gRPC API client. + notebookClient aiplatformpb.NotebookServiceClient + + // 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 +} + +// NewNotebookClient creates a new notebook service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// The interface for Vertex Notebook service (a.k.a. Colab on Workbench). +func NewNotebookClient(ctx context.Context, opts ...option.ClientOption) (*NotebookClient, error) { + clientOpts := defaultNotebookGRPCClientOptions() + if newNotebookClientHook != nil { + hookOpts, err := newNotebookClientHook(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 := NotebookClient{CallOptions: defaultNotebookCallOptions()} + + c := ¬ebookGRPCClient{ + connPool: connPool, + notebookClient: aiplatformpb.NewNotebookServiceClient(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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type notebookRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // 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 + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing NotebookClient + CallOptions **NotebookCallOptions +} + +// NewNotebookRESTClient creates a new notebook service rest client. +// +// The interface for Vertex Notebook service (a.k.a. Colab on Workbench). +func NewNotebookRESTClient(ctx context.Context, opts ...option.ClientOption) (*NotebookClient, error) { + clientOpts := append(defaultNotebookRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultNotebookRESTCallOptions() + c := ¬ebookRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &NotebookClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultNotebookRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://aiplatform.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://aiplatform.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://aiplatform.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://aiplatform.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// 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 *notebookRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + 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 *notebookRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *notebookRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *notebookGRPCClient) CreateNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.CreateNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, 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).CreateNotebookRuntimeTemplate[0:len((*c.CallOptions).CreateNotebookRuntimeTemplate):len((*c.CallOptions).CreateNotebookRuntimeTemplate)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.CreateNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) GetNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, 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).GetNotebookRuntimeTemplate[0:len((*c.CallOptions).GetNotebookRuntimeTemplate):len((*c.CallOptions).GetNotebookRuntimeTemplate)], opts...) + var resp *aiplatformpb.NotebookRuntimeTemplate + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.GetNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *notebookGRPCClient) ListNotebookRuntimeTemplates(ctx context.Context, req *aiplatformpb.ListNotebookRuntimeTemplatesRequest, opts ...gax.CallOption) *NotebookRuntimeTemplateIterator { + 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).ListNotebookRuntimeTemplates[0:len((*c.CallOptions).ListNotebookRuntimeTemplates):len((*c.CallOptions).ListNotebookRuntimeTemplates)], opts...) + it := &NotebookRuntimeTemplateIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimeTemplatesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntimeTemplate, string, error) { + resp := &aiplatformpb.ListNotebookRuntimeTemplatesResponse{} + 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.notebookClient.ListNotebookRuntimeTemplates(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetNotebookRuntimeTemplates(), 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 *notebookGRPCClient) DeleteNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, 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).DeleteNotebookRuntimeTemplate[0:len((*c.CallOptions).DeleteNotebookRuntimeTemplate):len((*c.CallOptions).DeleteNotebookRuntimeTemplate)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.DeleteNotebookRuntimeTemplate(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) AssignNotebookRuntime(ctx context.Context, req *aiplatformpb.AssignNotebookRuntimeRequest, opts ...gax.CallOption) (*AssignNotebookRuntimeOperation, 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).AssignNotebookRuntime[0:len((*c.CallOptions).AssignNotebookRuntime):len((*c.CallOptions).AssignNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.AssignNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) GetNotebookRuntime(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, 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).GetNotebookRuntime[0:len((*c.CallOptions).GetNotebookRuntime):len((*c.CallOptions).GetNotebookRuntime)], opts...) + var resp *aiplatformpb.NotebookRuntime + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.GetNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *notebookGRPCClient) ListNotebookRuntimes(ctx context.Context, req *aiplatformpb.ListNotebookRuntimesRequest, opts ...gax.CallOption) *NotebookRuntimeIterator { + 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).ListNotebookRuntimes[0:len((*c.CallOptions).ListNotebookRuntimes):len((*c.CallOptions).ListNotebookRuntimes)], opts...) + it := &NotebookRuntimeIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntime, string, error) { + resp := &aiplatformpb.ListNotebookRuntimesResponse{} + 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.notebookClient.ListNotebookRuntimes(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetNotebookRuntimes(), 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 *notebookGRPCClient) DeleteNotebookRuntime(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeOperation, 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).DeleteNotebookRuntime[0:len((*c.CallOptions).DeleteNotebookRuntime):len((*c.CallOptions).DeleteNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.DeleteNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) UpgradeNotebookRuntime(ctx context.Context, req *aiplatformpb.UpgradeNotebookRuntimeRequest, opts ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, 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).UpgradeNotebookRuntime[0:len((*c.CallOptions).UpgradeNotebookRuntime):len((*c.CallOptions).UpgradeNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.UpgradeNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) StartNotebookRuntime(ctx context.Context, req *aiplatformpb.StartNotebookRuntimeRequest, opts ...gax.CallOption) (*StartNotebookRuntimeOperation, 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).StartNotebookRuntime[0:len((*c.CallOptions).StartNotebookRuntime):len((*c.CallOptions).StartNotebookRuntime)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.notebookClient.StartNotebookRuntime(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 *notebookGRPCClient) 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 +} + +// CreateNotebookRuntimeTemplate creates a NotebookRuntimeTemplate. +func (c *notebookRESTClient) CreateNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.CreateNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*CreateNotebookRuntimeTemplateOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetNotebookRuntimeTemplate() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/notebookRuntimeTemplates", req.GetParent()) + + params := url.Values{} + if req.GetNotebookRuntimeTemplateId() != "" { + params.Add("notebookRuntimeTemplateId", fmt.Sprintf("%v", req.GetNotebookRuntimeTemplateId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + 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("/ui/%s", resp.GetName()) + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetNotebookRuntimeTemplate gets a NotebookRuntimeTemplate. +func (c *notebookRESTClient) GetNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntimeTemplate, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetNotebookRuntimeTemplate[0:len((*c.CallOptions).GetNotebookRuntimeTemplate):len((*c.CallOptions).GetNotebookRuntimeTemplate)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.NotebookRuntimeTemplate{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListNotebookRuntimeTemplates lists NotebookRuntimeTemplates in a Location. +func (c *notebookRESTClient) ListNotebookRuntimeTemplates(ctx context.Context, req *aiplatformpb.ListNotebookRuntimeTemplatesRequest, opts ...gax.CallOption) *NotebookRuntimeTemplateIterator { + it := &NotebookRuntimeTemplateIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimeTemplatesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntimeTemplate, string, error) { + resp := &aiplatformpb.ListNotebookRuntimeTemplatesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/notebookRuntimeTemplates", req.GetParent()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReadMask() != nil { + readMask, err := protojson.Marshal(req.GetReadMask()) + if err != nil { + return nil, "", err + } + params.Add("readMask", string(readMask[1:len(readMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + it.Response = resp + return resp.GetNotebookRuntimeTemplates(), 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 +} + +// DeleteNotebookRuntimeTemplate deletes a NotebookRuntimeTemplate. +func (c *notebookRESTClient) DeleteNotebookRuntimeTemplate(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeTemplateRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeTemplateOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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("DELETE", baseUrl.String(), nil) + 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("/ui/%s", resp.GetName()) + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// AssignNotebookRuntime assigns a NotebookRuntime to a user for a particular Notebook file. This +// method will either returns an existing assignment or generates a new one. +func (c *notebookRESTClient) AssignNotebookRuntime(ctx context.Context, req *aiplatformpb.AssignNotebookRuntimeRequest, opts ...gax.CallOption) (*AssignNotebookRuntimeOperation, 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("/v1beta1/%v/notebookRuntimes:assign", req.GetParent()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + 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("/ui/%s", resp.GetName()) + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetNotebookRuntime gets a NotebookRuntime. +func (c *notebookRESTClient) GetNotebookRuntime(ctx context.Context, req *aiplatformpb.GetNotebookRuntimeRequest, opts ...gax.CallOption) (*aiplatformpb.NotebookRuntime, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetNotebookRuntime[0:len((*c.CallOptions).GetNotebookRuntime):len((*c.CallOptions).GetNotebookRuntime)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.NotebookRuntime{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListNotebookRuntimes lists NotebookRuntimes in a Location. +func (c *notebookRESTClient) ListNotebookRuntimes(ctx context.Context, req *aiplatformpb.ListNotebookRuntimesRequest, opts ...gax.CallOption) *NotebookRuntimeIterator { + it := &NotebookRuntimeIterator{} + req = proto.Clone(req).(*aiplatformpb.ListNotebookRuntimesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*aiplatformpb.NotebookRuntime, string, error) { + resp := &aiplatformpb.ListNotebookRuntimesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/notebookRuntimes", req.GetParent()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReadMask() != nil { + readMask, err := protojson.Marshal(req.GetReadMask()) + if err != nil { + return nil, "", err + } + params.Add("readMask", string(readMask[1:len(readMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + it.Response = resp + return resp.GetNotebookRuntimes(), 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 +} + +// DeleteNotebookRuntime deletes a NotebookRuntime. +func (c *notebookRESTClient) DeleteNotebookRuntime(ctx context.Context, req *aiplatformpb.DeleteNotebookRuntimeRequest, opts ...gax.CallOption) (*DeleteNotebookRuntimeOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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("DELETE", baseUrl.String(), nil) + 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("/ui/%s", resp.GetName()) + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpgradeNotebookRuntime upgrades a NotebookRuntime. +func (c *notebookRESTClient) UpgradeNotebookRuntime(ctx context.Context, req *aiplatformpb.UpgradeNotebookRuntimeRequest, opts ...gax.CallOption) (*UpgradeNotebookRuntimeOperation, 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("/v1beta1/%v:upgrade", req.GetName()) + + // 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("/ui/%s", resp.GetName()) + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// StartNotebookRuntime starts a NotebookRuntime. +func (c *notebookRESTClient) StartNotebookRuntime(ctx context.Context, req *aiplatformpb.StartNotebookRuntimeRequest, opts ...gax.CallOption) (*StartNotebookRuntimeOperation, 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("/v1beta1/%v:start", req.GetName()) + + // 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("/ui/%s", resp.GetName()) + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetLocation gets information about a location. +func (c *notebookRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +func (c *notebookRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/locations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// 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 *notebookRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:getIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *notebookRESTClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:setIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *notebookRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, 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("/v1beta1/%v:testIamPermissions", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.TestIamPermissionsResponse{} + 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 + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *notebookRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:cancel", req.GetName()) + + // 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...) + return 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(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *notebookRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *notebookRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + 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("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *notebookRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/operations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// WaitOperation is a utility method from google.longrunning.Operations. +func (c *notebookRESTClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:wait", req.GetName()) + + params := url.Values{} + if req.GetTimeout() != nil { + timeout, err := protojson.Marshal(req.GetTimeout()) + if err != nil { + return nil, err + } + params.Add("timeout", string(timeout[1:len(timeout)-1])) + } + + 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...) + opts = append((*c.CallOptions).WaitOperation[0:len((*c.CallOptions).WaitOperation):len((*c.CallOptions).WaitOperation)], opts...) + 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(), nil) + 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 + } + return resp, nil +} + +// AssignNotebookRuntimeOperation returns a new AssignNotebookRuntimeOperation from a given name. +// The name must be that of a previously created AssignNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation { + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// AssignNotebookRuntimeOperation returns a new AssignNotebookRuntimeOperation from a given name. +// The name must be that of a previously created AssignNotebookRuntimeOperation, possibly from a different process. +func (c *notebookRESTClient) AssignNotebookRuntimeOperation(name string) *AssignNotebookRuntimeOperation { + override := fmt.Sprintf("/ui/%s", name) + return &AssignNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateNotebookRuntimeTemplateOperation returns a new CreateNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created CreateNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookGRPCClient) CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation { + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateNotebookRuntimeTemplateOperation returns a new CreateNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created CreateNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookRESTClient) CreateNotebookRuntimeTemplateOperation(name string) *CreateNotebookRuntimeTemplateOperation { + override := fmt.Sprintf("/ui/%s", name) + return &CreateNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteNotebookRuntimeOperation returns a new DeleteNotebookRuntimeOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation { + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteNotebookRuntimeOperation returns a new DeleteNotebookRuntimeOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeOperation, possibly from a different process. +func (c *notebookRESTClient) DeleteNotebookRuntimeOperation(name string) *DeleteNotebookRuntimeOperation { + override := fmt.Sprintf("/ui/%s", name) + return &DeleteNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteNotebookRuntimeTemplateOperation returns a new DeleteNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookGRPCClient) DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation { + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteNotebookRuntimeTemplateOperation returns a new DeleteNotebookRuntimeTemplateOperation from a given name. +// The name must be that of a previously created DeleteNotebookRuntimeTemplateOperation, possibly from a different process. +func (c *notebookRESTClient) DeleteNotebookRuntimeTemplateOperation(name string) *DeleteNotebookRuntimeTemplateOperation { + override := fmt.Sprintf("/ui/%s", name) + return &DeleteNotebookRuntimeTemplateOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// StartNotebookRuntimeOperation returns a new StartNotebookRuntimeOperation from a given name. +// The name must be that of a previously created StartNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation { + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// StartNotebookRuntimeOperation returns a new StartNotebookRuntimeOperation from a given name. +// The name must be that of a previously created StartNotebookRuntimeOperation, possibly from a different process. +func (c *notebookRESTClient) StartNotebookRuntimeOperation(name string) *StartNotebookRuntimeOperation { + override := fmt.Sprintf("/ui/%s", name) + return &StartNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpgradeNotebookRuntimeOperation returns a new UpgradeNotebookRuntimeOperation from a given name. +// The name must be that of a previously created UpgradeNotebookRuntimeOperation, possibly from a different process. +func (c *notebookGRPCClient) UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation { + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpgradeNotebookRuntimeOperation returns a new UpgradeNotebookRuntimeOperation from a given name. +// The name must be that of a previously created UpgradeNotebookRuntimeOperation, possibly from a different process. +func (c *notebookRESTClient) UpgradeNotebookRuntimeOperation(name string) *UpgradeNotebookRuntimeOperation { + override := fmt.Sprintf("/ui/%s", name) + return &UpgradeNotebookRuntimeOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/aiplatform/apiv1beta1/notebook_client_example_test.go b/aiplatform/apiv1beta1/notebook_client_example_test.go new file mode 100644 index 000000000000..0dc0591d0b18 --- /dev/null +++ b/aiplatform/apiv1beta1/notebook_client_example_test.go @@ -0,0 +1,632 @@ +// 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/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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 ExampleNewNotebookClient() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewNotebookRESTClient() { + 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.NewNotebookRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNotebookClient_AssignNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AssignNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#AssignNotebookRuntimeRequest. + } + op, err := c.AssignNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_CreateNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#CreateNotebookRuntimeTemplateRequest. + } + op, err := c.CreateNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_DeleteNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#DeleteNotebookRuntimeRequest. + } + op, err := c.DeleteNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleNotebookClient_DeleteNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#DeleteNotebookRuntimeTemplateRequest. + } + op, err := c.DeleteNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleNotebookClient_GetNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#GetNotebookRuntimeRequest. + } + resp, err := c.GetNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_GetNotebookRuntimeTemplate() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#GetNotebookRuntimeTemplateRequest. + } + resp, err := c.GetNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_ListNotebookRuntimeTemplates() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimeTemplatesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ListNotebookRuntimeTemplatesRequest. + } + it := c.ListNotebookRuntimeTemplates(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.ListNotebookRuntimeTemplatesResponse) + } +} + +func ExampleNotebookClient_ListNotebookRuntimes() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ListNotebookRuntimesRequest. + } + it := c.ListNotebookRuntimes(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.ListNotebookRuntimesResponse) + } +} + +func ExampleNotebookClient_StartNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.StartNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#StartNotebookRuntimeRequest. + } + op, err := c.StartNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_UpgradeNotebookRuntime() { + 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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpgradeNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#UpgradeNotebookRuntimeRequest. + } + op, err := c.UpgradeNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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 ExampleNotebookClient_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.NewNotebookClient(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/apiv1beta1/prediction_client.go b/aiplatform/apiv1beta1/prediction_client.go index 15d89ed7d73c..50ea3bf57219 100755 --- a/aiplatform/apiv1beta1/prediction_client.go +++ b/aiplatform/apiv1beta1/prediction_client.go @@ -61,6 +61,7 @@ type PredictionCallOptions struct { CountTokens []gax.CallOption GenerateContent []gax.CallOption StreamGenerateContent []gax.CallOption + ChatCompletions []gax.CallOption GetLocation []gax.CallOption ListLocations []gax.CallOption GetIamPolicy []gax.CallOption @@ -106,6 +107,7 @@ func defaultPredictionCallOptions() *PredictionCallOptions { CountTokens: []gax.CallOption{}, GenerateContent: []gax.CallOption{}, StreamGenerateContent: []gax.CallOption{}, + ChatCompletions: []gax.CallOption{}, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, @@ -138,6 +140,7 @@ func defaultPredictionRESTCallOptions() *PredictionCallOptions { CountTokens: []gax.CallOption{}, GenerateContent: []gax.CallOption{}, StreamGenerateContent: []gax.CallOption{}, + ChatCompletions: []gax.CallOption{}, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, @@ -169,6 +172,7 @@ type internalPredictionClient interface { CountTokens(context.Context, *aiplatformpb.CountTokensRequest, ...gax.CallOption) (*aiplatformpb.CountTokensResponse, error) GenerateContent(context.Context, *aiplatformpb.GenerateContentRequest, ...gax.CallOption) (*aiplatformpb.GenerateContentResponse, error) StreamGenerateContent(context.Context, *aiplatformpb.GenerateContentRequest, ...gax.CallOption) (aiplatformpb.PredictionService_StreamGenerateContentClient, error) + ChatCompletions(context.Context, *aiplatformpb.ChatCompletionsRequest, ...gax.CallOption) (aiplatformpb.PredictionService_ChatCompletionsClient, 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) @@ -315,6 +319,11 @@ func (c *PredictionClient) StreamGenerateContent(ctx context.Context, req *aipla return c.internalClient.StreamGenerateContent(ctx, req, opts...) } +// ChatCompletions exposes an OpenAI-compatible endpoint for chat completions. +func (c *PredictionClient) ChatCompletions(ctx context.Context, req *aiplatformpb.ChatCompletionsRequest, opts ...gax.CallOption) (aiplatformpb.PredictionService_ChatCompletionsClient, error) { + return c.internalClient.ChatCompletions(ctx, req, opts...) +} + // GetLocation gets information about a location. func (c *PredictionClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { return c.internalClient.GetLocation(ctx, req, opts...) @@ -749,6 +758,24 @@ func (c *predictionGRPCClient) StreamGenerateContent(ctx context.Context, req *a return resp, nil } +func (c *predictionGRPCClient) ChatCompletions(ctx context.Context, req *aiplatformpb.ChatCompletionsRequest, opts ...gax.CallOption) (aiplatformpb.PredictionService_ChatCompletionsClient, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "endpoint", url.QueryEscape(req.GetEndpoint()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ChatCompletions[0:len((*c.CallOptions).ChatCompletions):len((*c.CallOptions).ChatCompletions)], opts...) + var resp aiplatformpb.PredictionService_ChatCompletionsClient + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.predictionClient.ChatCompletions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + func (c *predictionGRPCClient) 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()))} @@ -1660,6 +1687,108 @@ func (c *streamGenerateContentRESTClient) RecvMsg(m interface{}) error { return fmt.Errorf("this method is not implemented, use Recv") } +// ChatCompletions exposes an OpenAI-compatible endpoint for chat completions. +func (c *predictionRESTClient) ChatCompletions(ctx context.Context, req *aiplatformpb.ChatCompletionsRequest, opts ...gax.CallOption) (aiplatformpb.PredictionService_ChatCompletionsClient, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetHttpBody() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/chat/completions", req.GetEndpoint()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "endpoint", url.QueryEscape(req.GetEndpoint()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + var streamClient *chatCompletionsRESTClient + 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 + } + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + streamClient = &chatCompletionsRESTClient{ + ctx: ctx, + md: metadata.MD(httpRsp.Header), + stream: gax.NewProtoJSONStreamReader(httpRsp.Body, (&httpbodypb.HttpBody{}).ProtoReflect().Type()), + } + return nil + }, opts...) + + return streamClient, e +} + +// chatCompletionsRESTClient is the stream client used to consume the server stream created by +// the REST implementation of ChatCompletions. +type chatCompletionsRESTClient struct { + ctx context.Context + md metadata.MD + stream *gax.ProtoJSONStream +} + +func (c *chatCompletionsRESTClient) Recv() (*httpbodypb.HttpBody, error) { + if err := c.ctx.Err(); err != nil { + defer c.stream.Close() + return nil, err + } + msg, err := c.stream.Recv() + if err != nil { + defer c.stream.Close() + return nil, err + } + res := msg.(*httpbodypb.HttpBody) + return res, nil +} + +func (c *chatCompletionsRESTClient) Header() (metadata.MD, error) { + return c.md, nil +} + +func (c *chatCompletionsRESTClient) Trailer() metadata.MD { + return c.md +} + +func (c *chatCompletionsRESTClient) CloseSend() error { + // This is a no-op to fulfill the interface. + return fmt.Errorf("this method is not implemented for a server-stream") +} + +func (c *chatCompletionsRESTClient) Context() context.Context { + return c.ctx +} + +func (c *chatCompletionsRESTClient) SendMsg(m interface{}) error { + // This is a no-op to fulfill the interface. + return fmt.Errorf("this method is not implemented for a server-stream") +} + +func (c *chatCompletionsRESTClient) RecvMsg(m interface{}) error { + // This is a no-op to fulfill the interface. + return fmt.Errorf("this method is not implemented, use Recv") +} + // GetLocation gets information about a location. func (c *predictionRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { baseUrl, err := url.Parse(c.endpoint) diff --git a/aiplatform/apiv1beta1/vertex_rag_client.go b/aiplatform/apiv1beta1/vertex_rag_client.go new file mode 100755 index 000000000000..b331ef506c9b --- /dev/null +++ b/aiplatform/apiv1beta1/vertex_rag_client.go @@ -0,0 +1,1308 @@ +// 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 ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newVertexRagClientHook clientHook + +// VertexRagCallOptions contains the retry settings for each method of VertexRagClient. +type VertexRagCallOptions struct { + RetrieveContexts []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(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultVertexRagCallOptions() *VertexRagCallOptions { + return &VertexRagCallOptions{ + RetrieveContexts: []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 defaultVertexRagRESTCallOptions() *VertexRagCallOptions { + return &VertexRagCallOptions{ + RetrieveContexts: []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) + 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...) +} + +// 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() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type vertexRagRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing VertexRagClient + CallOptions **VertexRagCallOptions +} + +// NewVertexRagRESTClient creates a new vertex rag service rest client. +// +// A service for retrieving relevant contexts. +func NewVertexRagRESTClient(ctx context.Context, opts ...option.ClientOption) (*VertexRagClient, error) { + clientOpts := append(defaultVertexRagRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultVertexRagRESTCallOptions() + c := &vertexRagRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &VertexRagClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultVertexRagRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://aiplatform.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://aiplatform.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://aiplatform.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://aiplatform.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// 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 *vertexRagRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + 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 *vertexRagRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *vertexRagRESTClient) Connection() *grpc.ClientConn { + return nil +} +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) 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 +} + +// RetrieveContexts retrieves relevant contexts for a query. +func (c *vertexRagRESTClient) RetrieveContexts(ctx context.Context, req *aiplatformpb.RetrieveContextsRequest, opts ...gax.CallOption) (*aiplatformpb.RetrieveContextsResponse, 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("/v1beta1/%v:retrieveContexts", req.GetParent()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RetrieveContexts[0:len((*c.CallOptions).RetrieveContexts):len((*c.CallOptions).RetrieveContexts)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.RetrieveContextsResponse{} + 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 + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *vertexRagRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +func (c *vertexRagRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/locations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// 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 *vertexRagRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:getIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *vertexRagRESTClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:setIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *vertexRagRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, 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("/v1beta1/%v:testIamPermissions", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.TestIamPermissionsResponse{} + 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 + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:cancel", req.GetName()) + + // 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...) + return 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(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + 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("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *vertexRagRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/operations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// WaitOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagRESTClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:wait", req.GetName()) + + params := url.Values{} + if req.GetTimeout() != nil { + timeout, err := protojson.Marshal(req.GetTimeout()) + if err != nil { + return nil, err + } + params.Add("timeout", string(timeout[1:len(timeout)-1])) + } + + 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...) + opts = append((*c.CallOptions).WaitOperation[0:len((*c.CallOptions).WaitOperation):len((*c.CallOptions).WaitOperation)], opts...) + 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(), nil) + 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 + } + return resp, nil +} diff --git a/aiplatform/apiv1beta1/vertex_rag_client_example_test.go b/aiplatform/apiv1beta1/vertex_rag_client_example_test.go new file mode 100644 index 000000000000..2fb108d60362 --- /dev/null +++ b/aiplatform/apiv1beta1/vertex_rag_client_example_test.go @@ -0,0 +1,357 @@ +// 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/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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 ExampleNewVertexRagRESTClient() { + 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.NewVertexRagRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +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/apiv1beta1/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/apiv1beta1/vertex_rag_data_client.go b/aiplatform/apiv1beta1/vertex_rag_data_client.go new file mode 100755 index 000000000000..42f1301bba02 --- /dev/null +++ b/aiplatform/apiv1beta1/vertex_rag_data_client.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 +// +// 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 ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newVertexRagDataClientHook clientHook + +// VertexRagDataCallOptions contains the retry settings for each method of VertexRagDataClient. +type VertexRagDataCallOptions struct { + CreateRagCorpus []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(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultVertexRagDataCallOptions() *VertexRagDataCallOptions { + return &VertexRagDataCallOptions{ + CreateRagCorpus: []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 defaultVertexRagDataRESTCallOptions() *VertexRagDataCallOptions { + return &VertexRagDataCallOptions{ + CreateRagCorpus: []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 + 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) +} + +// 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() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type vertexRagDataRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // 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 + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing VertexRagDataClient + CallOptions **VertexRagDataCallOptions +} + +// NewVertexRagDataRESTClient creates a new vertex rag data service rest client. +// +// A service for managing user data for RAG. +func NewVertexRagDataRESTClient(ctx context.Context, opts ...option.ClientOption) (*VertexRagDataClient, error) { + clientOpts := append(defaultVertexRagDataRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultVertexRagDataRESTCallOptions() + c := &vertexRagDataRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &VertexRagDataClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultVertexRagDataRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://aiplatform.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://aiplatform.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://aiplatform.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://aiplatform.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// 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 *vertexRagDataRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + 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 *vertexRagDataRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *vertexRagDataRESTClient) Connection() *grpc.ClientConn { + return nil +} +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) 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 +} + +// CreateRagCorpus creates a RagCorpus. +func (c *vertexRagDataRESTClient) CreateRagCorpus(ctx context.Context, req *aiplatformpb.CreateRagCorpusRequest, opts ...gax.CallOption) (*CreateRagCorpusOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetRagCorpus() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/ragCorpora", req.GetParent()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + 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("/ui/%s", resp.GetName()) + return &CreateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetRagCorpus gets a RagCorpus. +func (c *vertexRagDataRESTClient) GetRagCorpus(ctx context.Context, req *aiplatformpb.GetRagCorpusRequest, opts ...gax.CallOption) (*aiplatformpb.RagCorpus, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetRagCorpus[0:len((*c.CallOptions).GetRagCorpus):len((*c.CallOptions).GetRagCorpus)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.RagCorpus{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListRagCorpora lists RagCorpora in a Location. +func (c *vertexRagDataRESTClient) ListRagCorpora(ctx context.Context, req *aiplatformpb.ListRagCorporaRequest, opts ...gax.CallOption) *RagCorpusIterator { + it := &RagCorpusIterator{} + req = proto.Clone(req).(*aiplatformpb.ListRagCorporaRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/ragCorpora", req.GetParent()) + + params := url.Values{} + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// DeleteRagCorpus deletes a RagCorpus. +func (c *vertexRagDataRESTClient) DeleteRagCorpus(ctx context.Context, req *aiplatformpb.DeleteRagCorpusRequest, opts ...gax.CallOption) (*DeleteRagCorpusOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + params := url.Values{} + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + 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("DELETE", baseUrl.String(), nil) + 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("/ui/%s", resp.GetName()) + return &DeleteRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UploadRagFile upload a file into a RagCorpus. +func (c *vertexRagDataRESTClient) UploadRagFile(ctx context.Context, req *aiplatformpb.UploadRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.UploadRagFileResponse, 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("/v1beta1/%v/ragFiles:upload", req.GetParent()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UploadRagFile[0:len((*c.CallOptions).UploadRagFile):len((*c.CallOptions).UploadRagFile)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.UploadRagFileResponse{} + 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 + } + return resp, nil +} + +// ImportRagFiles import files from Google Cloud Storage or Google Drive into a RagCorpus. +func (c *vertexRagDataRESTClient) ImportRagFiles(ctx context.Context, req *aiplatformpb.ImportRagFilesRequest, opts ...gax.CallOption) (*ImportRagFilesOperation, 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("/v1beta1/%v/ragFiles:import", req.GetParent()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + 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("/ui/%s", resp.GetName()) + return &ImportRagFilesOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetRagFile gets a RagFile. +func (c *vertexRagDataRESTClient) GetRagFile(ctx context.Context, req *aiplatformpb.GetRagFileRequest, opts ...gax.CallOption) (*aiplatformpb.RagFile, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetRagFile[0:len((*c.CallOptions).GetRagFile):len((*c.CallOptions).GetRagFile)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &aiplatformpb.RagFile{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListRagFiles lists RagFiles in a RagCorpus. +func (c *vertexRagDataRESTClient) ListRagFiles(ctx context.Context, req *aiplatformpb.ListRagFilesRequest, opts ...gax.CallOption) *RagFileIterator { + it := &RagFileIterator{} + req = proto.Clone(req).(*aiplatformpb.ListRagFilesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v/ragFiles", req.GetParent()) + + params := url.Values{} + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// DeleteRagFile deletes a RagFile. +func (c *vertexRagDataRESTClient) DeleteRagFile(ctx context.Context, req *aiplatformpb.DeleteRagFileRequest, opts ...gax.CallOption) (*DeleteRagFileOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName()) + + // 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("DELETE", baseUrl.String(), nil) + 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("/ui/%s", resp.GetName()) + return &DeleteRagFileOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetLocation gets information about a location. +func (c *vertexRagDataRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +func (c *vertexRagDataRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/locations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// 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 *vertexRagDataRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:getIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *vertexRagDataRESTClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, 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("/v1beta1/%v:setIamPolicy", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.Policy{} + 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 + } + return resp, nil +} + +// 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 *vertexRagDataRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, 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("/v1beta1/%v:testIamPermissions", req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &iampb.TestIamPermissionsResponse{} + 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 + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagDataRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:cancel", req.GetName()) + + // 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...) + return 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(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagDataRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + 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() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagDataRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v", req.GetName()) + + // 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...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + 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("GET", baseUrl.String(), nil) + 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 + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *vertexRagDataRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + 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) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/ui/%v/operations", req.GetName()) + + params := url.Values{} + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + 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 + } + 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 +} + +// WaitOperation is a utility method from google.longrunning.Operations. +func (c *vertexRagDataRESTClient) WaitOperation(ctx context.Context, req *longrunningpb.WaitOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/ui/%v:wait", req.GetName()) + + params := url.Values{} + if req.GetTimeout() != nil { + timeout, err := protojson.Marshal(req.GetTimeout()) + if err != nil { + return nil, err + } + params.Add("timeout", string(timeout[1:len(timeout)-1])) + } + + 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...) + opts = append((*c.CallOptions).WaitOperation[0:len((*c.CallOptions).WaitOperation):len((*c.CallOptions).WaitOperation)], opts...) + 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(), nil) + 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 + } + 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}), + } +} + +// 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 *vertexRagDataRESTClient) CreateRagCorpusOperation(name string) *CreateRagCorpusOperation { + override := fmt.Sprintf("/ui/%s", name) + return &CreateRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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}), + } +} + +// 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 *vertexRagDataRESTClient) DeleteRagCorpusOperation(name string) *DeleteRagCorpusOperation { + override := fmt.Sprintf("/ui/%s", name) + return &DeleteRagCorpusOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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}), + } +} + +// 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 *vertexRagDataRESTClient) DeleteRagFileOperation(name string) *DeleteRagFileOperation { + override := fmt.Sprintf("/ui/%s", name) + return &DeleteRagFileOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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}), + } +} + +// 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 *vertexRagDataRESTClient) ImportRagFilesOperation(name string) *ImportRagFilesOperation { + override := fmt.Sprintf("/ui/%s", name) + return &ImportRagFilesOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/aiplatform/apiv1beta1/vertex_rag_data_client_example_test.go b/aiplatform/apiv1beta1/vertex_rag_data_client_example_test.go new file mode 100644 index 000000000000..5864db27d7dd --- /dev/null +++ b/aiplatform/apiv1beta1/vertex_rag_data_client_example_test.go @@ -0,0 +1,597 @@ +// 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/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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 ExampleNewVertexRagDataRESTClient() { + 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.NewVertexRagDataRESTClient(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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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/apiv1beta1/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_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/apiv1beta1/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/ai/generativelanguage/apiv1beta/FileClient/CreateFile/main.go b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/CreateFile/main.go new file mode 100644 index 000000000000..3a1a6e9020d5 --- /dev/null +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/CreateFile/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 generativelanguage_v1beta_generated_FileService_CreateFile_sync] + +package main + +import ( + "context" + + generativelanguage "cloud.google.com/go/ai/generativelanguage/apiv1beta" + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" +) + +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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.CreateFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#CreateFileRequest. + } + resp, err := c.CreateFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END generativelanguage_v1beta_generated_FileService_CreateFile_sync] diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/DeleteFile/main.go b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/DeleteFile/main.go new file mode 100644 index 000000000000..bbcf80017928 --- /dev/null +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/DeleteFile/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 generativelanguage_v1beta_generated_FileService_DeleteFile_sync] + +package main + +import ( + "context" + + generativelanguage "cloud.google.com/go/ai/generativelanguage/apiv1beta" + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" +) + +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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.DeleteFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#DeleteFileRequest. + } + err = c.DeleteFile(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END generativelanguage_v1beta_generated_FileService_DeleteFile_sync] diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/GetFile/main.go b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/GetFile/main.go new file mode 100644 index 000000000000..0a58246e29a9 --- /dev/null +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/GetFile/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 generativelanguage_v1beta_generated_FileService_GetFile_sync] + +package main + +import ( + "context" + + generativelanguage "cloud.google.com/go/ai/generativelanguage/apiv1beta" + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" +) + +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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.GetFileRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#GetFileRequest. + } + resp, err := c.GetFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END generativelanguage_v1beta_generated_FileService_GetFile_sync] diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/ListFiles/main.go b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/ListFiles/main.go new file mode 100644 index 000000000000..7c66d7008eb2 --- /dev/null +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/FileClient/ListFiles/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 generativelanguage_v1beta_generated_FileService_ListFiles_sync] + +package main + +import ( + "context" + + generativelanguage "cloud.google.com/go/ai/generativelanguage/apiv1beta" + generativelanguagepb "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb" + "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 := generativelanguage.NewFileClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &generativelanguagepb.ListFilesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb#ListFilesRequest. + } + it := c.ListFiles(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.(*generativelanguagepb.ListFilesResponse) + } +} + +// [END generativelanguage_v1beta_generated_FileService_ListFiles_sync] diff --git a/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json b/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json index 41a4e066c9a1..43de426093dc 100644 --- a/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json +++ b/internal/generated/snippets/ai/generativelanguage/apiv1beta/snippet_metadata.google.ai.generativelanguage.v1beta.json @@ -103,6 +103,189 @@ } ] }, + { + "regionTag": "generativelanguage_v1beta_generated_FileService_CreateFile_sync", + "title": "generativelanguage CreateFile Sample", + "description": "CreateFile creates a `File`.", + "file": "FileClient/CreateFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateFile", + "fullName": "google.ai.generativelanguage.v1beta.FileClient.CreateFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "generativelanguagepb.CreateFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*generativelanguagepb.CreateFileResponse", + "client": { + "shortName": "FileClient", + "fullName": "google.ai.generativelanguage.v1beta.FileClient" + }, + "method": { + "shortName": "CreateFile", + "fullName": "google.ai.generativelanguage.v1beta.FileService.CreateFile", + "service": { + "shortName": "FileService", + "fullName": "google.ai.generativelanguage.v1beta.FileService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "generativelanguage_v1beta_generated_FileService_DeleteFile_sync", + "title": "generativelanguage DeleteFile Sample", + "description": "DeleteFile deletes the `File`.", + "file": "FileClient/DeleteFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteFile", + "fullName": "google.ai.generativelanguage.v1beta.FileClient.DeleteFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "generativelanguagepb.DeleteFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "FileClient", + "fullName": "google.ai.generativelanguage.v1beta.FileClient" + }, + "method": { + "shortName": "DeleteFile", + "fullName": "google.ai.generativelanguage.v1beta.FileService.DeleteFile", + "service": { + "shortName": "FileService", + "fullName": "google.ai.generativelanguage.v1beta.FileService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "generativelanguage_v1beta_generated_FileService_GetFile_sync", + "title": "generativelanguage GetFile Sample", + "description": "GetFile gets the metadata for the given `File`.", + "file": "FileClient/GetFile/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetFile", + "fullName": "google.ai.generativelanguage.v1beta.FileClient.GetFile", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "generativelanguagepb.GetFileRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*generativelanguagepb.File", + "client": { + "shortName": "FileClient", + "fullName": "google.ai.generativelanguage.v1beta.FileClient" + }, + "method": { + "shortName": "GetFile", + "fullName": "google.ai.generativelanguage.v1beta.FileService.GetFile", + "service": { + "shortName": "FileService", + "fullName": "google.ai.generativelanguage.v1beta.FileService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "generativelanguage_v1beta_generated_FileService_ListFiles_sync", + "title": "generativelanguage ListFiles Sample", + "description": "ListFiles lists the metadata for `File`s owned by the requesting project.", + "file": "FileClient/ListFiles/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListFiles", + "fullName": "google.ai.generativelanguage.v1beta.FileClient.ListFiles", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "generativelanguagepb.ListFilesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "FileIterator", + "client": { + "shortName": "FileClient", + "fullName": "google.ai.generativelanguage.v1beta.FileClient" + }, + "method": { + "shortName": "ListFiles", + "fullName": "google.ai.generativelanguage.v1beta.FileService.ListFiles", + "service": { + "shortName": "FileService", + "fullName": "google.ai.generativelanguage.v1beta.FileService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, { "regionTag": "generativelanguage_v1beta_generated_GenerativeService_BatchEmbedContents_sync", "title": "generativelanguage BatchEmbedContents Sample", diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/AssignNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/AssignNotebookRuntime/main.go new file mode 100644 index 000000000000..a5b24eb05d47 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/AssignNotebookRuntime/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_NotebookService_AssignNotebookRuntime_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AssignNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#AssignNotebookRuntimeRequest. + } + op, err := c.AssignNotebookRuntime(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_NotebookService_AssignNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/CancelOperation/main.go new file mode 100644 index 000000000000..fb43bb0d6e86 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/CreateNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/CreateNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..d05e562d6d0c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/CreateNotebookRuntimeTemplate/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_NotebookService_CreateNotebookRuntimeTemplate_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreateNotebookRuntimeTemplateRequest. + } + op, err := c.CreateNotebookRuntimeTemplate(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_NotebookService_CreateNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntime/main.go new file mode 100644 index 000000000000..ca748e2ea7cc --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntime/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_NotebookService_DeleteNotebookRuntime_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteNotebookRuntimeRequest. + } + op, err := c.DeleteNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_NotebookService_DeleteNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..67e75526c6ae --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteNotebookRuntimeTemplate/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_NotebookService_DeleteNotebookRuntimeTemplate_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteNotebookRuntimeTemplateRequest. + } + op, err := c.DeleteNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_NotebookService_DeleteNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/DeleteOperation/main.go new file mode 100644 index 000000000000..6399cbd5fbd2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..9f8cb5f0ccd0 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetLocation/main.go new file mode 100644 index 000000000000..69bfc2239ae1 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntime/main.go new file mode 100644 index 000000000000..e02da6e6b589 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntime/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_NotebookService_GetNotebookRuntime_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetNotebookRuntimeRequest. + } + resp, err := c.GetNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_NotebookService_GetNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..fccfc9224f31 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetNotebookRuntimeTemplate/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_NotebookService_GetNotebookRuntimeTemplate_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetNotebookRuntimeTemplateRequest. + } + resp, err := c.GetNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_NotebookService_GetNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/GetOperation/main.go new file mode 100644 index 000000000000..d0cbc3bac1fa --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListLocations/main.go new file mode 100644 index 000000000000..b052fef79228 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimeTemplates/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimeTemplates/main.go new file mode 100644 index 000000000000..e1741ed56f57 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimeTemplates/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_NotebookService_ListNotebookRuntimeTemplates_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimeTemplatesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListNotebookRuntimeTemplatesRequest. + } + it := c.ListNotebookRuntimeTemplates(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.ListNotebookRuntimeTemplatesResponse) + } +} + +// [END aiplatform_v1_generated_NotebookService_ListNotebookRuntimeTemplates_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimes/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimes/main.go new file mode 100644 index 000000000000..2f8e229a275d --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListNotebookRuntimes/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_NotebookService_ListNotebookRuntimes_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListNotebookRuntimesRequest. + } + it := c.ListNotebookRuntimes(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.ListNotebookRuntimesResponse) + } +} + +// [END aiplatform_v1_generated_NotebookService_ListNotebookRuntimes_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/ListOperations/main.go new file mode 100644 index 000000000000..b7527b0f35d5 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..e4725e23e0f8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/StartNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/StartNotebookRuntime/main.go new file mode 100644 index 000000000000..f5640f89c4a2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/StartNotebookRuntime/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_NotebookService_StartNotebookRuntime_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.StartNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#StartNotebookRuntimeRequest. + } + op, err := c.StartNotebookRuntime(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_NotebookService_StartNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..04f37830bff6 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/UpgradeNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/UpgradeNotebookRuntime/main.go new file mode 100644 index 000000000000..9277e67fe59f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/UpgradeNotebookRuntime/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_NotebookService_UpgradeNotebookRuntime_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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpgradeNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpgradeNotebookRuntimeRequest. + } + op, err := c.UpgradeNotebookRuntime(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_NotebookService_UpgradeNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/NotebookClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/WaitOperation/main.go new file mode 100644 index 000000000000..b0414c769b9c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/NotebookClient/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_NotebookService_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.NewNotebookClient(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_NotebookService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CancelOperation/main.go new file mode 100644 index 000000000000..dc4581ee227d --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CreatePersistentResource/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CreatePersistentResource/main.go new file mode 100644 index 000000000000..06aa342b3495 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/CreatePersistentResource/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_PersistentResourceService_CreatePersistentResource_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreatePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#CreatePersistentResourceRequest. + } + op, err := c.CreatePersistentResource(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_PersistentResourceService_CreatePersistentResource_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeleteOperation/main.go new file mode 100644 index 000000000000..e298da0be500 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeletePersistentResource/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeletePersistentResource/main.go new file mode 100644 index 000000000000..a2a17b3e4d07 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/DeletePersistentResource/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_PersistentResourceService_DeletePersistentResource_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeletePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeletePersistentResourceRequest. + } + op, err := c.DeletePersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1_generated_PersistentResourceService_DeletePersistentResource_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..b9fa4e76daf1 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetLocation/main.go new file mode 100644 index 000000000000..a3c2c3fab5d4 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetOperation/main.go new file mode 100644 index 000000000000..ce1f085195fc --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetPersistentResource/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetPersistentResource/main.go new file mode 100644 index 000000000000..11ba96c25c74 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/GetPersistentResource/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_PersistentResourceService_GetPersistentResource_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetPersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#GetPersistentResourceRequest. + } + resp, err := c.GetPersistentResource(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_PersistentResourceService_GetPersistentResource_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListLocations/main.go new file mode 100644 index 000000000000..1bedc9f3cdd2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListOperations/main.go new file mode 100644 index 000000000000..abdd0123e5c8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListPersistentResources/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListPersistentResources/main.go new file mode 100644 index 000000000000..cf1f3b665f6f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/ListPersistentResources/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_PersistentResourceService_ListPersistentResources_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListPersistentResourcesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#ListPersistentResourcesRequest. + } + it := c.ListPersistentResources(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.ListPersistentResourcesResponse) + } +} + +// [END aiplatform_v1_generated_PersistentResourceService_ListPersistentResources_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/RebootPersistentResource/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/RebootPersistentResource/main.go new file mode 100644 index 000000000000..be978140a919 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/RebootPersistentResource/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_PersistentResourceService_RebootPersistentResource_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.RebootPersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#RebootPersistentResourceRequest. + } + op, err := c.RebootPersistentResource(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_PersistentResourceService_RebootPersistentResource_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..6e77a47c217d --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..cb54d80cc913 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/UpdatePersistentResource/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/UpdatePersistentResource/main.go new file mode 100644 index 000000000000..9e9a2f9e7a94 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/UpdatePersistentResource/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_PersistentResourceService_UpdatePersistentResource_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.NewPersistentResourceClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpdatePersistentResourceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#UpdatePersistentResourceRequest. + } + op, err := c.UpdatePersistentResource(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_PersistentResourceService_UpdatePersistentResource_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/WaitOperation/main.go new file mode 100644 index 000000000000..bbca16c813ce --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/PersistentResourceClient/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_PersistentResourceService_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.NewPersistentResourceClient(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_PersistentResourceService_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 a9727c8097b0..2825e8f4266c 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 @@ -16346,6 +16346,1658 @@ } ] }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_AssignNotebookRuntime_sync", + "title": "aiplatform AssignNotebookRuntime Sample", + "description": "AssignNotebookRuntime assigns a NotebookRuntime to a user for a particular Notebook file. This\nmethod will either returns an existing assignment or generates a new one.", + "file": "NotebookClient/AssignNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "AssignNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.AssignNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.AssignNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "AssignNotebookRuntimeOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "AssignNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookService.AssignNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_CreateNotebookRuntimeTemplate_sync", + "title": "aiplatform CreateNotebookRuntimeTemplate Sample", + "description": "CreateNotebookRuntimeTemplate creates a NotebookRuntimeTemplate.", + "file": "NotebookClient/CreateNotebookRuntimeTemplate/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.CreateNotebookRuntimeTemplate", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreateNotebookRuntimeTemplateRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateNotebookRuntimeTemplateOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "CreateNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookService.CreateNotebookRuntimeTemplate", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_DeleteNotebookRuntime_sync", + "title": "aiplatform DeleteNotebookRuntime Sample", + "description": "DeleteNotebookRuntime deletes a NotebookRuntime.", + "file": "NotebookClient/DeleteNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.DeleteNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteNotebookRuntimeOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "DeleteNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_DeleteNotebookRuntimeTemplate_sync", + "title": "aiplatform DeleteNotebookRuntimeTemplate Sample", + "description": "DeleteNotebookRuntimeTemplate deletes a NotebookRuntimeTemplate.", + "file": "NotebookClient/DeleteNotebookRuntimeTemplate/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.DeleteNotebookRuntimeTemplate", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteNotebookRuntimeTemplateRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteNotebookRuntimeTemplateOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "DeleteNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookService.DeleteNotebookRuntimeTemplate", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_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": "NotebookClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "NotebookClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_GetNotebookRuntime_sync", + "title": "aiplatform GetNotebookRuntime Sample", + "description": "GetNotebookRuntime gets a NotebookRuntime.", + "file": "NotebookClient/GetNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.GetNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.NotebookRuntime", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "GetNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_GetNotebookRuntimeTemplate_sync", + "title": "aiplatform GetNotebookRuntimeTemplate Sample", + "description": "GetNotebookRuntimeTemplate gets a NotebookRuntimeTemplate.", + "file": "NotebookClient/GetNotebookRuntimeTemplate/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.GetNotebookRuntimeTemplate", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetNotebookRuntimeTemplateRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.NotebookRuntimeTemplate", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "GetNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1.NotebookService.GetNotebookRuntimeTemplate", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "NotebookClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_ListNotebookRuntimeTemplates_sync", + "title": "aiplatform ListNotebookRuntimeTemplates Sample", + "description": "ListNotebookRuntimeTemplates lists NotebookRuntimeTemplates in a Location.", + "file": "NotebookClient/ListNotebookRuntimeTemplates/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListNotebookRuntimeTemplates", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.ListNotebookRuntimeTemplates", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListNotebookRuntimeTemplatesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "NotebookRuntimeTemplateIterator", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "ListNotebookRuntimeTemplates", + "fullName": "google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimeTemplates", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_ListNotebookRuntimes_sync", + "title": "aiplatform ListNotebookRuntimes Sample", + "description": "ListNotebookRuntimes lists NotebookRuntimes in a Location.", + "file": "NotebookClient/ListNotebookRuntimes/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListNotebookRuntimes", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.ListNotebookRuntimes", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListNotebookRuntimesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "NotebookRuntimeIterator", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "ListNotebookRuntimes", + "fullName": "google.cloud.aiplatform.v1.NotebookService.ListNotebookRuntimes", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_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": "NotebookClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_StartNotebookRuntime_sync", + "title": "aiplatform StartNotebookRuntime Sample", + "description": "StartNotebookRuntime starts a NotebookRuntime.", + "file": "NotebookClient/StartNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "StartNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.StartNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.StartNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "StartNotebookRuntimeOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "StartNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookService.StartNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_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": "NotebookClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_NotebookService_UpgradeNotebookRuntime_sync", + "title": "aiplatform UpgradeNotebookRuntime Sample", + "description": "UpgradeNotebookRuntime upgrades a NotebookRuntime.", + "file": "NotebookClient/UpgradeNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpgradeNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.UpgradeNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.UpgradeNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpgradeNotebookRuntimeOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "method": { + "shortName": "UpgradeNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1.NotebookService.UpgradeNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_NotebookService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1.NotebookClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1.NotebookClient" + }, + "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_PersistentResourceService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_CreatePersistentResource_sync", + "title": "aiplatform CreatePersistentResource Sample", + "description": "CreatePersistentResource creates a PersistentResource.", + "file": "PersistentResourceClient/CreatePersistentResource/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreatePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.CreatePersistentResource", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreatePersistentResourceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreatePersistentResourceOperation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "CreatePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.CreatePersistentResource", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_DeletePersistentResource_sync", + "title": "aiplatform DeletePersistentResource Sample", + "description": "DeletePersistentResource deletes a PersistentResource.", + "file": "PersistentResourceClient/DeletePersistentResource/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeletePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.DeletePersistentResource", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeletePersistentResourceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeletePersistentResourceOperation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "DeletePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.DeletePersistentResource", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_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": "PersistentResourceClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "PersistentResourceClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_GetPersistentResource_sync", + "title": "aiplatform GetPersistentResource Sample", + "description": "GetPersistentResource gets a PersistentResource.", + "file": "PersistentResourceClient/GetPersistentResource/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetPersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.GetPersistentResource", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetPersistentResourceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.PersistentResource", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "GetPersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.GetPersistentResource", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "PersistentResourceClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_ListPersistentResources_sync", + "title": "aiplatform ListPersistentResources Sample", + "description": "ListPersistentResources lists PersistentResources in a Location.", + "file": "PersistentResourceClient/ListPersistentResources/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListPersistentResources", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.ListPersistentResources", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListPersistentResourcesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "PersistentResourceIterator", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "ListPersistentResources", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.ListPersistentResources", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_RebootPersistentResource_sync", + "title": "aiplatform RebootPersistentResource Sample", + "description": "RebootPersistentResource reboots a PersistentResource.", + "file": "PersistentResourceClient/RebootPersistentResource/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RebootPersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.RebootPersistentResource", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.RebootPersistentResourceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "RebootPersistentResourceOperation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "RebootPersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.RebootPersistentResource", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_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": "PersistentResourceClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_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": "PersistentResourceClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PersistentResourceService_UpdatePersistentResource_sync", + "title": "aiplatform UpdatePersistentResource Sample", + "description": "UpdatePersistentResource updates a PersistentResource.", + "file": "PersistentResourceClient/UpdatePersistentResource/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdatePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.UpdatePersistentResource", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.UpdatePersistentResourceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpdatePersistentResourceOperation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "method": { + "shortName": "UpdatePersistentResource", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService.UpdatePersistentResource", + "service": { + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1_generated_PersistentResourceService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1.PersistentResourceClient" + }, + "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_PipelineService_BatchCancelPipelineJobs_sync", "title": "aiplatform BatchCancelPipelineJobs Sample", diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/AssignNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/AssignNotebookRuntime/main.go new file mode 100644 index 000000000000..37260df0829b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/AssignNotebookRuntime/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_v1beta1_generated_NotebookService_AssignNotebookRuntime_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.AssignNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#AssignNotebookRuntimeRequest. + } + op, err := c.AssignNotebookRuntime(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_v1beta1_generated_NotebookService_AssignNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CancelOperation/main.go new file mode 100644 index 000000000000..ad2f23d40353 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_CancelOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CreateNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CreateNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..f50e6317cf24 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/CreateNotebookRuntimeTemplate/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_v1beta1_generated_NotebookService_CreateNotebookRuntimeTemplate_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#CreateNotebookRuntimeTemplateRequest. + } + op, err := c.CreateNotebookRuntimeTemplate(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_v1beta1_generated_NotebookService_CreateNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntime/main.go new file mode 100644 index 000000000000..1cb7a097076e --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntime/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_v1beta1_generated_NotebookService_DeleteNotebookRuntime_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#DeleteNotebookRuntimeRequest. + } + op, err := c.DeleteNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1beta1_generated_NotebookService_DeleteNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..07a709fd57cc --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteNotebookRuntimeTemplate/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_v1beta1_generated_NotebookService_DeleteNotebookRuntimeTemplate_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#DeleteNotebookRuntimeTemplateRequest. + } + op, err := c.DeleteNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1beta1_generated_NotebookService_DeleteNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/DeleteOperation/main.go new file mode 100644 index 000000000000..457d9ba74399 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_DeleteOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..ac7dbb3af4b4 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_GetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetLocation/main.go new file mode 100644 index 000000000000..969591f9859c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_GetLocation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntime/main.go new file mode 100644 index 000000000000..d71f5c1af2b7 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntime/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_v1beta1_generated_NotebookService_GetNotebookRuntime_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#GetNotebookRuntimeRequest. + } + resp, err := c.GetNotebookRuntime(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_NotebookService_GetNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntimeTemplate/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntimeTemplate/main.go new file mode 100644 index 000000000000..217d2ecb9fa6 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetNotebookRuntimeTemplate/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_v1beta1_generated_NotebookService_GetNotebookRuntimeTemplate_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetNotebookRuntimeTemplateRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#GetNotebookRuntimeTemplateRequest. + } + resp, err := c.GetNotebookRuntimeTemplate(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_NotebookService_GetNotebookRuntimeTemplate_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/GetOperation/main.go new file mode 100644 index 000000000000..75227640fe3a --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_GetOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListLocations/main.go new file mode 100644 index 000000000000..69b6e8ee53c4 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_ListLocations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + "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.NewNotebookClient(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_v1beta1_generated_NotebookService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimeTemplates/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimeTemplates/main.go new file mode 100644 index 000000000000..938e42fecd66 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimeTemplates/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_v1beta1_generated_NotebookService_ListNotebookRuntimeTemplates_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimeTemplatesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ListNotebookRuntimeTemplatesRequest. + } + it := c.ListNotebookRuntimeTemplates(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.ListNotebookRuntimeTemplatesResponse) + } +} + +// [END aiplatform_v1beta1_generated_NotebookService_ListNotebookRuntimeTemplates_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimes/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimes/main.go new file mode 100644 index 000000000000..d699f8156310 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListNotebookRuntimes/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_v1beta1_generated_NotebookService_ListNotebookRuntimes_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListNotebookRuntimesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ListNotebookRuntimesRequest. + } + it := c.ListNotebookRuntimes(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.ListNotebookRuntimesResponse) + } +} + +// [END aiplatform_v1beta1_generated_NotebookService_ListNotebookRuntimes_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/ListOperations/main.go new file mode 100644 index 000000000000..0a6a7902061b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_ListOperations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..ef3b6dd3d883 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_SetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/StartNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/StartNotebookRuntime/main.go new file mode 100644 index 000000000000..a744317ecb44 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/StartNotebookRuntime/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_v1beta1_generated_NotebookService_StartNotebookRuntime_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.StartNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#StartNotebookRuntimeRequest. + } + op, err := c.StartNotebookRuntime(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_v1beta1_generated_NotebookService_StartNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..4777e7d9a849 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_TestIamPermissions_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/UpgradeNotebookRuntime/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/UpgradeNotebookRuntime/main.go new file mode 100644 index 000000000000..927f7b337be2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/UpgradeNotebookRuntime/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_v1beta1_generated_NotebookService_UpgradeNotebookRuntime_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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.NewNotebookClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.UpgradeNotebookRuntimeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#UpgradeNotebookRuntimeRequest. + } + op, err := c.UpgradeNotebookRuntime(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_v1beta1_generated_NotebookService_UpgradeNotebookRuntime_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/WaitOperation/main.go new file mode 100644 index 000000000000..1b08a6031a2c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/NotebookClient/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_v1beta1_generated_NotebookService_WaitOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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.NewNotebookClient(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_v1beta1_generated_NotebookService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/CancelOperation/main.go new file mode 100644 index 000000000000..bb9b42ab33ad --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_CancelOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/DeleteOperation/main.go new file mode 100644 index 000000000000..75b512c4339d --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_DeleteOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..1dbf6deebef8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_GetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetLocation/main.go new file mode 100644 index 000000000000..069d1e73166c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_GetLocation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/GetOperation/main.go new file mode 100644 index 000000000000..83796a358db8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_GetOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListLocations/main.go new file mode 100644 index 000000000000..e869345c3ecd --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_ListLocations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + "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_v1beta1_generated_VertexRagService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/ListOperations/main.go new file mode 100644 index 000000000000..ac3e4a5b2602 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_ListOperations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/RetrieveContexts/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/RetrieveContexts/main.go new file mode 100644 index 000000000000..e942743301a4 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_RetrieveContexts_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/aiplatformpb#RetrieveContextsRequest. + } + resp, err := c.RetrieveContexts(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_VertexRagService_RetrieveContexts_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..7a0d044277ac --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_SetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..5ef145276ef9 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_TestIamPermissions_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagClient/WaitOperation/main.go new file mode 100644 index 000000000000..729cec77e1ce --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagService_WaitOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CancelOperation/main.go new file mode 100644 index 000000000000..ad7fe7430c57 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_CancelOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CreateRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/CreateRagCorpus/main.go new file mode 100644 index 000000000000..1e8dc68744d1 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_CreateRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_CreateRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteOperation/main.go new file mode 100644 index 000000000000..eac31a57726c --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_DeleteOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagCorpus/main.go new file mode 100644 index 000000000000..c953eb63c0fd --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_DeleteRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_DeleteRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/DeleteRagFile/main.go new file mode 100644 index 000000000000..7e11cc576322 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_DeleteRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_DeleteRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..dbc9161c1e7f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_GetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetLocation/main.go new file mode 100644 index 000000000000..33c595648024 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_GetLocation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetOperation/main.go new file mode 100644 index 000000000000..e5ba4f43d100 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_GetOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagCorpus/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagCorpus/main.go new file mode 100644 index 000000000000..3e1742aa4547 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_GetRagCorpus_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/aiplatformpb#GetRagCorpusRequest. + } + resp, err := c.GetRagCorpus(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_VertexRagDataService_GetRagCorpus_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/GetRagFile/main.go new file mode 100644 index 000000000000..e2cd573588d2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_GetRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/aiplatformpb#GetRagFileRequest. + } + resp, err := c.GetRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_VertexRagDataService_GetRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ImportRagFiles/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ImportRagFiles/main.go new file mode 100644 index 000000000000..d8ed6da6202b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ImportRagFiles_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ImportRagFiles_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListLocations/main.go new file mode 100644 index 000000000000..e18f938a5428 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListLocations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + "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_v1beta1_generated_VertexRagDataService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListOperations/main.go new file mode 100644 index 000000000000..5122d2814e7f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListOperations_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagCorpora/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagCorpora/main.go new file mode 100644 index 000000000000..a6ed2b56ecdc --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListRagCorpora_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListRagCorpora_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagFiles/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/ListRagFiles/main.go new file mode 100644 index 000000000000..f28c5215e27e --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListRagFiles_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/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_v1beta1_generated_VertexRagDataService_ListRagFiles_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..8d8ddd038dd2 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_SetIamPolicy_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..717eb0123b30 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_TestIamPermissions_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/UploadRagFile/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/UploadRagFile/main.go new file mode 100644 index 000000000000..15c7c5cfe0f7 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_UploadRagFile_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + aiplatformpb "cloud.google.com/go/aiplatform/apiv1beta1/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/apiv1beta1/aiplatformpb#UploadRagFileRequest. + } + resp, err := c.UploadRagFile(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_VertexRagDataService_UploadRagFile_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VertexRagDataClient/WaitOperation/main.go new file mode 100644 index 000000000000..a7489a41519b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/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_v1beta1_generated_VertexRagDataService_WaitOperation_sync] + +package main + +import ( + "context" + + aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" + 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_v1beta1_generated_VertexRagDataService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json index 6cc5a140b771..6d5871e18663 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json +++ b/internal/generated/snippets/aiplatform/apiv1beta1/snippet_metadata.google.cloud.aiplatform.v1beta1.json @@ -18131,14 +18131,60 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_CancelOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_AssignNotebookRuntime_sync", + "title": "aiplatform AssignNotebookRuntime Sample", + "description": "AssignNotebookRuntime assigns a NotebookRuntime to a user for a particular Notebook file. This\nmethod will either returns an existing assignment or generates a new one.", + "file": "NotebookClient/AssignNotebookRuntime/main.go", + "language": "GO", + "clientMethod": { + "shortName": "AssignNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.AssignNotebookRuntime", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.AssignNotebookRuntimeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "AssignNotebookRuntimeOperation", + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" + }, + "method": { + "shortName": "AssignNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.AssignNotebookRuntime", + "service": { + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_NotebookService_CancelOperation_sync", "title": "aiplatform CancelOperation Sample", "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "PersistentResourceClient/CancelOperation/main.go", + "file": "NotebookClient/CancelOperation/main.go", "language": "GO", "clientMethod": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.CancelOperation", "parameters": [ { "type": "context.Context", @@ -18154,8 +18200,8 @@ } ], "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { "shortName": "CancelOperation", @@ -18176,21 +18222,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_CreatePersistentResource_sync", - "title": "aiplatform CreatePersistentResource Sample", - "description": "CreatePersistentResource creates a PersistentResource.", - "file": "PersistentResourceClient/CreatePersistentResource/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_CreateNotebookRuntimeTemplate_sync", + "title": "aiplatform CreateNotebookRuntimeTemplate Sample", + "description": "CreateNotebookRuntimeTemplate creates a NotebookRuntimeTemplate.", + "file": "NotebookClient/CreateNotebookRuntimeTemplate/main.go", "language": "GO", "clientMethod": { - "shortName": "CreatePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.CreatePersistentResource", + "shortName": "CreateNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.CreateNotebookRuntimeTemplate", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreatePersistentResourceRequest", + "type": "aiplatformpb.CreateNotebookRuntimeTemplateRequest", "name": "req" }, { @@ -18198,17 +18244,17 @@ "name": "opts" } ], - "resultType": "CreatePersistentResourceOperation", + "resultType": "CreateNotebookRuntimeTemplateOperation", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "CreatePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource", + "shortName": "CreateNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.CreateNotebookRuntimeTemplate", "service": { - "shortName": "PersistentResourceService", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18222,21 +18268,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "PersistentResourceClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_DeleteNotebookRuntime_sync", + "title": "aiplatform DeleteNotebookRuntime Sample", + "description": "DeleteNotebookRuntime deletes a NotebookRuntime.", + "file": "NotebookClient/DeleteNotebookRuntime/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.DeleteOperation", + "shortName": "DeleteNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.DeleteNotebookRuntime", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.DeleteNotebookRuntimeRequest", "name": "req" }, { @@ -18244,16 +18290,17 @@ "name": "opts" } ], + "resultType": "DeleteNotebookRuntimeOperation", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "DeleteNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntime", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18261,27 +18308,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_DeletePersistentResource_sync", - "title": "aiplatform DeletePersistentResource Sample", - "description": "DeletePersistentResource deletes a PersistentResource.", - "file": "PersistentResourceClient/DeletePersistentResource/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_DeleteNotebookRuntimeTemplate_sync", + "title": "aiplatform DeleteNotebookRuntimeTemplate Sample", + "description": "DeleteNotebookRuntimeTemplate deletes a NotebookRuntimeTemplate.", + "file": "NotebookClient/DeleteNotebookRuntimeTemplate/main.go", "language": "GO", "clientMethod": { - "shortName": "DeletePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.DeletePersistentResource", + "shortName": "DeleteNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.DeleteNotebookRuntimeTemplate", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeletePersistentResourceRequest", + "type": "aiplatformpb.DeleteNotebookRuntimeTemplateRequest", "name": "req" }, { @@ -18289,17 +18336,17 @@ "name": "opts" } ], - "resultType": "DeletePersistentResourceOperation", + "resultType": "DeleteNotebookRuntimeTemplateOperation", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "DeletePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource", + "shortName": "DeleteNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.DeleteNotebookRuntimeTemplate", "service": { - "shortName": "PersistentResourceService", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18313,14 +18360,59 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" + }, + "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_v1beta1_generated_NotebookService_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": "PersistentResourceClient/GetIamPolicy/main.go", + "file": "NotebookClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.GetIamPolicy", "parameters": [ { "type": "context.Context", @@ -18337,8 +18429,8 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { "shortName": "GetIamPolicy", @@ -18359,14 +18451,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetLocation_sync", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_GetLocation_sync", "title": "aiplatform GetLocation Sample", "description": "GetLocation gets information about a location.", - "file": "PersistentResourceClient/GetLocation/main.go", + "file": "NotebookClient/GetLocation/main.go", "language": "GO", "clientMethod": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.GetLocation", "parameters": [ { "type": "context.Context", @@ -18383,8 +18475,8 @@ ], "resultType": "*locationpb.Location", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { "shortName": "GetLocation", @@ -18405,21 +18497,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "PersistentResourceClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_GetNotebookRuntime_sync", + "title": "aiplatform GetNotebookRuntime Sample", + "description": "GetNotebookRuntime gets a NotebookRuntime.", + "file": "NotebookClient/GetNotebookRuntime/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetOperation", + "shortName": "GetNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.GetNotebookRuntime", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.GetNotebookRuntimeRequest", "name": "req" }, { @@ -18427,17 +18519,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "*aiplatformpb.NotebookRuntime", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "GetNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntime", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18451,21 +18543,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetPersistentResource_sync", - "title": "aiplatform GetPersistentResource Sample", - "description": "GetPersistentResource gets a PersistentResource.", - "file": "PersistentResourceClient/GetPersistentResource/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_GetNotebookRuntimeTemplate_sync", + "title": "aiplatform GetNotebookRuntimeTemplate Sample", + "description": "GetNotebookRuntimeTemplate gets a NotebookRuntimeTemplate.", + "file": "NotebookClient/GetNotebookRuntimeTemplate/main.go", "language": "GO", "clientMethod": { - "shortName": "GetPersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetPersistentResource", + "shortName": "GetNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.GetNotebookRuntimeTemplate", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetPersistentResourceRequest", + "type": "aiplatformpb.GetNotebookRuntimeTemplateRequest", "name": "req" }, { @@ -18473,17 +18565,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.PersistentResource", + "resultType": "*aiplatformpb.NotebookRuntimeTemplate", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "GetPersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource", + "shortName": "GetNotebookRuntimeTemplate", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.GetNotebookRuntimeTemplate", "service": { - "shortName": "PersistentResourceService", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18497,21 +18589,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "PersistentResourceClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListLocations", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -18519,17 +18611,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -18537,27 +18629,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "PersistentResourceClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "NotebookClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListOperations", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -18565,17 +18657,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "LocationIterator", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -18589,21 +18681,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListPersistentResources_sync", - "title": "aiplatform ListPersistentResources Sample", - "description": "ListPersistentResources lists PersistentResources in a Location.", - "file": "PersistentResourceClient/ListPersistentResources/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_ListNotebookRuntimeTemplates_sync", + "title": "aiplatform ListNotebookRuntimeTemplates Sample", + "description": "ListNotebookRuntimeTemplates lists NotebookRuntimeTemplates in a Location.", + "file": "NotebookClient/ListNotebookRuntimeTemplates/main.go", "language": "GO", "clientMethod": { - "shortName": "ListPersistentResources", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListPersistentResources", + "shortName": "ListNotebookRuntimeTemplates", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.ListNotebookRuntimeTemplates", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListPersistentResourcesRequest", + "type": "aiplatformpb.ListNotebookRuntimeTemplatesRequest", "name": "req" }, { @@ -18611,17 +18703,17 @@ "name": "opts" } ], - "resultType": "PersistentResourceIterator", + "resultType": "NotebookRuntimeTemplateIterator", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "ListPersistentResources", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources", + "shortName": "ListNotebookRuntimeTemplates", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimeTemplates", "service": { - "shortName": "PersistentResourceService", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18635,21 +18727,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_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": "PersistentResourceClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_ListNotebookRuntimes_sync", + "title": "aiplatform ListNotebookRuntimes Sample", + "description": "ListNotebookRuntimes lists NotebookRuntimes in a Location.", + "file": "NotebookClient/ListNotebookRuntimes/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.SetIamPolicy", + "shortName": "ListNotebookRuntimes", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.ListNotebookRuntimes", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.ListNotebookRuntimesRequest", "name": "req" }, { @@ -18657,17 +18749,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "NotebookRuntimeIterator", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "ListNotebookRuntimes", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.ListNotebookRuntimes", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18675,27 +18767,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_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": "PersistentResourceClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.TestIamPermissions", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -18703,17 +18795,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "OperationIterator", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -18721,27 +18813,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_UpdatePersistentResource_sync", - "title": "aiplatform UpdatePersistentResource Sample", - "description": "UpdatePersistentResource updates a PersistentResource.", - "file": "PersistentResourceClient/UpdatePersistentResource/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_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": "NotebookClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdatePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.UpdatePersistentResource", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdatePersistentResourceRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -18749,17 +18841,17 @@ "name": "opts" } ], - "resultType": "UpdatePersistentResourceOperation", + "resultType": "*iampb.Policy", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "UpdatePersistentResource", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.UpdatePersistentResource", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "PersistentResourceService", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -18767,27 +18859,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "PersistentResourceClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_StartNotebookRuntime_sync", + "title": "aiplatform StartNotebookRuntime Sample", + "description": "StartNotebookRuntime starts a NotebookRuntime.", + "file": "NotebookClient/StartNotebookRuntime/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.WaitOperation", + "shortName": "StartNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.StartNotebookRuntime", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.StartNotebookRuntimeRequest", "name": "req" }, { @@ -18795,17 +18887,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "StartNotebookRuntimeOperation", "client": { - "shortName": "PersistentResourceClient", - "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "StartNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.StartNotebookRuntime", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18813,27 +18905,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_BatchCancelPipelineJobs_sync", - "title": "aiplatform BatchCancelPipelineJobs Sample", - "description": "BatchCancelPipelineJobs batch cancel PipelineJobs.\nFirstly the server will check if all the jobs are in non-terminal states,\nand skip the jobs that are already terminated.\nIf the operation failed, none of the pipeline jobs are cancelled.\nThe server will poll the states of all the pipeline jobs periodically\nto check the cancellation status.\nThis operation will return an LRO.", - "file": "PipelineClient/BatchCancelPipelineJobs/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_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": "NotebookClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchCancelPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.BatchCancelPipelineJobs", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchCancelPipelineJobsRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -18841,17 +18933,17 @@ "name": "opts" } ], - "resultType": "BatchCancelPipelineJobsOperation", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "BatchCancelPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -18859,27 +18951,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_BatchDeletePipelineJobs_sync", - "title": "aiplatform BatchDeletePipelineJobs Sample", - "description": "BatchDeletePipelineJobs batch deletes PipelineJobs\nThe Operation is atomic. If it fails, none of the PipelineJobs are deleted.\nIf it succeeds, all of the PipelineJobs are deleted.", - "file": "PipelineClient/BatchDeletePipelineJobs/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_UpgradeNotebookRuntime_sync", + "title": "aiplatform UpgradeNotebookRuntime Sample", + "description": "UpgradeNotebookRuntime upgrades a NotebookRuntime.", + "file": "NotebookClient/UpgradeNotebookRuntime/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchDeletePipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.BatchDeletePipelineJobs", + "shortName": "UpgradeNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.UpgradeNotebookRuntime", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchDeletePipelineJobsRequest", + "type": "aiplatformpb.UpgradeNotebookRuntimeRequest", "name": "req" }, { @@ -18887,17 +18979,17 @@ "name": "opts" } ], - "resultType": "BatchDeletePipelineJobsOperation", + "resultType": "UpgradeNotebookRuntimeOperation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "BatchDeletePipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs", + "shortName": "UpgradeNotebookRuntime", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService.UpgradeNotebookRuntime", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "NotebookService", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookService" } } }, @@ -18911,21 +19003,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_NotebookService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "NotebookClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelOperation", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -18933,13 +19025,14 @@ "name": "opts" } ], + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "NotebookClient", + "fullName": "google.cloud.aiplatform.v1beta1.NotebookClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { "shortName": "Operations", "fullName": "google.longrunning.Operations" @@ -18950,27 +19043,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelPipelineJob_sync", - "title": "aiplatform CancelPipelineJob Sample", - "description": "CancelPipelineJob cancels a PipelineJob.\nStarts asynchronous cancellation on the PipelineJob. The server\nmakes a best effort to cancel the pipeline, but success is not\nguaranteed. Clients can use\n[PipelineService.GetPipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob]\nor other methods to check whether the cancellation succeeded or whether the\npipeline completed despite cancellation. On successful cancellation,\nthe PipelineJob is not deleted; instead it becomes a pipeline with\na [PipelineJob.error][google.cloud.aiplatform.v1beta1.PipelineJob.error]\nvalue with a [google.rpc.Status.code][google.rpc.Status.code] of 1,\ncorresponding to `Code.CANCELLED`, and\n[PipelineJob.state][google.cloud.aiplatform.v1beta1.PipelineJob.state] is\nset to `CANCELLED`.", - "file": "PipelineClient/CancelPipelineJob/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelPipelineJob", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CancelPipelineJobRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -18979,15 +19072,15 @@ } ], "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "CancelPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob", + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -19001,21 +19094,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelTrainingPipeline_sync", - "title": "aiplatform CancelTrainingPipeline Sample", - "description": "CancelTrainingPipeline cancels a TrainingPipeline.\nStarts asynchronous cancellation on the TrainingPipeline. The server\nmakes a best effort to cancel the pipeline, but success is not\nguaranteed. Clients can use\n[PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline]\nor other methods to check whether the cancellation succeeded or whether the\npipeline completed despite cancellation. On successful cancellation,\nthe TrainingPipeline is not deleted; instead it becomes a pipeline with\na\n[TrainingPipeline.error][google.cloud.aiplatform.v1beta1.TrainingPipeline.error]\nvalue with a [google.rpc.Status.code][google.rpc.Status.code] of 1,\ncorresponding to `Code.CANCELLED`, and\n[TrainingPipeline.state][google.cloud.aiplatform.v1beta1.TrainingPipeline.state]\nis set to `CANCELLED`.", - "file": "PipelineClient/CancelTrainingPipeline/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_CreatePersistentResource_sync", + "title": "aiplatform CreatePersistentResource Sample", + "description": "CreatePersistentResource creates a PersistentResource.", + "file": "PersistentResourceClient/CreatePersistentResource/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelTrainingPipeline", + "shortName": "CreatePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.CreatePersistentResource", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CancelTrainingPipelineRequest", + "type": "aiplatformpb.CreatePersistentResourceRequest", "name": "req" }, { @@ -19023,16 +19116,17 @@ "name": "opts" } ], + "resultType": "CreatePersistentResourceOperation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "CancelTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline", + "shortName": "CreatePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.CreatePersistentResource", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" } } }, @@ -19040,27 +19134,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_CreatePipelineJob_sync", - "title": "aiplatform CreatePipelineJob Sample", - "description": "CreatePipelineJob creates a PipelineJob. A PipelineJob will run immediately when created.", - "file": "PipelineClient/CreatePipelineJob/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CreatePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreatePipelineJob", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreatePipelineJobRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -19068,17 +19162,16 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.PipelineJob", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "CreatePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -19086,27 +19179,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_CreateTrainingPipeline_sync", - "title": "aiplatform CreateTrainingPipeline Sample", - "description": "CreateTrainingPipeline creates a TrainingPipeline. A created TrainingPipeline right away will be\nattempted to be run.", - "file": "PipelineClient/CreateTrainingPipeline/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_DeletePersistentResource_sync", + "title": "aiplatform DeletePersistentResource Sample", + "description": "DeletePersistentResource deletes a PersistentResource.", + "file": "PersistentResourceClient/DeletePersistentResource/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreateTrainingPipeline", + "shortName": "DeletePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.DeletePersistentResource", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTrainingPipelineRequest", + "type": "aiplatformpb.DeletePersistentResourceRequest", "name": "req" }, { @@ -19114,17 +19207,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TrainingPipeline", + "resultType": "DeletePersistentResourceOperation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "CreateTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline", + "shortName": "DeletePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.DeletePersistentResource", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" } } }, @@ -19132,27 +19225,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_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": "PersistentResourceClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -19160,16 +19253,17 @@ "name": "opts" } ], + "resultType": "*iampb.Policy", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -19177,27 +19271,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeletePipelineJob_sync", - "title": "aiplatform DeletePipelineJob Sample", - "description": "DeletePipelineJob deletes a PipelineJob.", - "file": "PipelineClient/DeletePipelineJob/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "PersistentResourceClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeletePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeletePipelineJob", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeletePipelineJobRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -19205,17 +19299,17 @@ "name": "opts" } ], - "resultType": "DeletePipelineJobOperation", + "resultType": "*locationpb.Location", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "DeletePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob", + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -19223,27 +19317,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeleteTrainingPipeline_sync", - "title": "aiplatform DeleteTrainingPipeline Sample", - "description": "DeleteTrainingPipeline deletes a TrainingPipeline.", - "file": "PipelineClient/DeleteTrainingPipeline/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteTrainingPipeline", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTrainingPipelineRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -19251,17 +19345,17 @@ "name": "opts" } ], - "resultType": "DeleteTrainingPipelineOperation", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "DeleteTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline", + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -19269,27 +19363,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PipelineClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_GetPersistentResource_sync", + "title": "aiplatform GetPersistentResource Sample", + "description": "GetPersistentResource gets a PersistentResource.", + "file": "PersistentResourceClient/GetPersistentResource/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetIamPolicy", + "shortName": "GetPersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.GetPersistentResource", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.GetPersistentResourceRequest", "name": "req" }, { @@ -19297,17 +19391,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "*aiplatformpb.PersistentResource", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "shortName": "GetPersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.GetPersistentResource", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" } } }, @@ -19321,21 +19415,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "PipelineClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "PersistentResourceClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetLocation", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -19343,14 +19437,14 @@ "name": "opts" } ], - "resultType": "*locationpb.Location", + "resultType": "LocationIterator", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.location.Locations.GetLocation", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { "shortName": "Locations", "fullName": "google.cloud.location.Locations" @@ -19361,27 +19455,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetOperation", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -19389,14 +19483,14 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "OperationIterator", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { "shortName": "Operations", "fullName": "google.longrunning.Operations" @@ -19407,27 +19501,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetPipelineJob_sync", - "title": "aiplatform GetPipelineJob Sample", - "description": "GetPipelineJob gets a PipelineJob.", - "file": "PipelineClient/GetPipelineJob/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_ListPersistentResources_sync", + "title": "aiplatform ListPersistentResources Sample", + "description": "ListPersistentResources lists PersistentResources in a Location.", + "file": "PersistentResourceClient/ListPersistentResources/main.go", "language": "GO", "clientMethod": { - "shortName": "GetPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetPipelineJob", + "shortName": "ListPersistentResources", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.ListPersistentResources", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetPipelineJobRequest", + "type": "aiplatformpb.ListPersistentResourcesRequest", "name": "req" }, { @@ -19435,17 +19529,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.PipelineJob", + "resultType": "PersistentResourceIterator", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "GetPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob", + "shortName": "ListPersistentResources", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.ListPersistentResources", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" } } }, @@ -19453,27 +19547,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetTrainingPipeline_sync", - "title": "aiplatform GetTrainingPipeline Sample", - "description": "GetTrainingPipeline gets a TrainingPipeline.", - "file": "PipelineClient/GetTrainingPipeline/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_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": "PersistentResourceClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "GetTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetTrainingPipeline", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTrainingPipelineRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -19481,17 +19575,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TrainingPipeline", + "resultType": "*iampb.Policy", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "GetTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -19505,21 +19599,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "PipelineClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_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": "PersistentResourceClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListLocations", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -19527,17 +19621,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -19545,27 +19639,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_UpdatePersistentResource_sync", + "title": "aiplatform UpdatePersistentResource Sample", + "description": "UpdatePersistentResource updates a PersistentResource.", + "file": "PersistentResourceClient/UpdatePersistentResource/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListOperations", + "shortName": "UpdatePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.UpdatePersistentResource", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.UpdatePersistentResourceRequest", "name": "req" }, { @@ -19573,17 +19667,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "UpdatePersistentResourceOperation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "UpdatePersistentResource", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService.UpdatePersistentResource", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PersistentResourceService", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceService" } } }, @@ -19591,27 +19685,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListPipelineJobs_sync", - "title": "aiplatform ListPipelineJobs Sample", - "description": "ListPipelineJobs lists PipelineJobs in a Location.", - "file": "PipelineClient/ListPipelineJobs/main.go", - "language": "GO", - "clientMethod": { - "shortName": "ListPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListPipelineJobs", + "regionTag": "aiplatform_v1beta1_generated_PersistentResourceService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "PersistentResourceClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListPipelineJobsRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -19619,17 +19713,17 @@ "name": "opts" } ], - "resultType": "PipelineJobIterator", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PersistentResourceClient", + "fullName": "google.cloud.aiplatform.v1beta1.PersistentResourceClient" }, "method": { - "shortName": "ListPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -19637,27 +19731,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListTrainingPipelines_sync", - "title": "aiplatform ListTrainingPipelines Sample", - "description": "ListTrainingPipelines lists TrainingPipelines in a Location.", - "file": "PipelineClient/ListTrainingPipelines/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_BatchCancelPipelineJobs_sync", + "title": "aiplatform BatchCancelPipelineJobs Sample", + "description": "BatchCancelPipelineJobs batch cancel PipelineJobs.\nFirstly the server will check if all the jobs are in non-terminal states,\nand skip the jobs that are already terminated.\nIf the operation failed, none of the pipeline jobs are cancelled.\nThe server will poll the states of all the pipeline jobs periodically\nto check the cancellation status.\nThis operation will return an LRO.", + "file": "PipelineClient/BatchCancelPipelineJobs/main.go", "language": "GO", "clientMethod": { - "shortName": "ListTrainingPipelines", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListTrainingPipelines", + "shortName": "BatchCancelPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.BatchCancelPipelineJobs", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTrainingPipelinesRequest", + "type": "aiplatformpb.BatchCancelPipelineJobsRequest", "name": "req" }, { @@ -19665,14 +19759,14 @@ "name": "opts" } ], - "resultType": "TrainingPipelineIterator", + "resultType": "BatchCancelPipelineJobsOperation", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListTrainingPipelines", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines", + "shortName": "BatchCancelPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.BatchCancelPipelineJobs", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -19683,27 +19777,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PipelineClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_BatchDeletePipelineJobs_sync", + "title": "aiplatform BatchDeletePipelineJobs Sample", + "description": "BatchDeletePipelineJobs batch deletes PipelineJobs\nThe Operation is atomic. If it fails, none of the PipelineJobs are deleted.\nIf it succeeds, all of the PipelineJobs are deleted.", + "file": "PipelineClient/BatchDeletePipelineJobs/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.SetIamPolicy", + "shortName": "BatchDeletePipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.BatchDeletePipelineJobs", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.BatchDeletePipelineJobsRequest", "name": "req" }, { @@ -19711,17 +19805,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "BatchDeletePipelineJobsOperation", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "BatchDeletePipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.BatchDeletePipelineJobs", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -19729,27 +19823,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PipelineClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "PipelineClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.TestIamPermissions", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -19757,17 +19851,16 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -19775,27 +19868,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelPipelineJob_sync", + "title": "aiplatform CancelPipelineJob Sample", + "description": "CancelPipelineJob cancels a PipelineJob.\nStarts asynchronous cancellation on the PipelineJob. The server\nmakes a best effort to cancel the pipeline, but success is not\nguaranteed. Clients can use\n[PipelineService.GetPipelineJob][google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob]\nor other methods to check whether the cancellation succeeded or whether the\npipeline completed despite cancellation. On successful cancellation,\nthe PipelineJob is not deleted; instead it becomes a pipeline with\na [PipelineJob.error][google.cloud.aiplatform.v1beta1.PipelineJob.error]\nvalue with a [google.rpc.Status.code][google.rpc.Status.code] of 1,\ncorresponding to `Code.CANCELLED`, and\n[PipelineJob.state][google.cloud.aiplatform.v1beta1.PipelineJob.state] is\nset to `CANCELLED`.", + "file": "PipelineClient/CancelPipelineJob/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.WaitOperation", + "shortName": "CancelPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelPipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.CancelPipelineJobRequest", "name": "req" }, { @@ -19803,17 +19896,16 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "CancelPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -19821,27 +19913,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_CancelTrainingPipeline_sync", + "title": "aiplatform CancelTrainingPipeline Sample", + "description": "CancelTrainingPipeline cancels a TrainingPipeline.\nStarts asynchronous cancellation on the TrainingPipeline. The server\nmakes a best effort to cancel the pipeline, but success is not\nguaranteed. Clients can use\n[PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline]\nor other methods to check whether the cancellation succeeded or whether the\npipeline completed despite cancellation. On successful cancellation,\nthe TrainingPipeline is not deleted; instead it becomes a pipeline with\na\n[TrainingPipeline.error][google.cloud.aiplatform.v1beta1.TrainingPipeline.error]\nvalue with a [google.rpc.Status.code][google.rpc.Status.code] of 1,\ncorresponding to `Code.CANCELLED`, and\n[TrainingPipeline.state][google.cloud.aiplatform.v1beta1.TrainingPipeline.state]\nis set to `CANCELLED`.", + "file": "PipelineClient/CancelTrainingPipeline/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CancelOperation", + "shortName": "CancelTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "aiplatformpb.CancelTrainingPipelineRequest", "name": "req" }, { @@ -19850,15 +19942,15 @@ } ], "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "CancelTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -19872,21 +19964,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_CountTokens_sync", - "title": "aiplatform CountTokens Sample", - "description": "CountTokens perform a token counting.", - "file": "PredictionClient/CountTokens/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_CreatePipelineJob_sync", + "title": "aiplatform CreatePipelineJob Sample", + "description": "CreatePipelineJob creates a PipelineJob. A PipelineJob will run immediately when created.", + "file": "PipelineClient/CreatePipelineJob/main.go", "language": "GO", "clientMethod": { - "shortName": "CountTokens", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CountTokens", + "shortName": "CreatePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreatePipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CountTokensRequest", + "type": "aiplatformpb.CreatePipelineJobRequest", "name": "req" }, { @@ -19894,17 +19986,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.CountTokensResponse", + "resultType": "*aiplatformpb.PipelineJob", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CountTokens", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.CountTokens", + "shortName": "CreatePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -19918,21 +20010,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_CreateTrainingPipeline_sync", + "title": "aiplatform CreateTrainingPipeline Sample", + "description": "CreateTrainingPipeline creates a TrainingPipeline. A created TrainingPipeline right away will be\nattempted to be run.", + "file": "PipelineClient/CreateTrainingPipeline/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DeleteOperation", + "shortName": "CreateTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreateTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.CreateTrainingPipelineRequest", "name": "req" }, { @@ -19940,16 +20032,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.TrainingPipeline", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "CreateTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -19957,27 +20050,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_DirectPredict_sync", - "title": "aiplatform DirectPredict Sample", - "description": "DirectPredict perform an unary online prediction request to a gRPC model server for\nVertex first-party products and frameworks.", - "file": "PredictionClient/DirectPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "PipelineClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DirectPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DirectPredict", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DirectPredictRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -19985,17 +20078,16 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.DirectPredictResponse", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "DirectPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -20003,27 +20095,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_DirectRawPredict_sync", - "title": "aiplatform DirectRawPredict Sample", - "description": "DirectRawPredict perform an unary online prediction request to a gRPC model server for\ncustom containers.", - "file": "PredictionClient/DirectRawPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeletePipelineJob_sync", + "title": "aiplatform DeletePipelineJob Sample", + "description": "DeletePipelineJob deletes a PipelineJob.", + "file": "PipelineClient/DeletePipelineJob/main.go", "language": "GO", "clientMethod": { - "shortName": "DirectRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DirectRawPredict", + "shortName": "DeletePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeletePipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DirectRawPredictRequest", + "type": "aiplatformpb.DeletePipelineJobRequest", "name": "req" }, { @@ -20031,63 +20123,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.DirectRawPredictResponse", + "resultType": "DeletePipelineJobOperation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" - }, - "method": { - "shortName": "DirectRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict", - "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" - } - } - }, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 18, - "end": 53, - "type": "FULL" - } - ] - }, - { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_Explain_sync", - "title": "aiplatform Explain Sample", - "description": "Explain perform an online explanation.\n\nIf\n[deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id]\nis specified, the corresponding DeployModel must have\n[explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]\npopulated. If\n[deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id]\nis not specified, all DeployedModels must have\n[explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]\npopulated.", - "file": "PredictionClient/Explain/main.go", - "language": "GO", - "clientMethod": { - "shortName": "Explain", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Explain", - "parameters": [ - { - "type": "context.Context", - "name": "ctx" - }, - { - "type": "aiplatformpb.ExplainRequest", - "name": "req" - }, - { - "type": "...gax.CallOption", - "name": "opts" - } - ], - "resultType": "*aiplatformpb.ExplainResponse", - "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "Explain", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Explain", + "shortName": "DeletePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20095,27 +20141,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GenerateContent_sync", - "title": "aiplatform GenerateContent Sample", - "description": "GenerateContent generate content with multimodal inputs.", - "file": "PredictionClient/GenerateContent/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_DeleteTrainingPipeline_sync", + "title": "aiplatform DeleteTrainingPipeline Sample", + "description": "DeleteTrainingPipeline deletes a TrainingPipeline.", + "file": "PipelineClient/DeleteTrainingPipeline/main.go", "language": "GO", "clientMethod": { - "shortName": "GenerateContent", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GenerateContent", + "shortName": "DeleteTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GenerateContentRequest", + "type": "aiplatformpb.DeleteTrainingPipelineRequest", "name": "req" }, { @@ -20123,17 +20169,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.GenerateContentResponse", + "resultType": "DeleteTrainingPipelineOperation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "GenerateContent", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent", + "shortName": "DeleteTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20141,20 +20187,20 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PredictionClient/GetIamPolicy/main.go", + "file": "PipelineClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetIamPolicy", "parameters": [ { "type": "context.Context", @@ -20171,8 +20217,8 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { "shortName": "GetIamPolicy", @@ -20193,14 +20239,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetLocation_sync", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetLocation_sync", "title": "aiplatform GetLocation Sample", "description": "GetLocation gets information about a location.", - "file": "PredictionClient/GetLocation/main.go", + "file": "PipelineClient/GetLocation/main.go", "language": "GO", "clientMethod": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetLocation", "parameters": [ { "type": "context.Context", @@ -20217,8 +20263,8 @@ ], "resultType": "*locationpb.Location", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { "shortName": "GetLocation", @@ -20239,14 +20285,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetOperation_sync", "title": "aiplatform GetOperation Sample", "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/GetOperation/main.go", + "file": "PipelineClient/GetOperation/main.go", "language": "GO", "clientMethod": { "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetOperation", "parameters": [ { "type": "context.Context", @@ -20263,8 +20309,8 @@ ], "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { "shortName": "GetOperation", @@ -20285,21 +20331,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "PredictionClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetPipelineJob_sync", + "title": "aiplatform GetPipelineJob Sample", + "description": "GetPipelineJob gets a PipelineJob.", + "file": "PipelineClient/GetPipelineJob/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListLocations", + "shortName": "GetPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetPipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "aiplatformpb.GetPipelineJobRequest", "name": "req" }, { @@ -20307,17 +20353,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "*aiplatformpb.PipelineJob", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "GetPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20325,27 +20371,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetTrainingPipeline_sync", + "title": "aiplatform GetTrainingPipeline Sample", + "description": "GetTrainingPipeline gets a TrainingPipeline.", + "file": "PipelineClient/GetTrainingPipeline/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListOperations", + "shortName": "GetTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.GetTrainingPipelineRequest", "name": "req" }, { @@ -20353,17 +20399,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "*aiplatformpb.TrainingPipeline", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "GetTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20371,27 +20417,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_Predict_sync", - "title": "aiplatform Predict Sample", - "description": "Predict perform an online prediction.", - "file": "PredictionClient/Predict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "PipelineClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "Predict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Predict", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PredictRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -20399,17 +20445,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.PredictResponse", + "resultType": "LocationIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "Predict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Predict", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -20417,27 +20463,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_RawPredict_sync", - "title": "aiplatform RawPredict Sample", - "description": "RawPredict perform an online prediction with an arbitrary HTTP payload.\n\nThe response includes the following HTTP headers: \n\n* `X-Vertex-AI-Endpoint-Id`: ID of the\n[Endpoint][google.cloud.aiplatform.v1beta1.Endpoint] that served this\nprediction.\n\n* `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's\n[DeployedModel][google.cloud.aiplatform.v1beta1.DeployedModel] that served\nthis prediction.", - "file": "PredictionClient/RawPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "PipelineClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "RawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.RawPredict", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.RawPredictRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -20445,17 +20491,17 @@ "name": "opts" } ], - "resultType": "*httpbodypb.HttpBody", + "resultType": "OperationIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "RawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.RawPredict", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -20463,27 +20509,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_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": "PredictionClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListPipelineJobs_sync", + "title": "aiplatform ListPipelineJobs Sample", + "description": "ListPipelineJobs lists PipelineJobs in a Location.", + "file": "PipelineClient/ListPipelineJobs/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.SetIamPolicy", + "shortName": "ListPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListPipelineJobs", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.ListPipelineJobsRequest", "name": "req" }, { @@ -20491,17 +20537,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "PipelineJobIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "ListPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20509,83 +20555,45 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamDirectPredict_sync", - "title": "aiplatform StreamDirectPredict Sample", - "description": "StreamDirectPredict perform a streaming online prediction request to a gRPC model server for\nVertex first-party products and frameworks.\n\n\nThis method is not supported for the REST transport.", - "file": "PredictionClient/StreamDirectPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListTrainingPipelines_sync", + "title": "aiplatform ListTrainingPipelines Sample", + "description": "ListTrainingPipelines lists TrainingPipelines in a Location.", + "file": "PipelineClient/ListTrainingPipelines/main.go", "language": "GO", "clientMethod": { - "shortName": "StreamDirectPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamDirectPredict", + "shortName": "ListTrainingPipelines", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListTrainingPipelines", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "...gax.CallOption", - "name": "opts" - } - ], - "resultType": "aiplatformpb.PredictionService_StreamDirectPredictClient", - "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" - }, - "method": { - "shortName": "StreamDirectPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict", - "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" - } - } - }, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 18, - "end": 69, - "type": "FULL" - } - ] - }, - { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamDirectRawPredict_sync", - "title": "aiplatform StreamDirectRawPredict Sample", - "description": "StreamDirectRawPredict perform a streaming online prediction request to a gRPC model server for\ncustom containers.\n\n\nThis method is not supported for the REST transport.", - "file": "PredictionClient/StreamDirectRawPredict/main.go", - "language": "GO", - "clientMethod": { - "shortName": "StreamDirectRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamDirectRawPredict", - "parameters": [ - { - "type": "context.Context", - "name": "ctx" + "type": "aiplatformpb.ListTrainingPipelinesRequest", + "name": "req" }, { "type": "...gax.CallOption", "name": "opts" } ], - "resultType": "aiplatformpb.PredictionService_StreamDirectRawPredictClient", + "resultType": "TrainingPipelineIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "StreamDirectRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict", + "shortName": "ListTrainingPipelines", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -20593,83 +20601,45 @@ "segments": [ { "start": 18, - "end": 69, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamingPredict_sync", - "title": "aiplatform StreamingPredict Sample", - "description": "StreamingPredict perform a streaming online prediction request for Vertex first-party\nproducts and frameworks.\n\n\nThis method is not supported for the REST transport.", - "file": "PredictionClient/StreamingPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PipelineClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "StreamingPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamingPredict", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "...gax.CallOption", - "name": "opts" - } - ], - "resultType": "aiplatformpb.PredictionService_StreamingPredictClient", - "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" - }, - "method": { - "shortName": "StreamingPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict", - "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" - } - } - }, - "origin": "API_DEFINITION", - "segments": [ - { - "start": 18, - "end": 69, - "type": "FULL" - } - ] - }, - { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamingRawPredict_sync", - "title": "aiplatform StreamingRawPredict Sample", - "description": "StreamingRawPredict perform a streaming online prediction request through gRPC.\n\n\nThis method is not supported for the REST transport.", - "file": "PredictionClient/StreamingRawPredict/main.go", - "language": "GO", - "clientMethod": { - "shortName": "StreamingRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamingRawPredict", - "parameters": [ - { - "type": "context.Context", - "name": "ctx" + "type": "iampb.SetIamPolicyRequest", + "name": "req" }, { "type": "...gax.CallOption", "name": "opts" } ], - "resultType": "aiplatformpb.PredictionService_StreamingRawPredictClient", + "resultType": "*iampb.Policy", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "StreamingRawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -20677,20 +20647,20 @@ "segments": [ { "start": 18, - "end": 69, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_TestIamPermissions_sync", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_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": "PredictionClient/TestIamPermissions/main.go", + "file": "PipelineClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.TestIamPermissions", "parameters": [ { "type": "context.Context", @@ -20707,8 +20677,8 @@ ], "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { "shortName": "TestIamPermissions", @@ -20729,14 +20699,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_WaitOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_WaitOperation_sync", "title": "aiplatform WaitOperation Sample", "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/WaitOperation/main.go", + "file": "PipelineClient/WaitOperation/main.go", "language": "GO", "clientMethod": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.WaitOperation", "parameters": [ { "type": "context.Context", @@ -20753,8 +20723,8 @@ ], "resultType": "*longrunningpb.Operation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { "shortName": "WaitOperation", @@ -20775,14 +20745,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_CancelOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_CancelOperation_sync", "title": "aiplatform CancelOperation Sample", "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineExecutionClient/CancelOperation/main.go", + "file": "PredictionClient/CancelOperation/main.go", "language": "GO", "clientMethod": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CancelOperation", "parameters": [ { "type": "context.Context", @@ -20798,8 +20768,8 @@ } ], "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "CancelOperation", @@ -20820,21 +20790,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineExecutionClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_CountTokens_sync", + "title": "aiplatform CountTokens Sample", + "description": "CountTokens perform a token counting.", + "file": "PredictionClient/CountTokens/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.DeleteOperation", + "shortName": "CountTokens", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CountTokens", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.CountTokensRequest", "name": "req" }, { @@ -20842,16 +20812,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.CountTokensResponse", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "CountTokens", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.CountTokens", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -20859,27 +20830,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "PredictionClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetIamPolicy", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -20887,17 +20858,16 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -20905,27 +20875,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "ReasoningEngineExecutionClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_DirectPredict_sync", + "title": "aiplatform DirectPredict Sample", + "description": "DirectPredict perform an unary online prediction request to a gRPC model server for\nVertex first-party products and frameworks.", + "file": "PredictionClient/DirectPredict/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetLocation", + "shortName": "DirectPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DirectPredict", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "aiplatformpb.DirectPredictRequest", "name": "req" }, { @@ -20933,17 +20903,17 @@ "name": "opts" } ], - "resultType": "*locationpb.Location", + "resultType": "*aiplatformpb.DirectPredictResponse", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.location.Locations.GetLocation", + "shortName": "DirectPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DirectPredict", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -20957,21 +20927,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineExecutionClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_DirectRawPredict_sync", + "title": "aiplatform DirectRawPredict Sample", + "description": "DirectRawPredict perform an unary online prediction request to a gRPC model server for\ncustom containers.", + "file": "PredictionClient/DirectRawPredict/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetOperation", + "shortName": "DirectRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DirectRawPredict", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.DirectRawPredictRequest", "name": "req" }, { @@ -20979,17 +20949,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "*aiplatformpb.DirectRawPredictResponse", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "DirectRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DirectRawPredict", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -21003,21 +20973,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "ReasoningEngineExecutionClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_Explain_sync", + "title": "aiplatform Explain Sample", + "description": "Explain perform an online explanation.\n\nIf\n[deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id]\nis specified, the corresponding DeployModel must have\n[explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]\npopulated. If\n[deployed_model_id][google.cloud.aiplatform.v1beta1.ExplainRequest.deployed_model_id]\nis not specified, all DeployedModels must have\n[explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]\npopulated.", + "file": "PredictionClient/Explain/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.ListLocations", + "shortName": "Explain", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Explain", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "aiplatformpb.ExplainRequest", "name": "req" }, { @@ -21025,17 +20995,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "*aiplatformpb.ExplainResponse", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "Explain", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Explain", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -21043,27 +21013,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineExecutionClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_GenerateContent_sync", + "title": "aiplatform GenerateContent Sample", + "description": "GenerateContent generate content with multimodal inputs.", + "file": "PredictionClient/GenerateContent/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.ListOperations", + "shortName": "GenerateContent", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GenerateContent", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.GenerateContentRequest", "name": "req" }, { @@ -21071,17 +21041,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "*aiplatformpb.GenerateContentResponse", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "GenerateContent", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GenerateContent", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -21089,27 +21059,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_QueryReasoningEngine_sync", - "title": "aiplatform QueryReasoningEngine Sample", - "description": "QueryReasoningEngine queries using a reasoning engine.", - "file": "ReasoningEngineExecutionClient/QueryReasoningEngine/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_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": "PredictionClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "QueryReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.QueryReasoningEngine", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.QueryReasoningEngineRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -21117,17 +21087,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.QueryReasoningEngineResponse", + "resultType": "*iampb.Policy", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "QueryReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionService.QueryReasoningEngine", + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", "service": { - "shortName": "ReasoningEngineExecutionService", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -21141,21 +21111,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "PredictionClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.SetIamPolicy", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -21163,17 +21133,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "*locationpb.Location", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -21187,21 +21157,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "PredictionClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.TestIamPermissions", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -21209,17 +21179,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -21233,21 +21203,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineExecutionClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "PredictionClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.WaitOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -21255,17 +21225,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "LocationIterator", "client": { - "shortName": "ReasoningEngineExecutionClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -21273,27 +21243,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "PredictionClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.CancelOperation", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -21301,13 +21271,14 @@ "name": "opts" } ], + "resultType": "OperationIterator", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { "shortName": "Operations", "fullName": "google.longrunning.Operations" @@ -21318,27 +21289,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_CreateReasoningEngine_sync", - "title": "aiplatform CreateReasoningEngine Sample", - "description": "CreateReasoningEngine creates a reasoning engine.", - "file": "ReasoningEngineClient/CreateReasoningEngine/main.go", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_Predict_sync", + "title": "aiplatform Predict Sample", + "description": "Predict perform an online prediction.", + "file": "PredictionClient/Predict/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.CreateReasoningEngine", + "shortName": "Predict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Predict", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateReasoningEngineRequest", + "type": "aiplatformpb.PredictRequest", "name": "req" }, { @@ -21346,17 +21317,2384 @@ "name": "opts" } ], - "resultType": "CreateReasoningEngineOperation", + "resultType": "*aiplatformpb.PredictResponse", "client": { - "shortName": "ReasoningEngineClient", + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "Predict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Predict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_RawPredict_sync", + "title": "aiplatform RawPredict Sample", + "description": "RawPredict perform an online prediction with an arbitrary HTTP payload.\n\nThe response includes the following HTTP headers: \n\n* `X-Vertex-AI-Endpoint-Id`: ID of the\n[Endpoint][google.cloud.aiplatform.v1beta1.Endpoint] that served this\nprediction.\n\n* `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's\n[DeployedModel][google.cloud.aiplatform.v1beta1.DeployedModel] that served\nthis prediction.", + "file": "PredictionClient/RawPredict/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.RawPredict", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.RawPredictRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*httpbodypb.HttpBody", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "RawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.RawPredict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_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": "PredictionClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "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_v1beta1_generated_PredictionService_StreamDirectPredict_sync", + "title": "aiplatform StreamDirectPredict Sample", + "description": "StreamDirectPredict perform a streaming online prediction request to a gRPC model server for\nVertex first-party products and frameworks.\n\n\nThis method is not supported for the REST transport.", + "file": "PredictionClient/StreamDirectPredict/main.go", + "language": "GO", + "clientMethod": { + "shortName": "StreamDirectPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamDirectPredict", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.PredictionService_StreamDirectPredictClient", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "StreamDirectPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectPredict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 69, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamDirectRawPredict_sync", + "title": "aiplatform StreamDirectRawPredict Sample", + "description": "StreamDirectRawPredict perform a streaming online prediction request to a gRPC model server for\ncustom containers.\n\n\nThis method is not supported for the REST transport.", + "file": "PredictionClient/StreamDirectRawPredict/main.go", + "language": "GO", + "clientMethod": { + "shortName": "StreamDirectRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamDirectRawPredict", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.PredictionService_StreamDirectRawPredictClient", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "StreamDirectRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamDirectRawPredict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 69, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamingPredict_sync", + "title": "aiplatform StreamingPredict Sample", + "description": "StreamingPredict perform a streaming online prediction request for Vertex first-party\nproducts and frameworks.\n\n\nThis method is not supported for the REST transport.", + "file": "PredictionClient/StreamingPredict/main.go", + "language": "GO", + "clientMethod": { + "shortName": "StreamingPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamingPredict", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.PredictionService_StreamingPredictClient", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "StreamingPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamingPredict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 69, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_StreamingRawPredict_sync", + "title": "aiplatform StreamingRawPredict Sample", + "description": "StreamingRawPredict perform a streaming online prediction request through gRPC.\n\n\nThis method is not supported for the REST transport.", + "file": "PredictionClient/StreamingRawPredict/main.go", + "language": "GO", + "clientMethod": { + "shortName": "StreamingRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.StreamingRawPredict", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.PredictionService_StreamingRawPredictClient", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "method": { + "shortName": "StreamingRawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.StreamingRawPredict", + "service": { + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 69, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_PredictionService_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": "PredictionClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "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_v1beta1_generated_PredictionService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "PredictionClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineExecutionClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineExecutionClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "ReasoningEngineExecutionClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineExecutionClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "ReasoningEngineExecutionClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineExecutionClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_QueryReasoningEngine_sync", + "title": "aiplatform QueryReasoningEngine Sample", + "description": "QueryReasoningEngine queries using a reasoning engine.", + "file": "ReasoningEngineExecutionClient/QueryReasoningEngine/main.go", + "language": "GO", + "clientMethod": { + "shortName": "QueryReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.QueryReasoningEngine", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.QueryReasoningEngineRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.QueryReasoningEngineResponse", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "method": { + "shortName": "QueryReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionService.QueryReasoningEngine", + "service": { + "shortName": "ReasoningEngineExecutionService", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_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": "ReasoningEngineExecutionClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineExecutionService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineExecutionClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ReasoningEngineExecutionClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineExecutionClient" + }, + "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_v1beta1_generated_ReasoningEngineService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_CreateReasoningEngine_sync", + "title": "aiplatform CreateReasoningEngine Sample", + "description": "CreateReasoningEngine creates a reasoning engine.", + "file": "ReasoningEngineClient/CreateReasoningEngine/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.CreateReasoningEngine", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreateReasoningEngineRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateReasoningEngineOperation", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "method": { + "shortName": "CreateReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.CreateReasoningEngine", + "service": { + "shortName": "ReasoningEngineService", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_DeleteReasoningEngine_sync", + "title": "aiplatform DeleteReasoningEngine Sample", + "description": "DeleteReasoningEngine deletes a reasoning engine.", + "file": "ReasoningEngineClient/DeleteReasoningEngine/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.DeleteReasoningEngine", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteReasoningEngineRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteReasoningEngineOperation", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "method": { + "shortName": "DeleteReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.DeleteReasoningEngine", + "service": { + "shortName": "ReasoningEngineService", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_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": "ReasoningEngineClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "ReasoningEngineClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_GetReasoningEngine_sync", + "title": "aiplatform GetReasoningEngine Sample", + "description": "GetReasoningEngine gets a reasoning engine.", + "file": "ReasoningEngineClient/GetReasoningEngine/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetReasoningEngine", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetReasoningEngineRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.ReasoningEngine", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "method": { + "shortName": "GetReasoningEngine", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.GetReasoningEngine", + "service": { + "shortName": "ReasoningEngineService", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "ReasoningEngineClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_ListReasoningEngines_sync", + "title": "aiplatform ListReasoningEngines Sample", + "description": "ListReasoningEngines lists reasoning engines in a location.", + "file": "ReasoningEngineClient/ListReasoningEngines/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListReasoningEngines", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListReasoningEngines", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListReasoningEnginesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ReasoningEngineIterator", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "method": { + "shortName": "ListReasoningEngines", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.ListReasoningEngines", + "service": { + "shortName": "ReasoningEngineService", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_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": "ReasoningEngineClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_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": "ReasoningEngineClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "ReasoningEngineClient", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + }, + "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_v1beta1_generated_ReasoningEngineService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "ReasoningEngineClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ReasoningEngineClient", "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" }, "method": { - "shortName": "CreateReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.CreateReasoningEngine", + "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_v1beta1_generated_ScheduleService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "ScheduleClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_CreateSchedule_sync", + "title": "aiplatform CreateSchedule Sample", + "description": "CreateSchedule creates a Schedule.", + "file": "ScheduleClient/CreateSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.CreateSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreateScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.Schedule", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "CreateSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "ScheduleClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_DeleteSchedule_sync", + "title": "aiplatform DeleteSchedule Sample", + "description": "DeleteSchedule deletes a Schedule.", + "file": "ScheduleClient/DeleteSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteScheduleOperation", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "DeleteSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_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": "ScheduleClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "ScheduleClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "ScheduleClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_GetSchedule_sync", + "title": "aiplatform GetSchedule Sample", + "description": "GetSchedule gets a Schedule.", + "file": "ScheduleClient/GetSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.Schedule", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "GetSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "ScheduleClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "ScheduleClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_ListSchedules_sync", + "title": "aiplatform ListSchedules Sample", + "description": "ListSchedules lists Schedules in a Location.", + "file": "ScheduleClient/ListSchedules/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListSchedules", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListSchedules", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListSchedulesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ScheduleIterator", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "ListSchedules", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_PauseSchedule_sync", + "title": "aiplatform PauseSchedule Sample", + "description": "PauseSchedule pauses a Schedule. Will mark\n[Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to\n'PAUSED'. If the schedule is paused, no new runs will be created. Already\ncreated runs will NOT be paused or canceled.", + "file": "ScheduleClient/PauseSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "PauseSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.PauseSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.PauseScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "PauseSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ResumeSchedule_sync", + "title": "aiplatform ResumeSchedule Sample", + "description": "ResumeSchedule resumes a paused Schedule to start scheduling new runs. Will mark\n[Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to\n'ACTIVE'. Only paused Schedule can be resumed.\n\nWhen the Schedule is resumed, new runs will be scheduled starting from the\nnext execution time after the current time based on the time_specification\nin the Schedule. If [Schedule.catchUp][] is set up true, all\nmissed runs will be scheduled for backfill first.", + "file": "ScheduleClient/ResumeSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ResumeSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ResumeSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ResumeScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "ResumeSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_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": "ScheduleClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_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": "ScheduleClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.TestIamPermissionsResponse", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "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_v1beta1_generated_ScheduleService_UpdateSchedule_sync", + "title": "aiplatform UpdateSchedule Sample", + "description": "UpdateSchedule updates an active or paused Schedule.\n\nWhen the Schedule is updated, new runs will be scheduled starting from the\nupdated next execution time after the update time based on the\ntime_specification in the updated Schedule. All unstarted runs before the\nupdate time will be skipped while already created runs will NOT be paused\nor canceled.", + "file": "ScheduleClient/UpdateSchedule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.UpdateSchedule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.UpdateScheduleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*aiplatformpb.Schedule", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "UpdateSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule", + "service": { + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "ScheduleClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + }, + "method": { + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { - "shortName": "ReasoningEngineService", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "SpecialistPoolClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + }, + "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_v1beta1_generated_SpecialistPoolService_CreateSpecialistPool_sync", + "title": "aiplatform CreateSpecialistPool Sample", + "description": "CreateSpecialistPool creates a SpecialistPool.", + "file": "SpecialistPoolClient/CreateSpecialistPool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.CreateSpecialistPool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CreateSpecialistPoolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateSpecialistPoolOperation", + "client": { + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + }, + "method": { + "shortName": "CreateSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool", + "service": { + "shortName": "SpecialistPoolService", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" } } }, @@ -21370,14 +23708,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_DeleteOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_DeleteOperation_sync", "title": "aiplatform DeleteOperation Sample", "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineClient/DeleteOperation/main.go", + "file": "SpecialistPoolClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.DeleteOperation", "parameters": [ { "type": "context.Context", @@ -21393,8 +23731,8 @@ } ], "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "DeleteOperation", @@ -21415,21 +23753,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_DeleteReasoningEngine_sync", - "title": "aiplatform DeleteReasoningEngine Sample", - "description": "DeleteReasoningEngine deletes a reasoning engine.", - "file": "ReasoningEngineClient/DeleteReasoningEngine/main.go", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_DeleteSpecialistPool_sync", + "title": "aiplatform DeleteSpecialistPool Sample", + "description": "DeleteSpecialistPool deletes a SpecialistPool as well as all Specialists in the pool.", + "file": "SpecialistPoolClient/DeleteSpecialistPool/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.DeleteReasoningEngine", + "shortName": "DeleteSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.DeleteSpecialistPool", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteReasoningEngineRequest", + "type": "aiplatformpb.DeleteSpecialistPoolRequest", "name": "req" }, { @@ -21437,17 +23775,17 @@ "name": "opts" } ], - "resultType": "DeleteReasoningEngineOperation", + "resultType": "DeleteSpecialistPoolOperation", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { - "shortName": "DeleteReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.DeleteReasoningEngine", + "shortName": "DeleteSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool", "service": { - "shortName": "ReasoningEngineService", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + "shortName": "SpecialistPoolService", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" } } }, @@ -21461,14 +23799,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_GetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "ReasoningEngineClient/GetIamPolicy/main.go", + "file": "SpecialistPoolClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetIamPolicy", "parameters": [ { "type": "context.Context", @@ -21485,8 +23823,8 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "GetIamPolicy", @@ -21507,14 +23845,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_GetLocation_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetLocation_sync", "title": "aiplatform GetLocation Sample", "description": "GetLocation gets information about a location.", - "file": "ReasoningEngineClient/GetLocation/main.go", + "file": "SpecialistPoolClient/GetLocation/main.go", "language": "GO", "clientMethod": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetLocation", "parameters": [ { "type": "context.Context", @@ -21531,8 +23869,8 @@ ], "resultType": "*locationpb.Location", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "GetLocation", @@ -21553,14 +23891,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_GetOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetOperation_sync", "title": "aiplatform GetOperation Sample", "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineClient/GetOperation/main.go", + "file": "SpecialistPoolClient/GetOperation/main.go", "language": "GO", "clientMethod": { "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetOperation", "parameters": [ { "type": "context.Context", @@ -21577,8 +23915,8 @@ ], "resultType": "*longrunningpb.Operation", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "GetOperation", @@ -21599,21 +23937,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_GetReasoningEngine_sync", - "title": "aiplatform GetReasoningEngine Sample", - "description": "GetReasoningEngine gets a reasoning engine.", - "file": "ReasoningEngineClient/GetReasoningEngine/main.go", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetSpecialistPool_sync", + "title": "aiplatform GetSpecialistPool Sample", + "description": "GetSpecialistPool gets a SpecialistPool.", + "file": "SpecialistPoolClient/GetSpecialistPool/main.go", "language": "GO", "clientMethod": { - "shortName": "GetReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.GetReasoningEngine", + "shortName": "GetSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetSpecialistPool", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetReasoningEngineRequest", + "type": "aiplatformpb.GetSpecialistPoolRequest", "name": "req" }, { @@ -21621,17 +23959,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.ReasoningEngine", + "resultType": "*aiplatformpb.SpecialistPool", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { - "shortName": "GetReasoningEngine", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.GetReasoningEngine", + "shortName": "GetSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool", "service": { - "shortName": "ReasoningEngineService", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + "shortName": "SpecialistPoolService", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" } } }, @@ -21645,14 +23983,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_ListLocations_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListLocations_sync", "title": "aiplatform ListLocations Sample", "description": "ListLocations lists information about the supported locations for this service.", - "file": "ReasoningEngineClient/ListLocations/main.go", + "file": "SpecialistPoolClient/ListLocations/main.go", "language": "GO", "clientMethod": { "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListLocations", "parameters": [ { "type": "context.Context", @@ -21669,8 +24007,8 @@ ], "resultType": "LocationIterator", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "ListLocations", @@ -21691,14 +24029,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_ListOperations_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListOperations_sync", "title": "aiplatform ListOperations Sample", "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineClient/ListOperations/main.go", + "file": "SpecialistPoolClient/ListOperations/main.go", "language": "GO", "clientMethod": { "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListOperations", "parameters": [ { "type": "context.Context", @@ -21715,8 +24053,8 @@ ], "resultType": "OperationIterator", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "ListOperations", @@ -21737,21 +24075,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_ListReasoningEngines_sync", - "title": "aiplatform ListReasoningEngines Sample", - "description": "ListReasoningEngines lists reasoning engines in a location.", - "file": "ReasoningEngineClient/ListReasoningEngines/main.go", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListSpecialistPools_sync", + "title": "aiplatform ListSpecialistPools Sample", + "description": "ListSpecialistPools lists SpecialistPools in a Location.", + "file": "SpecialistPoolClient/ListSpecialistPools/main.go", "language": "GO", "clientMethod": { - "shortName": "ListReasoningEngines", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.ListReasoningEngines", + "shortName": "ListSpecialistPools", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListSpecialistPools", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListReasoningEnginesRequest", + "type": "aiplatformpb.ListSpecialistPoolsRequest", "name": "req" }, { @@ -21759,17 +24097,17 @@ "name": "opts" } ], - "resultType": "ReasoningEngineIterator", + "resultType": "SpecialistPoolIterator", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { - "shortName": "ListReasoningEngines", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService.ListReasoningEngines", + "shortName": "ListSpecialistPools", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools", "service": { - "shortName": "ReasoningEngineService", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineService" + "shortName": "SpecialistPoolService", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" } } }, @@ -21783,14 +24121,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_SetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "ReasoningEngineClient/SetIamPolicy/main.go", + "file": "SpecialistPoolClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.SetIamPolicy", "parameters": [ { "type": "context.Context", @@ -21807,8 +24145,8 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "SetIamPolicy", @@ -21829,14 +24167,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_TestIamPermissions_sync", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "ReasoningEngineClient/TestIamPermissions/main.go", + "file": "SpecialistPoolClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.TestIamPermissions", "parameters": [ { "type": "context.Context", @@ -21853,8 +24191,8 @@ ], "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { "shortName": "TestIamPermissions", @@ -21875,21 +24213,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ReasoningEngineService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "ReasoningEngineClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_UpdateSpecialistPool_sync", + "title": "aiplatform UpdateSpecialistPool Sample", + "description": "UpdateSpecialistPool updates a SpecialistPool.", + "file": "SpecialistPoolClient/UpdateSpecialistPool/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient.WaitOperation", + "shortName": "UpdateSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.UpdateSpecialistPool", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.UpdateSpecialistPoolRequest", "name": "req" }, { @@ -21897,17 +24235,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "UpdateSpecialistPoolOperation", "client": { - "shortName": "ReasoningEngineClient", - "fullName": "google.cloud.aiplatform.v1beta1.ReasoningEngineClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "UpdateSpecialistPool", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "SpecialistPoolService", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" } } }, @@ -21915,27 +24253,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "ScheduleClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "SpecialistPoolClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.CancelOperation", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -21943,13 +24281,14 @@ "name": "opts" } ], + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "SpecialistPoolClient", + "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { "shortName": "Operations", "fullName": "google.longrunning.Operations" @@ -21957,52 +24296,6 @@ } }, "origin": "API_DEFINITION", - "segments": [ - { - "start": 18, - "end": 51, - "type": "FULL" - } - ] - }, - { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_CreateSchedule_sync", - "title": "aiplatform CreateSchedule Sample", - "description": "CreateSchedule creates a Schedule.", - "file": "ScheduleClient/CreateSchedule/main.go", - "language": "GO", - "clientMethod": { - "shortName": "CreateSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.CreateSchedule", - "parameters": [ - { - "type": "context.Context", - "name": "ctx" - }, - { - "type": "aiplatformpb.CreateScheduleRequest", - "name": "req" - }, - { - "type": "...gax.CallOption", - "name": "opts" - } - ], - "resultType": "*aiplatformpb.Schedule", - "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" - }, - "method": { - "shortName": "CreateSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.CreateSchedule", - "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" - } - } - }, - "origin": "API_DEFINITION", "segments": [ { "start": 18, @@ -22012,21 +24305,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "ScheduleClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchCreateTensorboardRuns_sync", + "title": "aiplatform BatchCreateTensorboardRuns Sample", + "description": "BatchCreateTensorboardRuns batch create TensorboardRuns.", + "file": "TensorboardClient/BatchCreateTensorboardRuns/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteOperation", + "shortName": "BatchCreateTensorboardRuns", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchCreateTensorboardRuns", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.BatchCreateTensorboardRunsRequest", "name": "req" }, { @@ -22034,16 +24327,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.BatchCreateTensorboardRunsResponse", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "BatchCreateTensorboardRuns", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22051,27 +24345,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_DeleteSchedule_sync", - "title": "aiplatform DeleteSchedule Sample", - "description": "DeleteSchedule deletes a Schedule.", - "file": "ScheduleClient/DeleteSchedule/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchCreateTensorboardTimeSeries_sync", + "title": "aiplatform BatchCreateTensorboardTimeSeries Sample", + "description": "BatchCreateTensorboardTimeSeries batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", + "file": "TensorboardClient/BatchCreateTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteSchedule", + "shortName": "BatchCreateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchCreateTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteScheduleRequest", + "type": "aiplatformpb.BatchCreateTensorboardTimeSeriesRequest", "name": "req" }, { @@ -22079,17 +24373,17 @@ "name": "opts" } ], - "resultType": "DeleteScheduleOperation", + "resultType": "*aiplatformpb.BatchCreateTensorboardTimeSeriesResponse", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "DeleteSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule", + "shortName": "BatchCreateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22097,27 +24391,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_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": "ScheduleClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchReadTensorboardTimeSeriesData_sync", + "title": "aiplatform BatchReadTensorboardTimeSeriesData Sample", + "description": "BatchReadTensorboardTimeSeriesData reads multiple TensorboardTimeSeries' data. The data point number limit is\n1000 for scalars, 100 for tensors and blob references. If the number of\ndata points stored is less than the limit, all data is returned.\nOtherwise, the number limit of data points is randomly selected from\nthis time series and returned.", + "file": "TensorboardClient/BatchReadTensorboardTimeSeriesData/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetIamPolicy", + "shortName": "BatchReadTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchReadTensorboardTimeSeriesData", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.BatchReadTensorboardTimeSeriesDataRequest", "name": "req" }, { @@ -22125,17 +24419,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "*aiplatformpb.BatchReadTensorboardTimeSeriesDataResponse", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "shortName": "BatchReadTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22149,21 +24443,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "ScheduleClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "TensorboardClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetLocation", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -22171,17 +24465,16 @@ "name": "opts" } ], - "resultType": "*locationpb.Location", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.location.Locations.GetLocation", - "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -22189,27 +24482,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "ScheduleClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboard_sync", + "title": "aiplatform CreateTensorboard Sample", + "description": "CreateTensorboard creates a Tensorboard.", + "file": "TensorboardClient/CreateTensorboard/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetOperation", + "shortName": "CreateTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboard", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.CreateTensorboardRequest", "name": "req" }, { @@ -22217,17 +24510,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "CreateTensorboardOperation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "CreateTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22235,27 +24528,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_GetSchedule_sync", - "title": "aiplatform GetSchedule Sample", - "description": "GetSchedule gets a Schedule.", - "file": "ScheduleClient/GetSchedule/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardExperiment_sync", + "title": "aiplatform CreateTensorboardExperiment Sample", + "description": "CreateTensorboardExperiment creates a TensorboardExperiment.", + "file": "TensorboardClient/CreateTensorboardExperiment/main.go", "language": "GO", "clientMethod": { - "shortName": "GetSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetSchedule", + "shortName": "CreateTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardExperiment", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetScheduleRequest", + "type": "aiplatformpb.CreateTensorboardExperimentRequest", "name": "req" }, { @@ -22263,17 +24556,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.Schedule", + "resultType": "*aiplatformpb.TensorboardExperiment", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.GetSchedule", + "shortName": "CreateTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22287,21 +24580,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "ScheduleClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardRun_sync", + "title": "aiplatform CreateTensorboardRun Sample", + "description": "CreateTensorboardRun creates a TensorboardRun.", + "file": "TensorboardClient/CreateTensorboardRun/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListLocations", + "shortName": "CreateTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardRun", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "aiplatformpb.CreateTensorboardRunRequest", "name": "req" }, { @@ -22309,17 +24602,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "*aiplatformpb.TensorboardRun", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "CreateTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22327,27 +24620,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "ScheduleClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardTimeSeries_sync", + "title": "aiplatform CreateTensorboardTimeSeries Sample", + "description": "CreateTensorboardTimeSeries creates a TensorboardTimeSeries.", + "file": "TensorboardClient/CreateTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListOperations", + "shortName": "CreateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.CreateTensorboardTimeSeriesRequest", "name": "req" }, { @@ -22355,17 +24648,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "*aiplatformpb.TensorboardTimeSeries", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "CreateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22373,27 +24666,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ListSchedules_sync", - "title": "aiplatform ListSchedules Sample", - "description": "ListSchedules lists Schedules in a Location.", - "file": "ScheduleClient/ListSchedules/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "TensorboardClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "ListSchedules", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListSchedules", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListSchedulesRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -22401,17 +24694,16 @@ "name": "opts" } ], - "resultType": "ScheduleIterator", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListSchedules", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -22419,27 +24711,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_PauseSchedule_sync", - "title": "aiplatform PauseSchedule Sample", - "description": "PauseSchedule pauses a Schedule. Will mark\n[Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to\n'PAUSED'. If the schedule is paused, no new runs will be created. Already\ncreated runs will NOT be paused or canceled.", - "file": "ScheduleClient/PauseSchedule/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboard_sync", + "title": "aiplatform DeleteTensorboard Sample", + "description": "DeleteTensorboard deletes a Tensorboard.", + "file": "TensorboardClient/DeleteTensorboard/main.go", "language": "GO", "clientMethod": { - "shortName": "PauseSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.PauseSchedule", + "shortName": "DeleteTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboard", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PauseScheduleRequest", + "type": "aiplatformpb.DeleteTensorboardRequest", "name": "req" }, { @@ -22447,16 +24739,17 @@ "name": "opts" } ], + "resultType": "DeleteTensorboardOperation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "PauseSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule", + "shortName": "DeleteTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22464,27 +24757,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ResumeSchedule_sync", - "title": "aiplatform ResumeSchedule Sample", - "description": "ResumeSchedule resumes a paused Schedule to start scheduling new runs. Will mark\n[Schedule.state][google.cloud.aiplatform.v1beta1.Schedule.state] to\n'ACTIVE'. Only paused Schedule can be resumed.\n\nWhen the Schedule is resumed, new runs will be scheduled starting from the\nnext execution time after the current time based on the time_specification\nin the Schedule. If [Schedule.catchUp][] is set up true, all\nmissed runs will be scheduled for backfill first.", - "file": "ScheduleClient/ResumeSchedule/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardExperiment_sync", + "title": "aiplatform DeleteTensorboardExperiment Sample", + "description": "DeleteTensorboardExperiment deletes a TensorboardExperiment.", + "file": "TensorboardClient/DeleteTensorboardExperiment/main.go", "language": "GO", "clientMethod": { - "shortName": "ResumeSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ResumeSchedule", + "shortName": "DeleteTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardExperiment", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ResumeScheduleRequest", + "type": "aiplatformpb.DeleteTensorboardExperimentRequest", "name": "req" }, { @@ -22492,16 +24785,17 @@ "name": "opts" } ], + "resultType": "DeleteTensorboardExperimentOperation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ResumeSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ResumeSchedule", + "shortName": "DeleteTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22509,27 +24803,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_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": "ScheduleClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardRun_sync", + "title": "aiplatform DeleteTensorboardRun Sample", + "description": "DeleteTensorboardRun deletes a TensorboardRun.", + "file": "TensorboardClient/DeleteTensorboardRun/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.SetIamPolicy", + "shortName": "DeleteTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardRun", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.DeleteTensorboardRunRequest", "name": "req" }, { @@ -22537,17 +24831,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "DeleteTensorboardRunOperation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "DeleteTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22555,27 +24849,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_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": "ScheduleClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardTimeSeries_sync", + "title": "aiplatform DeleteTensorboardTimeSeries Sample", + "description": "DeleteTensorboardTimeSeries deletes a TensorboardTimeSeries.", + "file": "TensorboardClient/DeleteTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.TestIamPermissions", + "shortName": "DeleteTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "aiplatformpb.DeleteTensorboardTimeSeriesRequest", "name": "req" }, { @@ -22583,17 +24877,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "DeleteTensorboardTimeSeriesOperation", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "DeleteTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22601,27 +24895,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_UpdateSchedule_sync", - "title": "aiplatform UpdateSchedule Sample", - "description": "UpdateSchedule updates an active or paused Schedule.\n\nWhen the Schedule is updated, new runs will be scheduled starting from the\nupdated next execution time after the update time based on the\ntime_specification in the updated Schedule. All unstarted runs before the\nupdate time will be skipped while already created runs will NOT be paused\nor canceled.", - "file": "ScheduleClient/UpdateSchedule/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ExportTensorboardTimeSeriesData_sync", + "title": "aiplatform ExportTensorboardTimeSeriesData Sample", + "description": "ExportTensorboardTimeSeriesData exports a TensorboardTimeSeries' data. Data is returned in paginated\nresponses.", + "file": "TensorboardClient/ExportTensorboardTimeSeriesData/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.UpdateSchedule", + "shortName": "ExportTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ExportTensorboardTimeSeriesData", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateScheduleRequest", + "type": "aiplatformpb.ExportTensorboardTimeSeriesDataRequest", "name": "req" }, { @@ -22629,17 +24923,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.Schedule", + "resultType": "TimeSeriesDataPointIterator", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "UpdateSchedule", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.UpdateSchedule", + "shortName": "ExportTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData", "service": { - "shortName": "ScheduleService", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22647,27 +24941,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ScheduleService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "ScheduleClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_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": "TensorboardClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.WaitOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -22675,17 +24969,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "*iampb.Policy", "client": { - "shortName": "ScheduleClient", - "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -22699,21 +24993,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "SpecialistPoolClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "TensorboardClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.CancelOperation", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -22721,16 +25015,17 @@ "name": "opts" } ], + "resultType": "*locationpb.Location", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -22738,27 +25033,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_CreateSpecialistPool_sync", - "title": "aiplatform CreateSpecialistPool Sample", - "description": "CreateSpecialistPool creates a SpecialistPool.", - "file": "SpecialistPoolClient/CreateSpecialistPool/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "TensorboardClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.CreateSpecialistPool", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateSpecialistPoolRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -22766,17 +25061,17 @@ "name": "opts" } ], - "resultType": "CreateSpecialistPoolOperation", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CreateSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.CreateSpecialistPool", + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", "service": { - "shortName": "SpecialistPoolService", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -22784,27 +25079,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "SpecialistPoolClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboard_sync", + "title": "aiplatform GetTensorboard Sample", + "description": "GetTensorboard gets a Tensorboard.", + "file": "TensorboardClient/GetTensorboard/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.DeleteOperation", + "shortName": "GetTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboard", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.GetTensorboardRequest", "name": "req" }, { @@ -22812,16 +25107,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.Tensorboard", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "GetTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22829,27 +25125,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_DeleteSpecialistPool_sync", - "title": "aiplatform DeleteSpecialistPool Sample", - "description": "DeleteSpecialistPool deletes a SpecialistPool as well as all Specialists in the pool.", - "file": "SpecialistPoolClient/DeleteSpecialistPool/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardExperiment_sync", + "title": "aiplatform GetTensorboardExperiment Sample", + "description": "GetTensorboardExperiment gets a TensorboardExperiment.", + "file": "TensorboardClient/GetTensorboardExperiment/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.DeleteSpecialistPool", + "shortName": "GetTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardExperiment", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteSpecialistPoolRequest", + "type": "aiplatformpb.GetTensorboardExperimentRequest", "name": "req" }, { @@ -22857,17 +25153,17 @@ "name": "opts" } ], - "resultType": "DeleteSpecialistPoolOperation", + "resultType": "*aiplatformpb.TensorboardExperiment", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "DeleteSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.DeleteSpecialistPool", + "shortName": "GetTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment", "service": { - "shortName": "SpecialistPoolService", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22875,27 +25171,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "SpecialistPoolClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardRun_sync", + "title": "aiplatform GetTensorboardRun Sample", + "description": "GetTensorboardRun gets a TensorboardRun.", + "file": "TensorboardClient/GetTensorboardRun/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetIamPolicy", + "shortName": "GetTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardRun", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.GetTensorboardRunRequest", "name": "req" }, { @@ -22903,17 +25199,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "*aiplatformpb.TensorboardRun", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "shortName": "GetTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22927,21 +25223,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "SpecialistPoolClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardTimeSeries_sync", + "title": "aiplatform GetTensorboardTimeSeries Sample", + "description": "GetTensorboardTimeSeries gets a TensorboardTimeSeries.", + "file": "TensorboardClient/GetTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetLocation", + "shortName": "GetTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "aiplatformpb.GetTensorboardTimeSeriesRequest", "name": "req" }, { @@ -22949,17 +25245,17 @@ "name": "opts" } ], - "resultType": "*locationpb.Location", + "resultType": "*aiplatformpb.TensorboardTimeSeries", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.location.Locations.GetLocation", + "shortName": "GetTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -22973,21 +25269,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "SpecialistPoolClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "TensorboardClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -22995,17 +25291,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "LocationIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -23013,27 +25309,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_GetSpecialistPool_sync", - "title": "aiplatform GetSpecialistPool Sample", - "description": "GetSpecialistPool gets a SpecialistPool.", - "file": "SpecialistPoolClient/GetSpecialistPool/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "TensorboardClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "GetSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.GetSpecialistPool", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetSpecialistPoolRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -23041,17 +25337,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.SpecialistPool", + "resultType": "OperationIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "GetSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.GetSpecialistPool", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { - "shortName": "SpecialistPoolService", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -23059,27 +25355,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "SpecialistPoolClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardExperiments_sync", + "title": "aiplatform ListTensorboardExperiments Sample", + "description": "ListTensorboardExperiments lists TensorboardExperiments in a Location.", + "file": "TensorboardClient/ListTensorboardExperiments/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListLocations", + "shortName": "ListTensorboardExperiments", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardExperiments", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "aiplatformpb.ListTensorboardExperimentsRequest", "name": "req" }, { @@ -23087,17 +25383,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "TensorboardExperimentIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "ListTensorboardExperiments", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23111,21 +25407,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "SpecialistPoolClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardRuns_sync", + "title": "aiplatform ListTensorboardRuns Sample", + "description": "ListTensorboardRuns lists TensorboardRuns in a Location.", + "file": "TensorboardClient/ListTensorboardRuns/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListOperations", + "shortName": "ListTensorboardRuns", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardRuns", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.ListTensorboardRunsRequest", "name": "req" }, { @@ -23133,17 +25429,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "TensorboardRunIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "ListTensorboardRuns", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23157,21 +25453,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListSpecialistPools_sync", - "title": "aiplatform ListSpecialistPools Sample", - "description": "ListSpecialistPools lists SpecialistPools in a Location.", - "file": "SpecialistPoolClient/ListSpecialistPools/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardTimeSeries_sync", + "title": "aiplatform ListTensorboardTimeSeries Sample", + "description": "ListTensorboardTimeSeries lists TensorboardTimeSeries in a Location.", + "file": "TensorboardClient/ListTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "ListSpecialistPools", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.ListSpecialistPools", + "shortName": "ListTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListSpecialistPoolsRequest", + "type": "aiplatformpb.ListTensorboardTimeSeriesRequest", "name": "req" }, { @@ -23179,17 +25475,17 @@ "name": "opts" } ], - "resultType": "SpecialistPoolIterator", + "resultType": "TensorboardTimeSeriesIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "ListSpecialistPools", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.ListSpecialistPools", + "shortName": "ListTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries", "service": { - "shortName": "SpecialistPoolService", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23203,21 +25499,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "SpecialistPoolClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboards_sync", + "title": "aiplatform ListTensorboards Sample", + "description": "ListTensorboards lists Tensorboards in a Location.", + "file": "TensorboardClient/ListTensorboards/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.SetIamPolicy", + "shortName": "ListTensorboards", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboards", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.ListTensorboardsRequest", "name": "req" }, { @@ -23225,17 +25521,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "TensorboardIterator", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "ListTensorboards", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23243,27 +25539,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_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": "SpecialistPoolClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardSize_sync", + "title": "aiplatform ReadTensorboardSize Sample", + "description": "ReadTensorboardSize returns the storage size for a given TensorBoard instance.", + "file": "TensorboardClient/ReadTensorboardSize/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.TestIamPermissions", + "shortName": "ReadTensorboardSize", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardSize", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "aiplatformpb.ReadTensorboardSizeRequest", "name": "req" }, { @@ -23271,17 +25567,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "*aiplatformpb.ReadTensorboardSizeResponse", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "ReadTensorboardSize", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23295,21 +25591,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_UpdateSpecialistPool_sync", - "title": "aiplatform UpdateSpecialistPool Sample", - "description": "UpdateSpecialistPool updates a SpecialistPool.", - "file": "SpecialistPoolClient/UpdateSpecialistPool/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardTimeSeriesData_sync", + "title": "aiplatform ReadTensorboardTimeSeriesData Sample", + "description": "ReadTensorboardTimeSeriesData reads a TensorboardTimeSeries' data. By default, if the number of data\npoints stored is less than 1000, all data is returned. Otherwise, 1000\ndata points is randomly selected from this time series and returned.\nThis value can be changed by changing max_data_points, which can't be\ngreater than 10k.", + "file": "TensorboardClient/ReadTensorboardTimeSeriesData/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.UpdateSpecialistPool", + "shortName": "ReadTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardTimeSeriesData", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateSpecialistPoolRequest", + "type": "aiplatformpb.ReadTensorboardTimeSeriesDataRequest", "name": "req" }, { @@ -23317,17 +25613,17 @@ "name": "opts" } ], - "resultType": "UpdateSpecialistPoolOperation", + "resultType": "*aiplatformpb.ReadTensorboardTimeSeriesDataResponse", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "UpdateSpecialistPool", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService.UpdateSpecialistPool", + "shortName": "ReadTensorboardTimeSeriesData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData", "service": { - "shortName": "SpecialistPoolService", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolService" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23335,27 +25631,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "SpecialistPoolClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardUsage_sync", + "title": "aiplatform ReadTensorboardUsage Sample", + "description": "ReadTensorboardUsage returns a list of monthly active users for a given TensorBoard instance.", + "file": "TensorboardClient/ReadTensorboardUsage/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient.WaitOperation", + "shortName": "ReadTensorboardUsage", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardUsage", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.ReadTensorboardUsageRequest", "name": "req" }, { @@ -23363,17 +25659,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "*aiplatformpb.ReadTensorboardUsageResponse", "client": { - "shortName": "SpecialistPoolClient", - "fullName": "google.cloud.aiplatform.v1beta1.SpecialistPoolClient" + "shortName": "TensorboardClient", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "ReadTensorboardUsage", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23385,23 +25681,23 @@ "type": "FULL" } ] - }, - { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchCreateTensorboardRuns_sync", - "title": "aiplatform BatchCreateTensorboardRuns Sample", - "description": "BatchCreateTensorboardRuns batch create TensorboardRuns.", - "file": "TensorboardClient/BatchCreateTensorboardRuns/main.go", + }, + { + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_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": "TensorboardClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchCreateTensorboardRuns", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchCreateTensorboardRuns", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchCreateTensorboardRunsRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -23409,17 +25705,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.BatchCreateTensorboardRunsResponse", + "resultType": "*iampb.Policy", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "BatchCreateTensorboardRuns", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardRuns", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -23433,21 +25729,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchCreateTensorboardTimeSeries_sync", - "title": "aiplatform BatchCreateTensorboardTimeSeries Sample", - "description": "BatchCreateTensorboardTimeSeries batch create TensorboardTimeSeries that belong to a TensorboardExperiment.", - "file": "TensorboardClient/BatchCreateTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_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": "TensorboardClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchCreateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchCreateTensorboardTimeSeries", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchCreateTensorboardTimeSeriesRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -23455,17 +25751,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.BatchCreateTensorboardTimeSeriesResponse", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "BatchCreateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchCreateTensorboardTimeSeries", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -23479,21 +25775,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_BatchReadTensorboardTimeSeriesData_sync", - "title": "aiplatform BatchReadTensorboardTimeSeriesData Sample", - "description": "BatchReadTensorboardTimeSeriesData reads multiple TensorboardTimeSeries' data. The data point number limit is\n1000 for scalars, 100 for tensors and blob references. If the number of\ndata points stored is less than the limit, all data is returned.\nOtherwise, the number limit of data points is randomly selected from\nthis time series and returned.", - "file": "TensorboardClient/BatchReadTensorboardTimeSeriesData/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboard_sync", + "title": "aiplatform UpdateTensorboard Sample", + "description": "UpdateTensorboard updates a Tensorboard.", + "file": "TensorboardClient/UpdateTensorboard/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchReadTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.BatchReadTensorboardTimeSeriesData", + "shortName": "UpdateTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboard", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchReadTensorboardTimeSeriesDataRequest", + "type": "aiplatformpb.UpdateTensorboardRequest", "name": "req" }, { @@ -23501,14 +25797,14 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.BatchReadTensorboardTimeSeriesDataResponse", + "resultType": "UpdateTensorboardOperation", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "BatchReadTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.BatchReadTensorboardTimeSeriesData", + "shortName": "UpdateTensorboard", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard", "service": { "shortName": "TensorboardService", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" @@ -23519,27 +25815,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "TensorboardClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardExperiment_sync", + "title": "aiplatform UpdateTensorboardExperiment Sample", + "description": "UpdateTensorboardExperiment updates a TensorboardExperiment.", + "file": "TensorboardClient/UpdateTensorboardExperiment/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CancelOperation", + "shortName": "UpdateTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardExperiment", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "aiplatformpb.UpdateTensorboardExperimentRequest", "name": "req" }, { @@ -23547,16 +25843,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.TensorboardExperiment", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.longrunning.Operations.CancelOperation", + "shortName": "UpdateTensorboardExperiment", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23564,27 +25861,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboard_sync", - "title": "aiplatform CreateTensorboard Sample", - "description": "CreateTensorboard creates a Tensorboard.", - "file": "TensorboardClient/CreateTensorboard/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardRun_sync", + "title": "aiplatform UpdateTensorboardRun Sample", + "description": "UpdateTensorboardRun updates a TensorboardRun.", + "file": "TensorboardClient/UpdateTensorboardRun/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboard", + "shortName": "UpdateTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardRun", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTensorboardRequest", + "type": "aiplatformpb.UpdateTensorboardRunRequest", "name": "req" }, { @@ -23592,14 +25889,14 @@ "name": "opts" } ], - "resultType": "CreateTensorboardOperation", + "resultType": "*aiplatformpb.TensorboardRun", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CreateTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboard", + "shortName": "UpdateTensorboardRun", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun", "service": { "shortName": "TensorboardService", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" @@ -23610,27 +25907,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardExperiment_sync", - "title": "aiplatform CreateTensorboardExperiment Sample", - "description": "CreateTensorboardExperiment creates a TensorboardExperiment.", - "file": "TensorboardClient/CreateTensorboardExperiment/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardTimeSeries_sync", + "title": "aiplatform UpdateTensorboardTimeSeries Sample", + "description": "UpdateTensorboardTimeSeries updates a TensorboardTimeSeries.", + "file": "TensorboardClient/UpdateTensorboardTimeSeries/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardExperiment", + "shortName": "UpdateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardTimeSeries", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTensorboardExperimentRequest", + "type": "aiplatformpb.UpdateTensorboardTimeSeriesRequest", "name": "req" }, { @@ -23638,14 +25935,14 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardExperiment", + "resultType": "*aiplatformpb.TensorboardTimeSeries", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CreateTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardExperiment", + "shortName": "UpdateTensorboardTimeSeries", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries", "service": { "shortName": "TensorboardService", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" @@ -23662,21 +25959,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardRun_sync", - "title": "aiplatform CreateTensorboardRun Sample", - "description": "CreateTensorboardRun creates a TensorboardRun.", - "file": "TensorboardClient/CreateTensorboardRun/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "TensorboardClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardRun", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTensorboardRunRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -23684,17 +25981,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardRun", + "resultType": "*longrunningpb.Operation", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CreateTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardRun", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -23708,21 +26005,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_CreateTensorboardTimeSeries_sync", - "title": "aiplatform CreateTensorboardTimeSeries Sample", - "description": "CreateTensorboardTimeSeries creates a TensorboardTimeSeries.", - "file": "TensorboardClient/CreateTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WriteTensorboardExperimentData_sync", + "title": "aiplatform WriteTensorboardExperimentData Sample", + "description": "WriteTensorboardExperimentData write time series data points of multiple TensorboardTimeSeries in multiple\nTensorboardRun's. If any data fail to be ingested, an error is returned.", + "file": "TensorboardClient/WriteTensorboardExperimentData/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.CreateTensorboardTimeSeries", + "shortName": "WriteTensorboardExperimentData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WriteTensorboardExperimentData", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTensorboardTimeSeriesRequest", + "type": "aiplatformpb.WriteTensorboardExperimentDataRequest", "name": "req" }, { @@ -23730,14 +26027,14 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardTimeSeries", + "resultType": "*aiplatformpb.WriteTensorboardExperimentDataResponse", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "CreateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.CreateTensorboardTimeSeries", + "shortName": "WriteTensorboardExperimentData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData", "service": { "shortName": "TensorboardService", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" @@ -23754,21 +26051,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "TensorboardClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WriteTensorboardRunData_sync", + "title": "aiplatform WriteTensorboardRunData Sample", + "description": "WriteTensorboardRunData write time series data points into multiple TensorboardTimeSeries under\na TensorboardRun. If any data fail to be ingested, an error is returned.", + "file": "TensorboardClient/WriteTensorboardRunData/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteOperation", + "shortName": "WriteTensorboardRunData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WriteTensorboardRunData", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.WriteTensorboardRunDataRequest", "name": "req" }, { @@ -23776,16 +26073,17 @@ "name": "opts" } ], + "resultType": "*aiplatformpb.WriteTensorboardRunDataResponse", "client": { "shortName": "TensorboardClient", "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "WriteTensorboardRunData", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "TensorboardService", + "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" } } }, @@ -23793,27 +26091,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboard_sync", - "title": "aiplatform DeleteTensorboard Sample", - "description": "DeleteTensorboard deletes a Tensorboard.", - "file": "TensorboardClient/DeleteTensorboard/main.go", + "regionTag": "aiplatform_v1beta1_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": "DeleteTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboard", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTensorboardRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -23821,17 +26119,16 @@ "name": "opts" } ], - "resultType": "DeleteTensorboardOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "DeleteTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboard", + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -23839,27 +26136,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardExperiment_sync", - "title": "aiplatform DeleteTensorboardExperiment Sample", - "description": "DeleteTensorboardExperiment deletes a TensorboardExperiment.", - "file": "TensorboardClient/DeleteTensorboardExperiment/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_CreateRagCorpus_sync", + "title": "aiplatform CreateRagCorpus Sample", + "description": "CreateRagCorpus creates a RagCorpus.", + "file": "VertexRagDataClient/CreateRagCorpus/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardExperiment", + "shortName": "CreateRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.CreateRagCorpus", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTensorboardExperimentRequest", + "type": "aiplatformpb.CreateRagCorpusRequest", "name": "req" }, { @@ -23867,17 +26164,17 @@ "name": "opts" } ], - "resultType": "DeleteTensorboardExperimentOperation", + "resultType": "CreateRagCorpusOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "DeleteTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardExperiment", + "shortName": "CreateRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.CreateRagCorpus", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -23885,27 +26182,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardRun_sync", - "title": "aiplatform DeleteTensorboardRun Sample", - "description": "DeleteTensorboardRun deletes a TensorboardRun.", - "file": "TensorboardClient/DeleteTensorboardRun/main.go", + "regionTag": "aiplatform_v1beta1_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": "DeleteTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardRun", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTensorboardRunRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -23913,17 +26210,16 @@ "name": "opts" } ], - "resultType": "DeleteTensorboardRunOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "DeleteTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardRun", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -23931,27 +26227,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_DeleteTensorboardTimeSeries_sync", - "title": "aiplatform DeleteTensorboardTimeSeries Sample", - "description": "DeleteTensorboardTimeSeries deletes a TensorboardTimeSeries.", - "file": "TensorboardClient/DeleteTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_DeleteRagCorpus_sync", + "title": "aiplatform DeleteRagCorpus Sample", + "description": "DeleteRagCorpus deletes a RagCorpus.", + "file": "VertexRagDataClient/DeleteRagCorpus/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.DeleteTensorboardTimeSeries", + "shortName": "DeleteRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.DeleteRagCorpus", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTensorboardTimeSeriesRequest", + "type": "aiplatformpb.DeleteRagCorpusRequest", "name": "req" }, { @@ -23959,17 +26255,17 @@ "name": "opts" } ], - "resultType": "DeleteTensorboardTimeSeriesOperation", + "resultType": "DeleteRagCorpusOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "DeleteTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.DeleteTensorboardTimeSeries", + "shortName": "DeleteRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagCorpus", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -23983,21 +26279,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ExportTensorboardTimeSeriesData_sync", - "title": "aiplatform ExportTensorboardTimeSeriesData Sample", - "description": "ExportTensorboardTimeSeriesData exports a TensorboardTimeSeries' data. Data is returned in paginated\nresponses.", - "file": "TensorboardClient/ExportTensorboardTimeSeriesData/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_DeleteRagFile_sync", + "title": "aiplatform DeleteRagFile Sample", + "description": "DeleteRagFile deletes a RagFile.", + "file": "VertexRagDataClient/DeleteRagFile/main.go", "language": "GO", "clientMethod": { - "shortName": "ExportTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ExportTensorboardTimeSeriesData", + "shortName": "DeleteRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.DeleteRagFile", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ExportTensorboardTimeSeriesDataRequest", + "type": "aiplatformpb.DeleteRagFileRequest", "name": "req" }, { @@ -24005,17 +26301,17 @@ "name": "opts" } ], - "resultType": "TimeSeriesDataPointIterator", + "resultType": "DeleteRagFileOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ExportTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ExportTensorboardTimeSeriesData", + "shortName": "DeleteRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.DeleteRagFile", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24023,20 +26319,20 @@ "segments": [ { "start": 18, - "end": 66, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_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": "TensorboardClient/GetIamPolicy/main.go", + "file": "VertexRagDataClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.GetIamPolicy", "parameters": [ { "type": "context.Context", @@ -24053,8 +26349,8 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { "shortName": "GetIamPolicy", @@ -24075,14 +26371,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetLocation_sync", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_GetLocation_sync", "title": "aiplatform GetLocation Sample", "description": "GetLocation gets information about a location.", - "file": "TensorboardClient/GetLocation/main.go", + "file": "VertexRagDataClient/GetLocation/main.go", "language": "GO", "clientMethod": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.GetLocation", "parameters": [ { "type": "context.Context", @@ -24099,8 +26395,8 @@ ], "resultType": "*locationpb.Location", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { "shortName": "GetLocation", @@ -24121,14 +26417,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_GetOperation_sync", "title": "aiplatform GetOperation Sample", "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "TensorboardClient/GetOperation/main.go", + "file": "VertexRagDataClient/GetOperation/main.go", "language": "GO", "clientMethod": { "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.GetOperation", "parameters": [ { "type": "context.Context", @@ -24145,8 +26441,8 @@ ], "resultType": "*longrunningpb.Operation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { "shortName": "GetOperation", @@ -24167,21 +26463,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboard_sync", - "title": "aiplatform GetTensorboard Sample", - "description": "GetTensorboard gets a Tensorboard.", - "file": "TensorboardClient/GetTensorboard/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_GetRagCorpus_sync", + "title": "aiplatform GetRagCorpus Sample", + "description": "GetRagCorpus gets a RagCorpus.", + "file": "VertexRagDataClient/GetRagCorpus/main.go", "language": "GO", "clientMethod": { - "shortName": "GetTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboard", + "shortName": "GetRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.GetRagCorpus", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTensorboardRequest", + "type": "aiplatformpb.GetRagCorpusRequest", "name": "req" }, { @@ -24189,17 +26485,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.Tensorboard", + "resultType": "*aiplatformpb.RagCorpus", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "GetTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboard", + "shortName": "GetRagCorpus", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagCorpus", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24213,21 +26509,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardExperiment_sync", - "title": "aiplatform GetTensorboardExperiment Sample", - "description": "GetTensorboardExperiment gets a TensorboardExperiment.", - "file": "TensorboardClient/GetTensorboardExperiment/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_GetRagFile_sync", + "title": "aiplatform GetRagFile Sample", + "description": "GetRagFile gets a RagFile.", + "file": "VertexRagDataClient/GetRagFile/main.go", "language": "GO", "clientMethod": { - "shortName": "GetTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardExperiment", + "shortName": "GetRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.GetRagFile", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTensorboardExperimentRequest", + "type": "aiplatformpb.GetRagFileRequest", "name": "req" }, { @@ -24235,17 +26531,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardExperiment", + "resultType": "*aiplatformpb.RagFile", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "GetTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardExperiment", + "shortName": "GetRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.GetRagFile", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24259,21 +26555,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardRun_sync", - "title": "aiplatform GetTensorboardRun Sample", - "description": "GetTensorboardRun gets a TensorboardRun.", - "file": "TensorboardClient/GetTensorboardRun/main.go", + "regionTag": "aiplatform_v1beta1_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": "GetTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardRun", + "shortName": "ImportRagFiles", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.ImportRagFiles", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTensorboardRunRequest", + "type": "aiplatformpb.ImportRagFilesRequest", "name": "req" }, { @@ -24281,17 +26577,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardRun", + "resultType": "ImportRagFilesOperation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "GetTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardRun", + "shortName": "ImportRagFiles", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.ImportRagFiles", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24299,27 +26595,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_GetTensorboardTimeSeries_sync", - "title": "aiplatform GetTensorboardTimeSeries Sample", - "description": "GetTensorboardTimeSeries gets a TensorboardTimeSeries.", - "file": "TensorboardClient/GetTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_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": "GetTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.GetTensorboardTimeSeries", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTensorboardTimeSeriesRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -24327,17 +26623,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardTimeSeries", + "resultType": "LocationIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "GetTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.GetTensorboardTimeSeries", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -24345,27 +26641,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "TensorboardClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_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": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListLocations", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -24373,17 +26669,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "OperationIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24397,21 +26693,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "TensorboardClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_ListRagCorpora_sync", + "title": "aiplatform ListRagCorpora Sample", + "description": "ListRagCorpora lists RagCorpora in a Location.", + "file": "VertexRagDataClient/ListRagCorpora/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListOperations", + "shortName": "ListRagCorpora", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.ListRagCorpora", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.ListRagCorporaRequest", "name": "req" }, { @@ -24419,17 +26715,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "RagCorpusIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "ListRagCorpora", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagCorpora", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24443,21 +26739,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardExperiments_sync", - "title": "aiplatform ListTensorboardExperiments Sample", - "description": "ListTensorboardExperiments lists TensorboardExperiments in a Location.", - "file": "TensorboardClient/ListTensorboardExperiments/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagDataService_ListRagFiles_sync", + "title": "aiplatform ListRagFiles Sample", + "description": "ListRagFiles lists RagFiles in a RagCorpus.", + "file": "VertexRagDataClient/ListRagFiles/main.go", "language": "GO", "clientMethod": { - "shortName": "ListTensorboardExperiments", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardExperiments", + "shortName": "ListRagFiles", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.ListRagFiles", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTensorboardExperimentsRequest", + "type": "aiplatformpb.ListRagFilesRequest", "name": "req" }, { @@ -24465,17 +26761,17 @@ "name": "opts" } ], - "resultType": "TensorboardExperimentIterator", + "resultType": "RagFileIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListTensorboardExperiments", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardExperiments", + "shortName": "ListRagFiles", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.ListRagFiles", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24489,21 +26785,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardRuns_sync", - "title": "aiplatform ListTensorboardRuns Sample", - "description": "ListTensorboardRuns lists TensorboardRuns in a Location.", - "file": "TensorboardClient/ListTensorboardRuns/main.go", + "regionTag": "aiplatform_v1beta1_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": "ListTensorboardRuns", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardRuns", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTensorboardRunsRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -24511,17 +26807,17 @@ "name": "opts" } ], - "resultType": "TensorboardRunIterator", + "resultType": "*iampb.Policy", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListTensorboardRuns", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardRuns", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -24529,27 +26825,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboardTimeSeries_sync", - "title": "aiplatform ListTensorboardTimeSeries Sample", - "description": "ListTensorboardTimeSeries lists TensorboardTimeSeries in a Location.", - "file": "TensorboardClient/ListTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_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": "ListTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboardTimeSeries", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTensorboardTimeSeriesRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -24557,17 +26853,17 @@ "name": "opts" } ], - "resultType": "TensorboardTimeSeriesIterator", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboardTimeSeries", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -24575,27 +26871,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListTensorboards_sync", - "title": "aiplatform ListTensorboards Sample", - "description": "ListTensorboards lists Tensorboards in a Location.", - "file": "TensorboardClient/ListTensorboards/main.go", + "regionTag": "aiplatform_v1beta1_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": "ListTensorboards", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ListTensorboards", + "shortName": "UploadRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.UploadRagFile", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTensorboardsRequest", + "type": "aiplatformpb.UploadRagFileRequest", "name": "req" }, { @@ -24603,17 +26899,17 @@ "name": "opts" } ], - "resultType": "TensorboardIterator", + "resultType": "*aiplatformpb.UploadRagFileResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ListTensorboards", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ListTensorboards", + "shortName": "UploadRagFile", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService.UploadRagFile", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagDataService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataService" } } }, @@ -24621,27 +26917,27 @@ "segments": [ { "start": 18, - "end": 66, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardSize_sync", - "title": "aiplatform ReadTensorboardSize Sample", - "description": "ReadTensorboardSize returns the storage size for a given TensorBoard instance.", - "file": "TensorboardClient/ReadTensorboardSize/main.go", + "regionTag": "aiplatform_v1beta1_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": "ReadTensorboardSize", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardSize", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ReadTensorboardSizeRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -24649,17 +26945,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.ReadTensorboardSizeResponse", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagDataClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagDataClient" }, "method": { - "shortName": "ReadTensorboardSize", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardSize", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24673,21 +26969,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardTimeSeriesData_sync", - "title": "aiplatform ReadTensorboardTimeSeriesData Sample", - "description": "ReadTensorboardTimeSeriesData reads a TensorboardTimeSeries' data. By default, if the number of data\npoints stored is less than 1000, all data is returned. Otherwise, 1000\ndata points is randomly selected from this time series and returned.\nThis value can be changed by changing max_data_points, which can't be\ngreater than 10k.", - "file": "TensorboardClient/ReadTensorboardTimeSeriesData/main.go", + "regionTag": "aiplatform_v1beta1_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": "ReadTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardTimeSeriesData", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ReadTensorboardTimeSeriesDataRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -24695,17 +26991,16 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.ReadTensorboardTimeSeriesDataResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "ReadTensorboardTimeSeriesData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardTimeSeriesData", + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24713,27 +27008,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ReadTensorboardUsage_sync", - "title": "aiplatform ReadTensorboardUsage Sample", - "description": "ReadTensorboardUsage returns a list of monthly active users for a given TensorBoard instance.", - "file": "TensorboardClient/ReadTensorboardUsage/main.go", + "regionTag": "aiplatform_v1beta1_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": "ReadTensorboardUsage", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.ReadTensorboardUsage", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ReadTensorboardUsageRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -24741,17 +27036,16 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.ReadTensorboardUsageResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "ReadTensorboardUsage", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.ReadTensorboardUsage", + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24759,27 +27053,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_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": "TensorboardClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_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": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.SetIamPolicy", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -24789,12 +27083,12 @@ ], "resultType": "*iampb.Policy", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", "service": { "shortName": "IAMPolicy", "fullName": "google.iam.v1.IAMPolicy" @@ -24811,21 +27105,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_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": "TensorboardClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_VertexRagService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "VertexRagClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.TestIamPermissions", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -24833,17 +27127,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "*locationpb.Location", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -24857,21 +27151,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboard_sync", - "title": "aiplatform UpdateTensorboard Sample", - "description": "UpdateTensorboard updates a Tensorboard.", - "file": "TensorboardClient/UpdateTensorboard/main.go", + "regionTag": "aiplatform_v1beta1_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": "UpdateTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboard", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateTensorboardRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -24879,17 +27173,17 @@ "name": "opts" } ], - "resultType": "UpdateTensorboardOperation", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "UpdateTensorboard", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboard", + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24897,27 +27191,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardExperiment_sync", - "title": "aiplatform UpdateTensorboardExperiment Sample", - "description": "UpdateTensorboardExperiment updates a TensorboardExperiment.", - "file": "TensorboardClient/UpdateTensorboardExperiment/main.go", + "regionTag": "aiplatform_v1beta1_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": "UpdateTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardExperiment", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateTensorboardExperimentRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -24925,17 +27219,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardExperiment", + "resultType": "LocationIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "UpdateTensorboardExperiment", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardExperiment", + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" } } }, @@ -24943,27 +27237,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardRun_sync", - "title": "aiplatform UpdateTensorboardRun Sample", - "description": "UpdateTensorboardRun updates a TensorboardRun.", - "file": "TensorboardClient/UpdateTensorboardRun/main.go", + "regionTag": "aiplatform_v1beta1_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": "UpdateTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardRun", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateTensorboardRunRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -24971,17 +27265,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardRun", + "resultType": "OperationIterator", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "UpdateTensorboardRun", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardRun", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } }, @@ -24989,27 +27283,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 66, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_UpdateTensorboardTimeSeries_sync", - "title": "aiplatform UpdateTensorboardTimeSeries Sample", - "description": "UpdateTensorboardTimeSeries updates a TensorboardTimeSeries.", - "file": "TensorboardClient/UpdateTensorboardTimeSeries/main.go", + "regionTag": "aiplatform_v1beta1_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": "UpdateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.UpdateTensorboardTimeSeries", + "shortName": "RetrieveContexts", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.RetrieveContexts", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateTensorboardTimeSeriesRequest", + "type": "aiplatformpb.RetrieveContextsRequest", "name": "req" }, { @@ -25017,17 +27311,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.TensorboardTimeSeries", + "resultType": "*aiplatformpb.RetrieveContextsResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "UpdateTensorboardTimeSeries", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.UpdateTensorboardTimeSeries", + "shortName": "RetrieveContexts", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagService.RetrieveContexts", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "VertexRagService", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagService" } } }, @@ -25041,21 +27335,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "TensorboardClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_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": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WaitOperation", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -25063,17 +27357,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "*iampb.Policy", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.longrunning.Operations.WaitOperation", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -25087,21 +27381,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WriteTensorboardExperimentData_sync", - "title": "aiplatform WriteTensorboardExperimentData Sample", - "description": "WriteTensorboardExperimentData write time series data points of multiple TensorboardTimeSeries in multiple\nTensorboardRun's. If any data fail to be ingested, an error is returned.", - "file": "TensorboardClient/WriteTensorboardExperimentData/main.go", + "regionTag": "aiplatform_v1beta1_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": "WriteTensorboardExperimentData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WriteTensorboardExperimentData", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.WriteTensorboardExperimentDataRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -25109,17 +27403,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.WriteTensorboardExperimentDataResponse", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "WriteTensorboardExperimentData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardExperimentData", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -25133,21 +27427,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_TensorboardService_WriteTensorboardRunData_sync", - "title": "aiplatform WriteTensorboardRunData Sample", - "description": "WriteTensorboardRunData write time series data points into multiple TensorboardTimeSeries under\na TensorboardRun. If any data fail to be ingested, an error is returned.", - "file": "TensorboardClient/WriteTensorboardRunData/main.go", + "regionTag": "aiplatform_v1beta1_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": "WriteTensorboardRunData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient.WriteTensorboardRunData", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.WriteTensorboardRunDataRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -25155,17 +27449,17 @@ "name": "opts" } ], - "resultType": "*aiplatformpb.WriteTensorboardRunDataResponse", + "resultType": "*longrunningpb.Operation", "client": { - "shortName": "TensorboardClient", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardClient" + "shortName": "VertexRagClient", + "fullName": "google.cloud.aiplatform.v1beta1.VertexRagClient" }, "method": { - "shortName": "WriteTensorboardRunData", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService.WriteTensorboardRunData", + "shortName": "WaitOperation", + "fullName": "google.longrunning.Operations.WaitOperation", "service": { - "shortName": "TensorboardService", - "fullName": "google.cloud.aiplatform.v1beta1.TensorboardService" + "shortName": "Operations", + "fullName": "google.longrunning.Operations" } } },