From 23c974a019693e6453c1342cad172df77f86974e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 11 Apr 2023 09:54:46 -0500 Subject: [PATCH] feat(aiplatform): add notification_channels in aiplatform v1beta1 model_monitoring.proto (#7719) PiperOrigin-RevId: 523180073 Source-Link: https://github.com/googleapis/googleapis/commit/a793ce31e6a71027fbad8a8157b22a4b488ea77c Source-Link: https://github.com/googleapis/googleapis-gen/commit/c904f381ad20d373cb91bf687b932f6f48a8f0b9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzkwNGYzODFhZDIwZDM3M2NiOTFiZjY4N2I5MzJmNmY0OGE4ZjBiOSJ9 BEGIN_NESTED_COMMIT chore(eventarc/publishing): fix go library package name PiperOrigin-RevId: 523142753 Source-Link: https://github.com/googleapis/googleapis/commit/7a7cfacfdd2844fefa951920f2972468a93b0acf Source-Link: https://github.com/googleapis/googleapis-gen/commit/5c50e1d1a88c797349559b3bf777b9fcb95f9ad4 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWM1MGUxZDFhODhjNzk3MzQ5NTU5YjNiZjc3N2I5ZmNiOTVmOWFkNCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(retail): add merchant center link service feat: support per-entity search and autocomplete feat: expose facets and product counts in autocomplete feat: add model get API feat: allow cascaded deletion on primary product feat: support new filter syntax for recommendation feat: expose A/B experiment info in search response docs: keep the API doc up-to-date with recent changes PiperOrigin-RevId: 523140513 Source-Link: https://github.com/googleapis/googleapis/commit/4a9f93319f225e6524e0d063d69b85f9ee4ed030 Source-Link: https://github.com/googleapis/googleapis-gen/commit/ffb754a7d2cd79380fb5ccfd33a1c0908dbb62a5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZmZiNzU0YTdkMmNkNzkzODBmYjVjY2ZkMzNhMWMwOTA4ZGJiNjJhNSJ9 END_NESTED_COMMIT --- .../aiplatformpb/model_monitoring.pb.go | 97 +- alloydb/apiv1/alloydb_admin_client.go | 0 alloydb/apiv1/alloydbpb/resources.pb.go | 103 +- alloydb/apiv1/alloydbpb/service.pb.go | 306 +- alloydb/apiv1/doc.go | 3 +- alloydb/apiv1/gapic_metadata.json | 104 + alloydb/apiv1/iam_policy_client.go | 1207 ++++ .../apiv1/iam_policy_client_example_test.go | 294 + alloydb/apiv1alpha/alloydb_admin_client.go | 0 alloydb/apiv1alpha/alloydbpb/resources.pb.go | 75 +- alloydb/apiv1alpha/alloydbpb/service.pb.go | 398 +- alloydb/apiv1alpha/doc.go | 3 +- alloydb/apiv1alpha/gapic_metadata.json | 104 + alloydb/apiv1alpha/iam_policy_client.go | 1207 ++++ .../iam_policy_client_example_test.go | 294 + alloydb/apiv1beta/alloydb_admin_client.go | 0 alloydb/apiv1beta/alloydbpb/resources.pb.go | 103 +- alloydb/apiv1beta/alloydbpb/service.pb.go | 402 +- alloydb/apiv1beta/doc.go | 1 + alloydb/apiv1beta/gapic_metadata.json | 104 + alloydb/apiv1beta/iam_policy_client.go | 1201 ++++ .../iam_policy_client_example_test.go | 294 + alloydb/go.mod | 1 + alloydb/go.sum | 2 + eventarc/publishing/apiv1/doc.go | 0 eventarc/publishing/apiv1/publisher_client.go | 0 .../apiv1/publishingpb/publisher.pb.go | 28 +- internal/.repo-metadata-full.json | 11 +- .../DatasetClient/CancelOperation/main.go | 4 +- .../DatasetClient/DeleteOperation/main.go | 4 +- .../apiv1/DatasetClient/GetIamPolicy/main.go | 4 +- .../apiv1/DatasetClient/GetOperation/main.go | 4 +- .../DatasetClient/ListOperations/main.go | 6 +- .../apiv1/DatasetClient/SetIamPolicy/main.go | 4 +- .../DatasetClient/TestIamPermissions/main.go | 4 +- .../apiv1/DatasetClient/WaitOperation/main.go | 4 +- .../EndpointClient/CancelOperation/main.go | 4 +- .../EndpointClient/DeleteOperation/main.go | 4 +- .../apiv1/EndpointClient/GetIamPolicy/main.go | 4 +- .../apiv1/EndpointClient/GetOperation/main.go | 4 +- .../EndpointClient/ListOperations/main.go | 6 +- .../apiv1/EndpointClient/SetIamPolicy/main.go | 4 +- .../EndpointClient/TestIamPermissions/main.go | 4 +- .../EndpointClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteFeatureValues/main.go | 58 + .../DeleteOperation/main.go | 4 +- .../FeaturestoreClient/GetIamPolicy/main.go | 4 +- .../FeaturestoreClient/GetOperation/main.go | 4 +- .../FeaturestoreClient/ListOperations/main.go | 6 +- .../FeaturestoreClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../FeaturestoreClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../GetIamPolicy/main.go | 4 +- .../GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../WaitOperation/main.go | 4 +- .../apiv1/IndexClient/CancelOperation/main.go | 4 +- .../apiv1/IndexClient/DeleteOperation/main.go | 4 +- .../apiv1/IndexClient/GetIamPolicy/main.go | 4 +- .../apiv1/IndexClient/GetOperation/main.go | 4 +- .../apiv1/IndexClient/ListOperations/main.go | 6 +- .../apiv1/IndexClient/SetIamPolicy/main.go | 4 +- .../IndexClient/TestIamPermissions/main.go | 4 +- .../apiv1/IndexClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../IndexEndpointClient/GetIamPolicy/main.go | 4 +- .../IndexEndpointClient/GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../IndexEndpointClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../IndexEndpointClient/WaitOperation/main.go | 4 +- .../apiv1/JobClient/CancelOperation/main.go | 4 +- .../apiv1/JobClient/DeleteOperation/main.go | 4 +- .../apiv1/JobClient/GetIamPolicy/main.go | 4 +- .../apiv1/JobClient/GetOperation/main.go | 4 +- .../apiv1/JobClient/ListOperations/main.go | 6 +- .../apiv1/JobClient/SetIamPolicy/main.go | 4 +- .../JobClient/TestIamPermissions/main.go | 4 +- .../apiv1/JobClient/WaitOperation/main.go | 4 +- .../MetadataClient/CancelOperation/main.go | 4 +- .../MetadataClient/DeleteOperation/main.go | 4 +- .../apiv1/MetadataClient/GetIamPolicy/main.go | 4 +- .../apiv1/MetadataClient/GetOperation/main.go | 4 +- .../MetadataClient/ListOperations/main.go | 6 +- .../apiv1/MetadataClient/SetIamPolicy/main.go | 4 +- .../MetadataClient/TestIamPermissions/main.go | 4 +- .../MetadataClient/WaitOperation/main.go | 4 +- .../MigrationClient/CancelOperation/main.go | 4 +- .../MigrationClient/DeleteOperation/main.go | 4 +- .../MigrationClient/GetIamPolicy/main.go | 4 +- .../MigrationClient/GetOperation/main.go | 4 +- .../MigrationClient/ListOperations/main.go | 6 +- .../MigrationClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../MigrationClient/WaitOperation/main.go | 4 +- .../BatchImportEvaluatedAnnotations/main.go | 53 + .../apiv1/ModelClient/CancelOperation/main.go | 4 +- .../apiv1/ModelClient/DeleteOperation/main.go | 4 +- .../apiv1/ModelClient/GetIamPolicy/main.go | 4 +- .../apiv1/ModelClient/GetOperation/main.go | 4 +- .../apiv1/ModelClient/ListOperations/main.go | 6 +- .../apiv1/ModelClient/SetIamPolicy/main.go | 4 +- .../ModelClient/TestIamPermissions/main.go | 4 +- .../apiv1/ModelClient/WaitOperation/main.go | 4 +- .../PipelineClient/CancelOperation/main.go | 4 +- .../PipelineClient/DeleteOperation/main.go | 4 +- .../apiv1/PipelineClient/GetIamPolicy/main.go | 4 +- .../apiv1/PipelineClient/GetOperation/main.go | 4 +- .../PipelineClient/ListOperations/main.go | 6 +- .../apiv1/PipelineClient/SetIamPolicy/main.go | 4 +- .../PipelineClient/TestIamPermissions/main.go | 4 +- .../PipelineClient/WaitOperation/main.go | 4 +- .../PredictionClient/CancelOperation/main.go | 4 +- .../PredictionClient/DeleteOperation/main.go | 4 +- .../PredictionClient/GetIamPolicy/main.go | 4 +- .../PredictionClient/GetOperation/main.go | 4 +- .../PredictionClient/ListOperations/main.go | 6 +- .../PredictionClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../PredictionClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../SpecialistPoolClient/GetIamPolicy/main.go | 4 +- .../SpecialistPoolClient/GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../SpecialistPoolClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../WaitOperation/main.go | 4 +- .../TensorboardClient/CancelOperation/main.go | 4 +- .../TensorboardClient/DeleteOperation/main.go | 4 +- .../TensorboardClient/GetIamPolicy/main.go | 4 +- .../TensorboardClient/GetOperation/main.go | 4 +- .../TensorboardClient/ListOperations/main.go | 6 +- .../TensorboardClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../TensorboardClient/WaitOperation/main.go | 4 +- .../VizierClient/CancelOperation/main.go | 4 +- .../VizierClient/DeleteOperation/main.go | 4 +- .../apiv1/VizierClient/GetIamPolicy/main.go | 4 +- .../apiv1/VizierClient/GetOperation/main.go | 4 +- .../apiv1/VizierClient/ListOperations/main.go | 6 +- .../apiv1/VizierClient/SetIamPolicy/main.go | 4 +- .../VizierClient/TestIamPermissions/main.go | 4 +- .../apiv1/VizierClient/WaitOperation/main.go | 4 +- ...t_metadata.google.cloud.aiplatform.v1.json | 126 +- .../DatasetClient/CancelOperation/main.go | 4 +- .../DatasetClient/DeleteOperation/main.go | 4 +- .../DatasetClient/GetIamPolicy/main.go | 4 +- .../DatasetClient/GetOperation/main.go | 4 +- .../DatasetClient/ListOperations/main.go | 6 +- .../DatasetClient/SetIamPolicy/main.go | 4 +- .../DatasetClient/TestIamPermissions/main.go | 4 +- .../DatasetClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../GetIamPolicy/main.go | 4 +- .../GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../WaitOperation/main.go | 4 +- .../EndpointClient/CancelOperation/main.go | 4 +- .../EndpointClient/DeleteOperation/main.go | 4 +- .../EndpointClient/GetIamPolicy/main.go | 4 +- .../EndpointClient/GetOperation/main.go | 4 +- .../EndpointClient/ListOperations/main.go | 6 +- .../EndpointClient/SetIamPolicy/main.go | 4 +- .../EndpointClient/TestIamPermissions/main.go | 4 +- .../EndpointClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../FeaturestoreClient/GetIamPolicy/main.go | 4 +- .../FeaturestoreClient/GetOperation/main.go | 4 +- .../FeaturestoreClient/ListOperations/main.go | 6 +- .../FeaturestoreClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../FeaturestoreClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../GetIamPolicy/main.go | 4 +- .../GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../WaitOperation/main.go | 4 +- .../IndexClient/CancelOperation/main.go | 4 +- .../IndexClient/DeleteOperation/main.go | 4 +- .../IndexClient/GetIamPolicy/main.go | 4 +- .../IndexClient/GetOperation/main.go | 4 +- .../IndexClient/ListOperations/main.go | 6 +- .../IndexClient/SetIamPolicy/main.go | 4 +- .../IndexClient/TestIamPermissions/main.go | 4 +- .../IndexClient/WaitOperation/main.go | 4 +- .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../IndexEndpointClient/GetIamPolicy/main.go | 4 +- .../IndexEndpointClient/GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../IndexEndpointClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../IndexEndpointClient/WaitOperation/main.go | 4 +- .../JobClient/CancelOperation/main.go | 4 +- .../JobClient/DeleteOperation/main.go | 4 +- .../apiv1beta1/JobClient/GetIamPolicy/main.go | 4 +- .../apiv1beta1/JobClient/GetOperation/main.go | 4 +- .../JobClient/ListOperations/main.go | 6 +- .../apiv1beta1/JobClient/SetIamPolicy/main.go | 4 +- .../JobClient/TestIamPermissions/main.go | 4 +- .../JobClient/WaitOperation/main.go | 4 +- .../MatchClient/CancelOperation/main.go | 52 + .../MatchClient/DeleteOperation/main.go | 52 + .../MatchClient/FindNeighbors/main.go | 53 + .../MatchClient/GetIamPolicy/main.go | 54 + .../MatchClient/GetLocation/main.go | 54 + .../MatchClient/GetOperation/main.go | 54 + .../MatchClient/ListLocations/main.go | 61 + .../MatchClient/ListOperations/main.go | 61 + .../MatchClient/ReadIndexDatapoints/main.go | 53 + .../MatchClient/SetIamPolicy/main.go | 54 + .../MatchClient/TestIamPermissions/main.go | 54 + .../MatchClient/WaitOperation/main.go | 54 + .../MetadataClient/CancelOperation/main.go | 4 +- .../MetadataClient/DeleteOperation/main.go | 4 +- .../MetadataClient/GetIamPolicy/main.go | 4 +- .../MetadataClient/GetOperation/main.go | 4 +- .../MetadataClient/ListOperations/main.go | 6 +- .../MetadataClient/SetIamPolicy/main.go | 4 +- .../MetadataClient/TestIamPermissions/main.go | 4 +- .../MetadataClient/WaitOperation/main.go | 4 +- .../MigrationClient/CancelOperation/main.go | 4 +- .../MigrationClient/DeleteOperation/main.go | 4 +- .../MigrationClient/GetIamPolicy/main.go | 4 +- .../MigrationClient/GetOperation/main.go | 4 +- .../MigrationClient/ListOperations/main.go | 6 +- .../MigrationClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../MigrationClient/WaitOperation/main.go | 4 +- .../BatchImportEvaluatedAnnotations/main.go | 53 + .../ModelClient/CancelOperation/main.go | 4 +- .../ModelClient/DeleteOperation/main.go | 4 +- .../ModelClient/GetIamPolicy/main.go | 4 +- .../ModelClient/GetOperation/main.go | 4 +- .../ModelClient/ListOperations/main.go | 6 +- .../ModelClient/SetIamPolicy/main.go | 4 +- .../ModelClient/TestIamPermissions/main.go | 4 +- .../ModelClient/WaitOperation/main.go | 4 +- .../PipelineClient/CancelOperation/main.go | 4 +- .../PipelineClient/DeleteOperation/main.go | 4 +- .../PipelineClient/GetIamPolicy/main.go | 4 +- .../PipelineClient/GetOperation/main.go | 4 +- .../PipelineClient/ListOperations/main.go | 6 +- .../PipelineClient/SetIamPolicy/main.go | 4 +- .../PipelineClient/TestIamPermissions/main.go | 4 +- .../PipelineClient/WaitOperation/main.go | 4 +- .../PredictionClient/CancelOperation/main.go | 4 +- .../PredictionClient/DeleteOperation/main.go | 4 +- .../PredictionClient/GetIamPolicy/main.go | 4 +- .../PredictionClient/GetOperation/main.go | 4 +- .../PredictionClient/ListOperations/main.go | 6 +- .../PredictionClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../PredictionClient/WaitOperation/main.go | 4 +- .../ScheduleClient/CancelOperation/main.go | 52 + .../ScheduleClient/CreateSchedule/main.go | 53 + .../ScheduleClient/DeleteOperation/main.go | 52 + .../ScheduleClient/DeleteSchedule/main.go | 56 + .../ScheduleClient/GetIamPolicy/main.go | 54 + .../ScheduleClient/GetLocation/main.go | 54 + .../ScheduleClient/GetOperation/main.go | 54 + .../ScheduleClient/GetSchedule/main.go | 53 + .../ScheduleClient/ListLocations/main.go | 61 + .../ScheduleClient/ListOperations/main.go | 61 + .../ScheduleClient/ListSchedules/main.go | 60 + .../ScheduleClient/PauseSchedule/main.go | 51 + .../ScheduleClient/ResumeSchedule/main.go | 51 + .../ScheduleClient/SetIamPolicy/main.go | 54 + .../ScheduleClient/TestIamPermissions/main.go | 54 + .../ScheduleClient/WaitOperation/main.go | 54 + .../CancelOperation/main.go | 4 +- .../DeleteOperation/main.go | 4 +- .../SpecialistPoolClient/GetIamPolicy/main.go | 4 +- .../SpecialistPoolClient/GetOperation/main.go | 4 +- .../ListOperations/main.go | 6 +- .../SpecialistPoolClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../WaitOperation/main.go | 4 +- .../TensorboardClient/CancelOperation/main.go | 4 +- .../TensorboardClient/DeleteOperation/main.go | 4 +- .../TensorboardClient/GetIamPolicy/main.go | 4 +- .../TensorboardClient/GetOperation/main.go | 4 +- .../TensorboardClient/ListOperations/main.go | 6 +- .../TensorboardClient/SetIamPolicy/main.go | 4 +- .../TestIamPermissions/main.go | 4 +- .../TensorboardClient/WaitOperation/main.go | 4 +- .../VizierClient/CancelOperation/main.go | 4 +- .../VizierClient/DeleteOperation/main.go | 4 +- .../VizierClient/GetIamPolicy/main.go | 4 +- .../VizierClient/GetOperation/main.go | 4 +- .../VizierClient/ListOperations/main.go | 6 +- .../VizierClient/SetIamPolicy/main.go | 4 +- .../VizierClient/TestIamPermissions/main.go | 4 +- .../VizierClient/WaitOperation/main.go | 4 +- ...adata.google.cloud.aiplatform.v1beta1.json | 4102 ++++++++---- .../CreateMerchantCenterAccountLink/main.go | 59 + .../DeleteMerchantCenterAccountLink/main.go | 52 + .../GetOperation/main.go | 53 + .../ListMerchantCenterAccountLinks/main.go | 54 + .../ListOperations/main.go | 60 + .../apiv2alpha/ModelClient/GetModel/main.go | 54 + ..._metadata.google.cloud.retail.v2alpha.json | 285 +- orgpolicy/apiv1/version.go | 23 + retail/apiv2alpha/completion_client.go | 9 +- retail/apiv2alpha/gapic_metadata.json | 74 + .../merchant_center_account_link_client.go | 904 +++ ...center_account_link_client_example_test.go | 194 + retail/apiv2alpha/model_client.go | 110 + .../apiv2alpha/model_client_example_test.go | 25 + retail/apiv2alpha/product_client.go | 73 +- retail/apiv2alpha/retailpb/catalog.pb.go | 17 +- retail/apiv2alpha/retailpb/common.pb.go | 2 +- .../retailpb/completion_service.pb.go | 362 +- .../apiv2alpha/retailpb/import_config.pb.go | 2 +- .../merchant_center_account_link.pb.go | 557 ++ ...merchant_center_account_link_service.pb.go | 705 ++ .../apiv2alpha/retailpb/model_service.pb.go | 554 +- .../retailpb/prediction_service.pb.go | 3 + retail/apiv2alpha/retailpb/product.pb.go | 5 +- .../apiv2alpha/retailpb/product_service.pb.go | 750 ++- .../apiv2alpha/retailpb/search_service.pb.go | 973 ++- .../apiv2alpha/retailpb/serving_config.pb.go | 7 +- retail/apiv2alpha/retailpb/user_event.pb.go | 120 +- .../retailpb/user_event_service.pb.go | 2 +- workstations/apiv1/doc.go | 193 + workstations/apiv1/gapic_metadata.json | 397 ++ workstations/apiv1/locations_client.go | 1197 ++++ .../apiv1/locations_client_example_test.go | 294 + workstations/apiv1/version.go | 23 + workstations/apiv1/workstations_client.go | 4545 +++++++++++++ .../apiv1/workstations_client_example_test.go | 823 +++ .../apiv1/workstationspb/workstations.pb.go | 5943 +++++++++++++++++ workstations/apiv1beta/doc.go | 0 workstations/apiv1beta/gapic_metadata.json | 104 + workstations/apiv1beta/locations_client.go | 1197 ++++ .../locations_client_example_test.go | 294 + workstations/apiv1beta/workstations_client.go | 0 .../workstationspb/workstations.pb.go | 390 +- 352 files changed, 30713 insertions(+), 4093 deletions(-) mode change 100644 => 100755 alloydb/apiv1/alloydb_admin_client.go mode change 100644 => 100755 alloydb/apiv1/alloydbpb/resources.pb.go mode change 100644 => 100755 alloydb/apiv1/alloydbpb/service.pb.go mode change 100644 => 100755 alloydb/apiv1/doc.go create mode 100755 alloydb/apiv1/iam_policy_client.go create mode 100644 alloydb/apiv1/iam_policy_client_example_test.go mode change 100644 => 100755 alloydb/apiv1alpha/alloydb_admin_client.go mode change 100644 => 100755 alloydb/apiv1alpha/alloydbpb/resources.pb.go mode change 100644 => 100755 alloydb/apiv1alpha/alloydbpb/service.pb.go mode change 100644 => 100755 alloydb/apiv1alpha/doc.go create mode 100755 alloydb/apiv1alpha/iam_policy_client.go create mode 100644 alloydb/apiv1alpha/iam_policy_client_example_test.go mode change 100644 => 100755 alloydb/apiv1beta/alloydb_admin_client.go mode change 100644 => 100755 alloydb/apiv1beta/alloydbpb/resources.pb.go mode change 100644 => 100755 alloydb/apiv1beta/alloydbpb/service.pb.go mode change 100644 => 100755 alloydb/apiv1beta/doc.go create mode 100755 alloydb/apiv1beta/iam_policy_client.go create mode 100644 alloydb/apiv1beta/iam_policy_client_example_test.go mode change 100644 => 100755 eventarc/publishing/apiv1/doc.go mode change 100644 => 100755 eventarc/publishing/apiv1/publisher_client.go mode change 100644 => 100755 eventarc/publishing/apiv1/publishingpb/publisher.pb.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteFeatureValues/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1/ModelClient/BatchImportEvaluatedAnnotations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/FindNeighbors/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ReadIndexDatapoints/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/BatchImportEvaluatedAnnotations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CancelOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CreateSchedule/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteSchedule/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetLocation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetOperation/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetSchedule/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListLocations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListOperations/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListSchedules/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/PauseSchedule/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ResumeSchedule/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/SetIamPolicy/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/TestIamPermissions/main.go create mode 100644 internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/WaitOperation/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/CreateMerchantCenterAccountLink/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/DeleteMerchantCenterAccountLink/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/GetOperation/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListMerchantCenterAccountLinks/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListOperations/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/ModelClient/GetModel/main.go create mode 100644 orgpolicy/apiv1/version.go create mode 100755 retail/apiv2alpha/merchant_center_account_link_client.go create mode 100644 retail/apiv2alpha/merchant_center_account_link_client_example_test.go create mode 100755 retail/apiv2alpha/retailpb/merchant_center_account_link.pb.go create mode 100755 retail/apiv2alpha/retailpb/merchant_center_account_link_service.pb.go create mode 100755 workstations/apiv1/doc.go create mode 100644 workstations/apiv1/gapic_metadata.json create mode 100755 workstations/apiv1/locations_client.go create mode 100644 workstations/apiv1/locations_client_example_test.go create mode 100644 workstations/apiv1/version.go create mode 100755 workstations/apiv1/workstations_client.go create mode 100644 workstations/apiv1/workstations_client_example_test.go create mode 100755 workstations/apiv1/workstationspb/workstations.pb.go mode change 100644 => 100755 workstations/apiv1beta/doc.go create mode 100755 workstations/apiv1beta/locations_client.go create mode 100644 workstations/apiv1beta/locations_client_example_test.go mode change 100644 => 100755 workstations/apiv1beta/workstations_client.go mode change 100644 => 100755 workstations/apiv1beta/workstationspb/workstations.pb.go diff --git a/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go b/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go index 80fa7257a8fe..8963562bb7e6 100755 --- a/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go +++ b/aiplatform/apiv1beta1/aiplatformpb/model_monitoring.pb.go @@ -266,6 +266,10 @@ type ModelMonitoringAlertConfig struct { // This can be further sinked to Pub/Sub or any other services supported // by Cloud Logging. EnableLogging bool `protobuf:"varint,2,opt,name=enable_logging,json=enableLogging,proto3" json:"enable_logging,omitempty"` + // Resource names of the NotificationChannels to send alert. + // Must be of the format + // `projects//notificationChannels/` + NotificationChannels []string `protobuf:"bytes,3,rep,name=notification_channels,json=notificationChannels,proto3" json:"notification_channels,omitempty"` } func (x *ModelMonitoringAlertConfig) Reset() { @@ -321,6 +325,13 @@ func (x *ModelMonitoringAlertConfig) GetEnableLogging() bool { return false } +func (x *ModelMonitoringAlertConfig) GetNotificationChannels() []string { + if x != nil { + return x.NotificationChannels + } + return nil +} + type isModelMonitoringAlertConfig_Alert interface { isModelMonitoringAlertConfig_Alert() } @@ -1253,7 +1264,7 @@ var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = []byte 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x53, 0x4f, 0x4e, 0x4c, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x03, 0x42, 0x0d, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xff, 0x01, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe8, 0x02, 0x0a, 0x1a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7c, 0x0a, 0x12, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, @@ -1266,41 +1277,55 @@ var file_google_cloud_aiplatform_v1beta1_model_monitoring_proto_rawDesc = []byte 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x1a, 0x33, 0x0a, 0x10, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, - 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x22, 0x36, - 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 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, 0x53, 0x61, 0x6d, 0x70, - 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x12, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0x35, 0x0a, 0x12, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 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, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x6e, 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, + 0x12, 0x67, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x32, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x33, 0x0a, 0x10, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, + 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x07, + 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, + 0xc1, 0x01, 0x0a, 0x10, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 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, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, + 0x61, 0x74, 0x65, 0x67, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x35, 0x0a, 0x12, + 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, + 0x61, 0x74, 0x65, 0x42, 0xdd, 0x02, 0xea, 0x41, 0x6f, 0x0a, 0x2d, 0x6d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 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, 0x14, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 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 ( diff --git a/alloydb/apiv1/alloydb_admin_client.go b/alloydb/apiv1/alloydb_admin_client.go old mode 100644 new mode 100755 diff --git a/alloydb/apiv1/alloydbpb/resources.pb.go b/alloydb/apiv1/alloydbpb/resources.pb.go old mode 100644 new mode 100755 index 3b5e8e15d21e..815d7f73e854 --- a/alloydb/apiv1/alloydbpb/resources.pb.go +++ b/alloydb/apiv1/alloydbpb/resources.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1/resources.proto package alloydbpb @@ -49,7 +49,7 @@ const ( DatabaseVersion_DATABASE_VERSION_UNSPECIFIED DatabaseVersion = 0 // DEPRECATED - The database version is Postgres 13. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in google/cloud/alloydb/v1/resources.proto. DatabaseVersion_POSTGRES_13 DatabaseVersion = 1 // The database version is Postgres 14. DatabaseVersion_POSTGRES_14 DatabaseVersion = 2 @@ -604,9 +604,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // - Read pool of size 1 can only have zonal availability. - // - Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // * Read pool of size 1 can only have zonal availability. + // * Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1216,7 +1216,6 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: - // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1228,7 +1227,6 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: - // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1398,7 +1396,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} + // * projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1460,17 +1458,15 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: - // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id} // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -1767,15 +1763,14 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // - projects/{project}/locations/{region}/clusters/{cluster_id} + // * projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -1809,10 +1804,11 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // - They are copied from primary instance on read instance creation. - // - Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. + // * They are copied from primary instance on read instance creation. + // * Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. + // // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2035,15 +2031,14 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} - // + // * projects/{project}/locations/{region}/backups/{backup_id} // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2274,13 +2269,11 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: - // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // - projects/{project}/locations/{location}/flags/{flag} - // + // * projects/{project}/locations/{location}/flags/{flag} // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". @@ -3671,35 +3664,35 @@ var file_google_cloud_alloydb_v1_resources_proto_rawDesc = []byte{ 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, - 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0xb2, 0x03, 0x0a, - 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, - 0x31, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, - 0x79, 0x64, 0x62, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, - 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x6c, 0x6c, 0x6f, 0x79, - 0x44, 0x42, 0x3a, 0x3a, 0x56, 0x31, 0xea, 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 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, 0x6b, 0x65, - 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, - 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, - 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, - 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0xb2, 0x03, 0xea, + 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, + 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 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, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, + 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, + 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, + 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, + 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x6c, + 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, + 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, + 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x42, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/alloydb/apiv1/alloydbpb/service.pb.go b/alloydb/apiv1/alloydbpb/service.pb.go old mode 100644 new mode 100755 index c61a479c5c66..1ef3081d97b5 --- a/alloydb/apiv1/alloydbpb/service.pb.go +++ b/alloydb/apiv1/alloydbpb/service.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1/service.proto package alloydbpb @@ -128,7 +128,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // - projects/{project}/locations/- + // * projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -641,7 +641,6 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: - // // *RestoreClusterRequest_BackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` // Required. The name of the parent resource. For the required format, see the @@ -773,8 +772,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // - projects/{project}/locations/-/clusters/- - // - projects/{project}/locations/{region}/clusters/- + // * projects/{project}/locations/-/clusters/- + // * projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1347,11 +1346,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2281,7 +2280,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // - projects/{project}/locations/{location} + // * projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2415,7 +2414,6 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: - // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. @@ -2973,240 +2971,240 @@ var file_google_cloud_alloydb_v1_service_proto_rawDesc = []byte{ 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x97, 0x01, 0x0a, 0x0a, + 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, - 0x12, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x07, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x22, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, - 0x7a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x32, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1c, 0x0a, - 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc7, 0x01, 0x0a, 0x0d, + 0x7a, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 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, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x68, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2e, 0x2a, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, - 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xca, 0x41, 0x2a, + 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, - 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb9, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, + 0x2a, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, - 0x12, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0xa6, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 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, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xea, 0x01, 0x0a, + 0x6e, 0x63, 0x65, 0x22, 0x47, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3a, 0x12, 0x38, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x88, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x1b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf8, 0x01, 0x0a, 0x14, 0x42, 0x61, + 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, 0x8a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, - 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0xca, 0x41, 0x31, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xec, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xca, 0x41, 0x31, 0x0a, 0x1c, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x44, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0xec, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x8a, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x32, - 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x14, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0xd5, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x32, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd5, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 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, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, - 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd8, 0x01, 0x0a, 0x10, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3a, 0x2a, 0x38, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x41, 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, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0xda, - 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd5, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, + 0x6e, 0x22, 0x73, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, + 0x3a, 0x01, 0x2a, 0x22, 0x41, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61, + 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xd5, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x72, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, - 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xa6, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0xca, 0x41, 0x1d, 0x0a, + 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0xda, 0x41, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd0, 0x01, + 0x70, 0x22, 0x3a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, + 0x12, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x35, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0xca, 0x41, 0x1b, + 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x06, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x22, 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, - 0x69, 0x64, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd2, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc4, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, - 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe2, 0x01, 0x0a, + 0x69, 0x6f, 0x6e, 0x22, 0x67, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x2a, + 0x2b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, @@ -3216,12 +3214,12 @@ var file_google_cloud_alloydb_v1_service_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x67, 0x6f, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, + 0x73, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 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, diff --git a/alloydb/apiv1/doc.go b/alloydb/apiv1/doc.go old mode 100644 new mode 100755 index 20bdb2fce022..f9cb36e3ab63 --- a/alloydb/apiv1/doc.go +++ b/alloydb/apiv1/doc.go @@ -29,8 +29,6 @@ // read resources; scale existing PostgreSQL workloads with no application // changes; and modernize legacy proprietary databases. // -// NOTE: This package is in beta. It is not stable, and may be subject to changes. -// // # General documentation // // For information about setting deadlines, reusing contexts, and more @@ -150,6 +148,7 @@ func checkDisableDeadlines() (bool, error) { // DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ + "", "https://www.googleapis.com/auth/cloud-platform", } } diff --git a/alloydb/apiv1/gapic_metadata.json b/alloydb/apiv1/gapic_metadata.json index 3bb883406453..d923b493ab9c 100644 --- a/alloydb/apiv1/gapic_metadata.json +++ b/alloydb/apiv1/gapic_metadata.json @@ -278,6 +278,110 @@ } } } + }, + "IAMPolicy": { + "clients": { + "grpc": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + }, + "rest": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + } + } } } } diff --git a/alloydb/apiv1/iam_policy_client.go b/alloydb/apiv1/iam_policy_client.go new file mode 100755 index 000000000000..6b7e94364738 --- /dev/null +++ b/alloydb/apiv1/iam_policy_client.go @@ -0,0 +1,1207 @@ +// 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 +// +// 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 alloydb + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + + 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/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newIamPolicyClientHook clientHook + +// IamPolicyCallOptions contains the retry settings for each method of IamPolicyClient. +type IamPolicyCallOptions struct { + SetIamPolicy []gax.CallOption + GetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultIamPolicyGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("iam-meta-api.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("iam-meta-api.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://iam-meta-api.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultIamPolicyCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultIamPolicyRESTCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalIamPolicyClient is an interface that defines the methods available from AlloyDB API. +type internalIamPolicyClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + 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 +} + +// IamPolicyClient is a client for interacting with AlloyDB API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +type IamPolicyClient struct { + // The internal transport-dependent client. + internalClient internalIamPolicyClient + + // The call options for this service. + CallOptions *IamPolicyCallOptions +} + +// 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// 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 *IamPolicyClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(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 *IamPolicyClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(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 *IamPolicyClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *IamPolicyClient) 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 *IamPolicyClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// iamPolicyGRPCClient is a client for interacting with AlloyDB API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions + + // The gRPC API client. + iamPolicyClient iampb.IAMPolicyClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewIamPolicyClient creates a new iam policy client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := defaultIamPolicyGRPCClientOptions() + if newIamPolicyClientHook != nil { + hookOpts, err := newIamPolicyClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := IamPolicyClient{CallOptions: defaultIamPolicyCallOptions()} + + c := &iamPolicyGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(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 *iamPolicyGRPCClient) 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 *iamPolicyGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions +} + +// NewIamPolicyRESTClient creates a new iam policy rest client. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyRESTClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := append(defaultIamPolicyRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultIamPolicyRESTCallOptions() + c := &iamPolicyRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &IamPolicyClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultIamPolicyRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://iam-meta-api.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://iam-meta-api.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://iam-meta-api.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 *iamPolicyRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyRESTClient) 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 *iamPolicyRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *iamPolicyGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *iamPolicyRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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(), 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() + + // 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 *iamPolicyRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *iamPolicyRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) 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("/v1/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} diff --git a/alloydb/apiv1/iam_policy_client_example_test.go b/alloydb/apiv1/iam_policy_client_example_test.go new file mode 100644 index 000000000000..273feea70756 --- /dev/null +++ b/alloydb/apiv1/iam_policy_client_example_test.go @@ -0,0 +1,294 @@ +// 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 +// +// 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 alloydb_test + +import ( + "context" + + alloydb "cloud.google.com/go/alloydb/apiv1" + 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 ExampleNewIamPolicyClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewIamPolicyRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} diff --git a/alloydb/apiv1alpha/alloydb_admin_client.go b/alloydb/apiv1alpha/alloydb_admin_client.go old mode 100644 new mode 100755 diff --git a/alloydb/apiv1alpha/alloydbpb/resources.pb.go b/alloydb/apiv1alpha/alloydbpb/resources.pb.go old mode 100644 new mode 100755 index 7015eb1e60d5..af0289269fe1 --- a/alloydb/apiv1alpha/alloydbpb/resources.pb.go +++ b/alloydb/apiv1alpha/alloydbpb/resources.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1alpha/resources.proto package alloydbpb @@ -49,7 +49,7 @@ const ( DatabaseVersion_DATABASE_VERSION_UNSPECIFIED DatabaseVersion = 0 // DEPRECATED - The database version is Postgres 13. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in google/cloud/alloydb/v1alpha/resources.proto. DatabaseVersion_POSTGRES_13 DatabaseVersion = 1 // The database version is Postgres 14. DatabaseVersion_POSTGRES_14 DatabaseVersion = 2 @@ -604,9 +604,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // - Read pool of size 1 can only have zonal availability. - // - Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // * Read pool of size 1 can only have zonal availability. + // * Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1216,7 +1216,6 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: - // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1228,7 +1227,6 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: - // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1542,7 +1540,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} + // * projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1664,17 +1662,15 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: - // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id} // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -1989,15 +1985,14 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // - projects/{project}/locations/{region}/clusters/{cluster_id} + // * projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2031,10 +2026,11 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // - They are copied from primary instance on read instance creation. - // - Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. + // * They are copied from primary instance on read instance creation. + // * Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. + // // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2338,15 +2334,14 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} - // + // * projects/{project}/locations/{region}/backups/{backup_id} // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2577,13 +2572,11 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: - // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // - projects/{project}/locations/{location}/flags/{flag} - // + // * projects/{project}/locations/{location}/flags/{flag} // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". @@ -4059,20 +4052,7 @@ var file_google_cloud_alloydb_v1alpha_resources_proto_rawDesc = []byte{ 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, - 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0xcb, 0x03, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, - 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, - 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, - 0x56, 0x31, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x5c, 0x56, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, - 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x42, 0x3a, - 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, + 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x42, 0xcb, 0x03, 0xea, 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, @@ -4088,7 +4068,20 @@ var file_google_cloud_alloydb_v1alpha_resources_proto_rawDesc = []byte{ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6b, 0x7d, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x6c, 0x6c, + 0x6f, 0x79, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, + 0x62, 0x70, 0x62, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, 0x56, 0x31, 0x41, 0x6c, 0x70, + 0x68, 0x61, 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0xea, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x42, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/alloydb/apiv1alpha/alloydbpb/service.pb.go b/alloydb/apiv1alpha/alloydbpb/service.pb.go old mode 100644 new mode 100755 index a1fbf0fcf711..3aa6ea4552f2 --- a/alloydb/apiv1alpha/alloydbpb/service.pb.go +++ b/alloydb/apiv1alpha/alloydbpb/service.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1alpha/service.proto package alloydbpb @@ -129,7 +129,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // - projects/{project}/locations/- + // * projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -833,7 +833,6 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: - // // *RestoreClusterRequest_BackupSource // *RestoreClusterRequest_ContinuousBackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` @@ -981,8 +980,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // - projects/{project}/locations/-/clusters/- - // - projects/{project}/locations/{region}/clusters/- + // * projects/{project}/locations/-/clusters/- + // * projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1655,11 +1654,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1alpha.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2589,7 +2588,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // - projects/{project}/locations/{location} + // * projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2722,7 +2721,7 @@ type GenerateClientCertificateRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // - projects/{project}/locations/{location}/clusters/{cluster} + // * projects/{project}/locations/{location}/clusters/{cluster} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. An optional request ID to identify requests. Specify a unique // request ID so that if you must retry your request, the server will know to @@ -2947,7 +2946,6 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: - // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. @@ -3602,89 +3600,89 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, + 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xa6, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x40, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x40, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x22, 0x31, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, - 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x22, 0x31, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x7f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, - 0x32, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 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, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd1, 0x01, 0x0a, 0x0d, 0x44, 0x65, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x39, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 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, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x6d, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 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, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 0x01, + 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, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x6a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xc9, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, - 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x1c, - 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x84, 0x02, 0x0a, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, + 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x84, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, @@ -3692,16 +3690,16 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x41, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x3a, - 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0xc8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x22, 0x41, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x12, 0xc8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, @@ -3709,38 +3707,38 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 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, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, - 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, - 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 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, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x8d, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 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, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, - 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1d, - 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x96, 0x02, + 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3d, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x96, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, @@ -3748,91 +3746,91 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x9d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x22, - 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x3a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x82, 0x02, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x3a, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x82, 0x02, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 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, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, 0x8f, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x55, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x08, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x31, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf6, 0x01, 0x0a, 0x0e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xca, 0x41, 0x31, 0x0a, + 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x22, 0x49, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xf6, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x8f, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x46, 0x2f, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x14, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x52, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x32, 0x46, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe2, 0x01, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x6f, + 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0xca, 0x41, 0x2a, + 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 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, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, - 0x72, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1d, 0x0a, 0x08, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdf, 0x01, 0x0a, 0x0f, + 0x6e, 0x22, 0x78, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, + 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xdf, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 0x2f, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1d, - 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb5, 0x01, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4a, 0x3a, 0x01, 0x2a, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 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, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0xb5, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, @@ -3840,62 +3838,62 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa2, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, + 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xa2, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xda, 0x01, 0x0a, 0x0c, 0x43, + 0x68, 0x61, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xca, + 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x3a, 0x06, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0xda, - 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdc, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x41, 0x32, 0x37, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xce, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xca, 0x41, 0x1b, 0x0a, + 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x32, 0x37, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, - 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xca, 0x41, 0x2a, 0x0a, 0x15, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, @@ -3905,12 +3903,12 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xff, 0x01, 0x0a, 0x19, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0xff, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, @@ -3920,13 +3918,13 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x52, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xda, 0x01, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0xda, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, @@ -3934,13 +3932,13 @@ var file_google_cloud_alloydb_v1alpha_service_proto_rawDesc = []byte{ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x50, 0x12, 0x4e, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5f, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 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, diff --git a/alloydb/apiv1alpha/doc.go b/alloydb/apiv1alpha/doc.go old mode 100644 new mode 100755 index e9e105c6ef9e..2b1a27b339ef --- a/alloydb/apiv1alpha/doc.go +++ b/alloydb/apiv1alpha/doc.go @@ -29,7 +29,7 @@ // read resources; scale existing PostgreSQL workloads with no application // changes; and modernize legacy proprietary databases. // -// NOTE: This package is in alpha. It is not stable, and is likely to change. +// NOTE: This package is in beta. It is not stable, and may be subject to changes. // // # General documentation // @@ -150,6 +150,7 @@ func checkDisableDeadlines() (bool, error) { // DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ + "", "https://www.googleapis.com/auth/cloud-platform", } } diff --git a/alloydb/apiv1alpha/gapic_metadata.json b/alloydb/apiv1alpha/gapic_metadata.json index 64e31a256245..72c981d7dc1f 100644 --- a/alloydb/apiv1alpha/gapic_metadata.json +++ b/alloydb/apiv1alpha/gapic_metadata.json @@ -328,6 +328,110 @@ } } } + }, + "IAMPolicy": { + "clients": { + "grpc": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + }, + "rest": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + } + } } } } diff --git a/alloydb/apiv1alpha/iam_policy_client.go b/alloydb/apiv1alpha/iam_policy_client.go new file mode 100755 index 000000000000..1f46d624b494 --- /dev/null +++ b/alloydb/apiv1alpha/iam_policy_client.go @@ -0,0 +1,1207 @@ +// 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 +// +// 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 alloydb + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + + 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/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newIamPolicyClientHook clientHook + +// IamPolicyCallOptions contains the retry settings for each method of IamPolicyClient. +type IamPolicyCallOptions struct { + SetIamPolicy []gax.CallOption + GetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultIamPolicyGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("iam-meta-api.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("iam-meta-api.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://iam-meta-api.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultIamPolicyCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultIamPolicyRESTCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalIamPolicyClient is an interface that defines the methods available from AlloyDB API. +type internalIamPolicyClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + 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 +} + +// IamPolicyClient is a client for interacting with AlloyDB API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +type IamPolicyClient struct { + // The internal transport-dependent client. + internalClient internalIamPolicyClient + + // The call options for this service. + CallOptions *IamPolicyCallOptions +} + +// 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// 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 *IamPolicyClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(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 *IamPolicyClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(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 *IamPolicyClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *IamPolicyClient) 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 *IamPolicyClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// iamPolicyGRPCClient is a client for interacting with AlloyDB API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions + + // The gRPC API client. + iamPolicyClient iampb.IAMPolicyClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewIamPolicyClient creates a new iam policy client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := defaultIamPolicyGRPCClientOptions() + if newIamPolicyClientHook != nil { + hookOpts, err := newIamPolicyClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := IamPolicyClient{CallOptions: defaultIamPolicyCallOptions()} + + c := &iamPolicyGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(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 *iamPolicyGRPCClient) 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 *iamPolicyGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions +} + +// NewIamPolicyRESTClient creates a new iam policy rest client. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyRESTClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := append(defaultIamPolicyRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultIamPolicyRESTCallOptions() + c := &iamPolicyRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &IamPolicyClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultIamPolicyRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://iam-meta-api.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://iam-meta-api.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://iam-meta-api.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 *iamPolicyRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyRESTClient) 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 *iamPolicyRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *iamPolicyGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *iamPolicyRESTClient) 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("/v1alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1alpha/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1alpha/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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(), 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() + + // 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 *iamPolicyRESTClient) 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("/v1alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *iamPolicyRESTClient) 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("/v1alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) 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("/v1alpha/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} diff --git a/alloydb/apiv1alpha/iam_policy_client_example_test.go b/alloydb/apiv1alpha/iam_policy_client_example_test.go new file mode 100644 index 000000000000..9481580bce93 --- /dev/null +++ b/alloydb/apiv1alpha/iam_policy_client_example_test.go @@ -0,0 +1,294 @@ +// 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 +// +// 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 alloydb_test + +import ( + "context" + + alloydb "cloud.google.com/go/alloydb/apiv1alpha" + 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 ExampleNewIamPolicyClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewIamPolicyRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} diff --git a/alloydb/apiv1beta/alloydb_admin_client.go b/alloydb/apiv1beta/alloydb_admin_client.go old mode 100644 new mode 100755 diff --git a/alloydb/apiv1beta/alloydbpb/resources.pb.go b/alloydb/apiv1beta/alloydbpb/resources.pb.go old mode 100644 new mode 100755 index 7a0ce2dcf480..8df9f215ee50 --- a/alloydb/apiv1beta/alloydbpb/resources.pb.go +++ b/alloydb/apiv1beta/alloydbpb/resources.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1beta/resources.proto package alloydbpb @@ -49,7 +49,7 @@ const ( DatabaseVersion_DATABASE_VERSION_UNSPECIFIED DatabaseVersion = 0 // DEPRECATED - The database version is Postgres 13. // - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in google/cloud/alloydb/v1beta/resources.proto. DatabaseVersion_POSTGRES_13 DatabaseVersion = 1 // The database version is Postgres 14. DatabaseVersion_POSTGRES_14 DatabaseVersion = 2 @@ -604,9 +604,9 @@ const ( Instance_PRIMARY Instance_InstanceType = 1 // READ POOL instances support read operations only. Each read pool instance // consists of one or more homogeneous nodes. - // - Read pool of size 1 can only have zonal availability. - // - Read pools with node count of 2 or more can have regional - // availability (nodes are present in 2 or more zones in a region). + // * Read pool of size 1 can only have zonal availability. + // * Read pools with node count of 2 or more can have regional + // availability (nodes are present in 2 or more zones in a region). Instance_READ_POOL Instance_InstanceType = 2 // SECONDARY instances support read operations only. SECONDARY instance // is a cross-region read replica @@ -1216,7 +1216,6 @@ type AutomatedBackupPolicy struct { // per day and a start time chosen arbitrarily. // // Types that are assignable to Schedule: - // // *AutomatedBackupPolicy_WeeklySchedule_ Schedule isAutomatedBackupPolicy_Schedule `protobuf_oneof:"schedule"` // The retention policy for automated backups. @@ -1228,7 +1227,6 @@ type AutomatedBackupPolicy struct { // If no retention policy is set, a default of 14 days is used. // // Types that are assignable to Retention: - // // *AutomatedBackupPolicy_TimeBasedRetention_ // *AutomatedBackupPolicy_QuantityBasedRetention_ Retention isAutomatedBackupPolicy_Retention `protobuf_oneof:"retention"` @@ -1542,7 +1540,7 @@ type BackupSource struct { // it is retained until the backup is deleted. BackupUid string `protobuf:"bytes,2,opt,name=backup_uid,json=backupUid,proto3" json:"backup_uid,omitempty"` // Required. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} + // * projects/{project}/locations/{region}/backups/{backup_id} BackupName string `protobuf:"bytes,1,opt,name=backup_name,json=backupName,proto3" json:"backup_name,omitempty"` } @@ -1664,17 +1662,15 @@ type Cluster struct { // source this cluster was imported from. // // Types that are assignable to Source: - // // *Cluster_BackupSource // *Cluster_MigrationSource Source isCluster_Source `protobuf_oneof:"source"` // Output only. The name of the cluster resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id} // where the cluster ID segment should satisfy the regex expression // `[a-z0-9-]+`. For more details see https://google.aip.dev/122. // The prefix of the cluster resource name is the name of the parent resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Cluster. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -1989,15 +1985,14 @@ type Instance struct { unknownFields protoimpl.UnknownFields // Output only. The name of the instance resource with the format: - // - projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} - // + // * projects/{project}/locations/{region}/clusters/{cluster_id}/instances/{instance_id} // where the cluster and instance ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the instance resource name is the name of the parent // resource: - // - projects/{project}/locations/{region}/clusters/{cluster_id} + // * projects/{project}/locations/{region}/clusters/{cluster_id} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Instance. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2031,10 +2026,11 @@ type Instance struct { // zone with available capacity. GceZone string `protobuf:"bytes,12,opt,name=gce_zone,json=gceZone,proto3" json:"gce_zone,omitempty"` // Database flags. Set at instance level. - // - They are copied from primary instance on read instance creation. - // - Read instances can set new or override existing flags that are relevant - // for reads, e.g. for enabling columnar cache on a read instance. Flags - // set on read instance may or may not be present on primary. + // * They are copied from primary instance on read instance creation. + // * Read instances can set new or override existing flags that are relevant + // for reads, e.g. for enabling columnar cache on a read instance. Flags + // set on read instance may or may not be present on primary. + // // // This is a list of "key": "value" pairs. // "key": The name of the flag. These flags are passed at instance setup time, @@ -2338,15 +2334,14 @@ type Backup struct { unknownFields protoimpl.UnknownFields // Output only. The name of the backup resource with the format: - // - projects/{project}/locations/{region}/backups/{backup_id} - // + // * projects/{project}/locations/{region}/backups/{backup_id} // where the cluster and backup ID segments should satisfy the regex // expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`, e.g. 1-63 characters of // lowercase letters, numbers, and dashes, starting with a letter, and ending // with a letter or number. For more details see https://google.aip.dev/122. // The prefix of the backup resource name is the name of the parent // resource: - // - projects/{project}/locations/{region} + // * projects/{project}/locations/{region} Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // User-settable and human-readable display name for the Backup. DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` @@ -2577,13 +2572,11 @@ type SupportedDatabaseFlag struct { // The restrictions on the flag value per type. // // Types that are assignable to Restrictions: - // // *SupportedDatabaseFlag_StringRestrictions_ // *SupportedDatabaseFlag_IntegerRestrictions_ Restrictions isSupportedDatabaseFlag_Restrictions `protobuf_oneof:"restrictions"` // The name of the flag resource, following Google Cloud conventions, e.g.: - // - projects/{project}/locations/{location}/flags/{flag} - // + // * projects/{project}/locations/{location}/flags/{flag} // This field currently has no semantic meaning. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the database flag, e.g. "max_allowed_packets". @@ -4056,35 +4049,35 @@ var file_google_cloud_alloydb_v1beta_resources_proto_rawDesc = []byte{ 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, - 0x4c, 0x10, 0x02, 0x42, 0xc6, 0x03, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, - 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x79, - 0x64, 0x62, 0x70, 0x62, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, 0x56, 0x31, 0x42, 0x65, - 0x74, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x5c, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x3a, 0x3a, 0x41, 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x42, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0xea, 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, - 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x7a, 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, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, - 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, - 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x4e, 0x0a, 0x1e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x62, 0x06, 0x70, 0x72, + 0x4c, 0x10, 0x02, 0x42, 0xc6, 0x03, 0xea, 0x41, 0xa6, 0x01, 0x0a, 0x28, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7a, 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, 0x6b, 0x65, + 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, + 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, + 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, + 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x7d, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, + 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, + 0x79, 0x64, 0x62, 0x70, 0x62, 0x3b, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x70, 0x62, 0xaa, + 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, + 0x6c, 0x6c, 0x6f, 0x79, 0x44, 0x62, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1b, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x6c, 0x6c, + 0x6f, 0x79, 0x44, 0x62, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x6c, 0x6c, + 0x6f, 0x79, 0x44, 0x42, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/alloydb/apiv1beta/alloydbpb/service.pb.go b/alloydb/apiv1beta/alloydbpb/service.pb.go old mode 100644 new mode 100755 index ae7732effd77..6f5456482cae --- a/alloydb/apiv1beta/alloydbpb/service.pb.go +++ b/alloydb/apiv1beta/alloydbpb/service.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/alloydb/v1beta/service.proto package alloydbpb @@ -129,7 +129,7 @@ type ListClustersRequest struct { // Required. The name of the parent resource. For the required format, see the // comment on the Cluster.name field. Additionally, you can perform an // aggregated list operation by specifying a value with the following format: - // - projects/{project}/locations/- + // * projects/{project}/locations/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -833,7 +833,6 @@ type RestoreClusterRequest struct { // The source to import from. // // Types that are assignable to Source: - // // *RestoreClusterRequest_BackupSource // *RestoreClusterRequest_ContinuousBackupSource Source isRestoreClusterRequest_Source `protobuf_oneof:"source"` @@ -981,8 +980,8 @@ type ListInstancesRequest struct { // comment on the Instance.name field. Additionally, you can perform an // aggregated list operation by specifying a value with one of the following // formats: - // - projects/{project}/locations/-/clusters/- - // - projects/{project}/locations/{region}/clusters/- + // * projects/{project}/locations/-/clusters/- + // * projects/{project}/locations/{region}/clusters/- Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. Requested page size. Server may return fewer items than // requested. If unspecified, server will pick an appropriate default. @@ -1655,11 +1654,11 @@ type BatchCreateInstanceStatus struct { // The current state of an instance involved in the batch create operation. // Once the operation is complete, the final state of the instances in the // LRO can be one of: - // 1. ACTIVE, indicating that instances were created successfully - // 2. FAILED, indicating that a particular instance failed creation - // 3. ROLLED_BACK indicating that although the instance was created - // successfully, it had to be rolled back and deleted due to failure in - // other steps of the workflow. + // 1. ACTIVE, indicating that instances were created successfully + // 2. FAILED, indicating that a particular instance failed creation + // 3. ROLLED_BACK indicating that although the instance was created + // successfully, it had to be rolled back and deleted due to failure in + // other steps of the workflow. State BatchCreateInstanceStatus_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.alloydb.v1beta.BatchCreateInstanceStatus_State" json:"state,omitempty"` // DEPRECATED - Use the error field instead. // Error, if any error occurred and is available, during instance creation. @@ -2589,7 +2588,7 @@ type ListSupportedDatabaseFlagsRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // - projects/{project}/locations/{location} + // * projects/{project}/locations/{location} // // Regardless of the parent specified here, as long it is contains a valid // project and location, the service will return a static list of supported @@ -2722,7 +2721,7 @@ type GenerateClientCertificateRequest struct { unknownFields protoimpl.UnknownFields // Required. The name of the parent resource. The required format is: - // - projects/{project}/locations/{location}/clusters/{cluster} + // * projects/{project}/locations/{location}/clusters/{cluster} Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Optional. An optional request ID to identify requests. Specify a unique // request ID so that if you must retry your request, the server will know to @@ -2947,7 +2946,6 @@ type OperationMetadata struct { // Request specific metadata, if any. // // Types that are assignable to RequestSpecific: - // // *OperationMetadata_BatchCreateInstancesMetadata RequestSpecific isOperationMetadata_RequestSpecific `protobuf_oneof:"request_specific"` // Output only. The time the operation was created. @@ -3600,105 +3598,105 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0xda, - 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x3f, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdf, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x3f, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x07, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x6f, 0x6e, 0x22, 0x7c, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x30, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x32, 0x38, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, - 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x43, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x38, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, - 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x3a, 0x01, - 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xca, 0x41, + 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x62, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, - 0x01, 0x2a, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x82, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x62, 0xca, + 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x22, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x12, 0x82, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, - 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xc5, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x07, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0xc5, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, @@ -3706,38 +3704,38 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 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, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb2, + 0x4d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, + 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0xf2, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x8c, 0x01, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x48, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x94, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0xca, 0x41, 0x1d, 0x0a, + 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, + 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x94, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, @@ -3745,16 +3743,16 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x9c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0xca, - 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x22, 0x9c, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x80, 0x02, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, @@ -3762,73 +3760,73 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 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, 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x3a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, - 0x31, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, + 0x6e, 0x22, 0x8e, 0x01, 0xca, 0x41, 0x31, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x8e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x51, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0xda, 0x41, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdd, 0x01, 0x0a, 0x0e, 0x44, 0x65, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, - 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 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, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, - 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe0, 0x01, 0x0a, 0x10, 0x46, 0x61, + 0x78, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe0, 0x01, 0x0a, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, - 0x65, 0x72, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1d, 0x0a, - 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdd, 0x01, 0x0a, + 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4a, 0x3a, 0x01, 0x2a, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x12, 0xdd, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 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, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x1d, 0x0a, - 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb2, 0x01, 0x0a, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0xb2, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, @@ -3836,61 +3834,61 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, + 0x40, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, + 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0xd8, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, + 0x6b, 0x75, 0x70, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x22, 0x2f, 0x2f, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x3a, 0x06, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, - 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xda, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x32, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1b, - 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xcc, 0x01, 0x0a, 0x0c, + 0x22, 0x79, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x06, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x32, 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, - 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xee, 0x01, 0x0a, 0x1a, 0x4c, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0xca, + 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x2a, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xee, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, @@ -3900,12 +3898,12 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xfc, 0x01, 0x0a, 0x19, + 0x67, 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, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, @@ -3915,13 +3913,13 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, - 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3a, 0x01, - 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xd7, 0x01, 0x0a, 0x11, 0x47, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, @@ -3929,13 +3927,13 @@ var file_google_cloud_alloydb_v1beta_service_proto_rawDesc = []byte{ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0xda, 0x41, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x5e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x4a, 0xca, 0x41, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x79, 0x64, 0x62, 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, diff --git a/alloydb/apiv1beta/doc.go b/alloydb/apiv1beta/doc.go old mode 100644 new mode 100755 index ab793ad2e6de..70eb4f98cb95 --- a/alloydb/apiv1beta/doc.go +++ b/alloydb/apiv1beta/doc.go @@ -150,6 +150,7 @@ func checkDisableDeadlines() (bool, error) { // DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ + "", "https://www.googleapis.com/auth/cloud-platform", } } diff --git a/alloydb/apiv1beta/gapic_metadata.json b/alloydb/apiv1beta/gapic_metadata.json index 0bde12ca048d..8e26bef20eda 100644 --- a/alloydb/apiv1beta/gapic_metadata.json +++ b/alloydb/apiv1beta/gapic_metadata.json @@ -328,6 +328,110 @@ } } } + }, + "IAMPolicy": { + "clients": { + "grpc": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + }, + "rest": { + "libraryClient": "IamPolicyClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + } + } } } } diff --git a/alloydb/apiv1beta/iam_policy_client.go b/alloydb/apiv1beta/iam_policy_client.go new file mode 100755 index 000000000000..600382663ee0 --- /dev/null +++ b/alloydb/apiv1beta/iam_policy_client.go @@ -0,0 +1,1201 @@ +// 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 +// +// 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 alloydb + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + + 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/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newIamPolicyClientHook clientHook + +// IamPolicyCallOptions contains the retry settings for each method of IamPolicyClient. +type IamPolicyCallOptions struct { + SetIamPolicy []gax.CallOption + GetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultIamPolicyGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("iam-meta-api.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("iam-meta-api.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://iam-meta-api.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultIamPolicyCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultIamPolicyRESTCallOptions() *IamPolicyCallOptions { + return &IamPolicyCallOptions{ + SetIamPolicy: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalIamPolicyClient is an interface that defines the methods available from AlloyDB API. +type internalIamPolicyClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) + TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + 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 +} + +// IamPolicyClient is a client for interacting with AlloyDB API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +type IamPolicyClient struct { + // The internal transport-dependent client. + internalClient internalIamPolicyClient + + // The call options for this service. + CallOptions *IamPolicyCallOptions +} + +// 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// 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 *IamPolicyClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.SetIamPolicy(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 *IamPolicyClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + return c.internalClient.GetIamPolicy(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 *IamPolicyClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *IamPolicyClient) 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 *IamPolicyClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) 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 *IamPolicyClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// iamPolicyGRPCClient is a client for interacting with AlloyDB API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions + + // The gRPC API client. + iamPolicyClient iampb.IAMPolicyClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewIamPolicyClient creates a new iam policy client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := defaultIamPolicyGRPCClientOptions() + if newIamPolicyClientHook != nil { + hookOpts, err := newIamPolicyClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := IamPolicyClient{CallOptions: defaultIamPolicyCallOptions()} + + c := &iamPolicyGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + iamPolicyClient: iampb.NewIAMPolicyClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(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 *iamPolicyGRPCClient) 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 *iamPolicyGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type iamPolicyRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing IamPolicyClient + CallOptions **IamPolicyCallOptions +} + +// NewIamPolicyRESTClient creates a new iam policy rest client. +// +// # API Overview +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// Data modelAccess control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// # Policy StructureSee google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +func NewIamPolicyRESTClient(ctx context.Context, opts ...option.ClientOption) (*IamPolicyClient, error) { + clientOpts := append(defaultIamPolicyRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultIamPolicyRESTCallOptions() + c := &iamPolicyRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &IamPolicyClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultIamPolicyRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://iam-meta-api.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://iam-meta-api.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://iam-meta-api.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 *iamPolicyRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *iamPolicyRESTClient) 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 *iamPolicyRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *iamPolicyGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *iamPolicyGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *iamPolicyRESTClient) 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("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *iamPolicyRESTClient) 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("/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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *iamPolicyRESTClient) 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("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) 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("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *iamPolicyRESTClient) 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("/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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *iamPolicyRESTClient) 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("/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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *iamPolicyRESTClient) 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("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} diff --git a/alloydb/apiv1beta/iam_policy_client_example_test.go b/alloydb/apiv1beta/iam_policy_client_example_test.go new file mode 100644 index 000000000000..4b697e3039de --- /dev/null +++ b/alloydb/apiv1beta/iam_policy_client_example_test.go @@ -0,0 +1,294 @@ +// 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 +// +// 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 alloydb_test + +import ( + "context" + + alloydb "cloud.google.com/go/alloydb/apiv1beta" + 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 ExampleNewIamPolicyClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewIamPolicyRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := alloydb.NewIamPolicyRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} + +func ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 ExampleIamPolicyClient_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 := alloydb.NewIamPolicyClient(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 + } +} diff --git a/alloydb/go.mod b/alloydb/go.mod index 489edd1e207a..1b71fd25fe2b 100644 --- a/alloydb/go.mod +++ b/alloydb/go.mod @@ -3,6 +3,7 @@ module cloud.google.com/go/alloydb go 1.20 require ( + cloud.google.com/go/iam v0.13.0 cloud.google.com/go/longrunning v0.4.1 github.com/googleapis/gax-go/v2 v2.7.1 google.golang.org/api v0.114.0 diff --git a/alloydb/go.sum b/alloydb/go.sum index 6e42ee914bba..e69e25429e27 100644 --- a/alloydb/go.sum +++ b/alloydb/go.sum @@ -5,6 +5,8 @@ cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbC cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= diff --git a/eventarc/publishing/apiv1/doc.go b/eventarc/publishing/apiv1/doc.go old mode 100644 new mode 100755 diff --git a/eventarc/publishing/apiv1/publisher_client.go b/eventarc/publishing/apiv1/publisher_client.go old mode 100644 new mode 100755 diff --git a/eventarc/publishing/apiv1/publishingpb/publisher.pb.go b/eventarc/publishing/apiv1/publishingpb/publisher.pb.go old mode 100644 new mode 100755 index d2a2ec472d95..68da3ab34d36 --- a/eventarc/publishing/apiv1/publishingpb/publisher.pb.go +++ b/eventarc/publishing/apiv1/publishingpb/publisher.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/eventarc/publishing/v1/publisher.proto package publishingpb @@ -314,13 +314,13 @@ var file_google_cloud_eventarc_publishing_v1_publisher_proto_rawDesc = []byte{ 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x01, - 0x2a, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, + 0x73, 0x65, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 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, 0x2f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, @@ -329,11 +329,11 @@ var file_google_cloud_eventarc_publishing_v1_publisher_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x2e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 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, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x55, 0xca, 0x41, 0x21, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x72, + 0x02, 0x42, 0x3a, 0x01, 0x2a, 0x22, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 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, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x55, 0xca, 0x41, 0x21, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 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, diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json index 2f7b365c00a7..04f7ae0d6bdd 100644 --- a/internal/.repo-metadata-full.json +++ b/internal/.repo-metadata-full.json @@ -59,7 +59,7 @@ "language": "Go", "client_library_type": "generated", "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/alloydb/latest/apiv1", - "release_level": "beta", + "release_level": "ga", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/alloydb/apiv1alpha": { @@ -2042,6 +2042,15 @@ "release_level": "beta", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/workstations/apiv1": { + "distribution_name": "cloud.google.com/go/workstations/apiv1", + "description": "Cloud Workstations API", + "language": "Go", + "client_library_type": "generated", + "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/workstations/latest/apiv1", + "release_level": "beta", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/workstations/apiv1beta": { "distribution_name": "cloud.google.com/go/workstations/apiv1beta", "description": "Cloud Workstations API", diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/CancelOperation/main.go index 039643568806..20f3561b3f78 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/DeleteOperation/main.go index e6c2ad593ecf..7979cf2f526f 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetIamPolicy/main.go index 81eb7b30373f..9e3a043a7f15 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetOperation/main.go index b295d0040e13..8f9e2b340281 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/ListOperations/main.go index bee3e2c88665..9aad5111885e 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/SetIamPolicy/main.go index 2a7a19563ce7..c653e644e8d4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/TestIamPermissions/main.go index fbed5b5acb9c..f39cb1b96c1a 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/WaitOperation/main.go index ebe1b9a9e8a0..9785f55abbd4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/DatasetClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/DatasetClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/CancelOperation/main.go index 582cd381fcf7..e98b2faaab55 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/DeleteOperation/main.go index 653fa3204702..41ca0793785f 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetIamPolicy/main.go index cbb01aa78e7f..94be0d28b487 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetOperation/main.go index 6deadc0170e1..1e45ecdc313f 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/ListOperations/main.go index 0f2f61859565..d21516298566 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/SetIamPolicy/main.go index c1a5f72ea2a5..9902254f88da 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/TestIamPermissions/main.go index d86dbb27946c..4f43f93de4e2 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/WaitOperation/main.go index 8758aa4554ef..85f3a5322917 100644 --- a/internal/generated/snippets/aiplatform/apiv1/EndpointClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/EndpointClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/CancelOperation/main.go index 5aaf0681d482..b8a969e27459 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteFeatureValues/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteFeatureValues/main.go new file mode 100644 index 000000000000..2f34d53cbe03 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteFeatureValues/main.go @@ -0,0 +1,58 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1_generated_FeaturestoreService_DeleteFeatureValues_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.NewFeaturestoreClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteFeatureValuesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#DeleteFeatureValuesRequest. + } + op, err := c.DeleteFeatureValues(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_FeaturestoreService_DeleteFeatureValues_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteOperation/main.go index 9012dfb7ea36..41141647c1b5 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetIamPolicy/main.go index f10c885f094f..2acb700e24e9 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetOperation/main.go index 43347f3eb99b..aa0354871bbf 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/ListOperations/main.go index 637b49321053..8ec3284abfd3 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/SetIamPolicy/main.go index 2478c38fc79a..c078204b015c 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/TestIamPermissions/main.go index 8422d0d5c6e4..a8ff9fa52a02 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/WaitOperation/main.go index 73c0258fdcb3..b29fa2386396 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/CancelOperation/main.go index a5cdf2103803..6f3c4effd9e0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/DeleteOperation/main.go index 02a859728b7d..2e2cf722796c 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go index fa6f1f5527da..2ef511065a39 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetOperation/main.go index fe40fa9c701a..08ebfb2c8c12 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/ListOperations/main.go index 9c9efd848af3..c534455d4f7c 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go index b5ec28b6e071..89a2a11e4aba 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go index 4ebbfc85b7f3..50610ac67035 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/WaitOperation/main.go index f4716ddb9872..ce08309a7b9c 100644 --- a/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/FeaturestoreOnlineServingClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/CancelOperation/main.go index a0c8c73e066f..bb13fe8724c4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/DeleteOperation/main.go index 1c160063601f..22b1052d3707 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetIamPolicy/main.go index 1fcfde3ae504..712617404507 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetOperation/main.go index 72ca2cace2ab..78238d31a081 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/ListOperations/main.go index cf692a8064ff..2b868bc59c47 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/SetIamPolicy/main.go index d4cc45a2bdaa..8757ab353f33 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/TestIamPermissions/main.go index 92761e21ace8..cc81d820ebd4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexClient/WaitOperation/main.go index f5edc1aaebaf..b269a792df06 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/CancelOperation/main.go index ce4d64bb4c45..bd11545229b2 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/DeleteOperation/main.go index 532bf1bd4443..e5ffc2e51720 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetIamPolicy/main.go index ea2d52e75474..9148e75818be 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetOperation/main.go index 91f5c8b5dc4e..0b1aa3cf0982 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/ListOperations/main.go index 035a4bafaae0..eb33c5dcd85d 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/SetIamPolicy/main.go index f29fddef971c..ec2da8250052 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/TestIamPermissions/main.go index 90fc427648af..7fcdc777b2e0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/WaitOperation/main.go index c4a91bbc84ce..b410d7842399 100644 --- a/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/IndexEndpointClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/CancelOperation/main.go index 0ae89b54c331..d8a45f1f0245 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/DeleteOperation/main.go index 268210993c28..85dba38e423a 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/GetIamPolicy/main.go index 1d9b9acb101b..5dd3f14f3954 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/GetOperation/main.go index 00bc1b9a8fca..39f7925b17db 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/ListOperations/main.go index d0989da92b55..425bb4a9eaeb 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/SetIamPolicy/main.go index ec1d354a05b8..2b161f261fe7 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/TestIamPermissions/main.go index 7255bfe376dd..ce6558ed7cc9 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/JobClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/JobClient/WaitOperation/main.go index 2a6a1dda6c1c..a802ccb0f0b1 100644 --- a/internal/generated/snippets/aiplatform/apiv1/JobClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/JobClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/CancelOperation/main.go index 0f29bd2ccc0c..5a634f0a2cb2 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/DeleteOperation/main.go index 80c3c3839555..777f40836ee8 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetIamPolicy/main.go index ad778f4cc6fb..a31610b4f1ad 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetOperation/main.go index 94405db0f75d..e84745346be3 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/ListOperations/main.go index 7e6d31693bfc..1b6740113f2f 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/SetIamPolicy/main.go index e3e0e22ad9a2..23f9afac3918 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/TestIamPermissions/main.go index 0f29dfecd5de..6dd5b97fc1c4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/WaitOperation/main.go index 3e0fe3c0be39..f5d1dad2e531 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MetadataClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MetadataClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/CancelOperation/main.go index ce1f2c500408..9446a33a1542 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/DeleteOperation/main.go index d954fd8e9a4f..d7cc572505f6 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetIamPolicy/main.go index a2d5454ef058..70fdf7ae1763 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetOperation/main.go index eb0ed8a272ee..085d2ca861cd 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/ListOperations/main.go index 0985a57c04a4..dcf0f76ef00a 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/SetIamPolicy/main.go index dfa8ac4d3374..c5a4d0dd6bc0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/TestIamPermissions/main.go index eb90952bad45..2754a3b574e8 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/WaitOperation/main.go index f3bf78ed23e1..55c1597c48e3 100644 --- a/internal/generated/snippets/aiplatform/apiv1/MigrationClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/MigrationClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/BatchImportEvaluatedAnnotations/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/BatchImportEvaluatedAnnotations/main.go new file mode 100644 index 000000000000..ae7e00a566c1 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/BatchImportEvaluatedAnnotations/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1_generated_ModelService_BatchImportEvaluatedAnnotations_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.NewModelClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.BatchImportEvaluatedAnnotationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1/aiplatformpb#BatchImportEvaluatedAnnotationsRequest. + } + resp, err := c.BatchImportEvaluatedAnnotations(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1_generated_ModelService_BatchImportEvaluatedAnnotations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/CancelOperation/main.go index a5f87691f036..8e4456fcec18 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/DeleteOperation/main.go index 53ef3a33c996..e1bd661176aa 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetIamPolicy/main.go index c18bbc372dee..036ca9846d62 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetOperation/main.go index f92fcccce839..c185682ef926 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/ListOperations/main.go index 7b496212f326..5835ebb7bde5 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/SetIamPolicy/main.go index e2ff2e7781a0..49ffee45bc55 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/TestIamPermissions/main.go index 77901c6e2f93..a6c18b5efbeb 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/ModelClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/ModelClient/WaitOperation/main.go index 82267d836eeb..3c5dabedf5e9 100644 --- a/internal/generated/snippets/aiplatform/apiv1/ModelClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/ModelClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/CancelOperation/main.go index 531926b4b481..b3876149f5c2 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/DeleteOperation/main.go index d7480dcc804a..82a048fd4bc7 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetIamPolicy/main.go index 908e43a5fabf..b0f0dda0702b 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetOperation/main.go index 69a2007fbe5d..92dea01e8282 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/ListOperations/main.go index 3cb0434ce6ce..eef572d3dbc0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/SetIamPolicy/main.go index 43f86ae9fe59..1d61ee179d84 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/TestIamPermissions/main.go index 20c1b5f1f953..8c3be3d4cfc9 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/WaitOperation/main.go index 1f19ce28b4a7..9ca189fb89bf 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PipelineClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PipelineClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/CancelOperation/main.go index 73f9ed9d5e72..cc2b39645684 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/DeleteOperation/main.go index e03eb914d5ab..a42834467668 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetIamPolicy/main.go index 8a30782b3a81..3ae337cb27a0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetOperation/main.go index 3997d7b8fcc0..c36f57ae76d0 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/ListOperations/main.go index c95159748080..5d233f12bb31 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/SetIamPolicy/main.go index 6722842ec671..93c395dbd7f1 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/TestIamPermissions/main.go index 6cc6b0abafb8..caf7cd5bbd4b 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/WaitOperation/main.go index 19cdcebc7dcc..a119c9125d9d 100644 --- a/internal/generated/snippets/aiplatform/apiv1/PredictionClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/PredictionClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/CancelOperation/main.go index 5fe4d40ebf3c..e03316ffd677 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/DeleteOperation/main.go index 6b7743f6a852..b1c96ba4b5ee 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetIamPolicy/main.go index 71c7ce515bcd..b86bf9fda2bf 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetOperation/main.go index d69435da2ecc..8b394c9b6056 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/ListOperations/main.go index 4c15d4ae0ae3..e54a563f5797 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/SetIamPolicy/main.go index 6c51a9f3f5a6..3fc39449b157 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/TestIamPermissions/main.go index a1ec880b700e..7b5267532268 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/WaitOperation/main.go index e66bbeb85da6..4232f2f9e6e3 100644 --- a/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/SpecialistPoolClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/CancelOperation/main.go index 13b3ca5e456c..457ce4b31d97 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/DeleteOperation/main.go index c61568ae2452..996ca7958b21 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetIamPolicy/main.go index 205762d17e57..21d0ccf49931 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetOperation/main.go index aa27b8afbc9a..2ae3741446f1 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/ListOperations/main.go index 00a53bd4e78a..5567ba295c07 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/SetIamPolicy/main.go index cd16f631654d..b78cc861a1ff 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/TestIamPermissions/main.go index e51d4a32bcee..a1c637d2f781 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/WaitOperation/main.go index 43da1084fd60..5fcd6325cfc1 100644 --- a/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/TensorboardClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/CancelOperation/main.go index 76d3606d16df..38949da91c2a 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/DeleteOperation/main.go index 934232858b43..17283d6fff0e 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetIamPolicy/main.go index 3ab53c4cb74c..0c4c4887658b 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetOperation/main.go index 0b4388c45923..65e6c9c33d3e 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/ListOperations/main.go index 4a6f3ca7fd67..127a1c543f0d 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/SetIamPolicy/main.go index 77e804e28d76..b5027d18d654 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/TestIamPermissions/main.go index 7bae3cc7c466..66e0dd39f3c4 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1/VizierClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1/VizierClient/WaitOperation/main.go index 0b4710e52f2e..b8f64eb852bb 100644 --- a/internal/generated/snippets/aiplatform/apiv1/VizierClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1/VizierClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { 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 60471b88d01d..1304160c93f6 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 @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1", - "version": "1.34.0", + "version": "1.37.0", "language": "GO", "apis": [ { @@ -702,7 +702,7 @@ { "regionTag": "aiplatform_v1_generated_DatasetService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "DatasetClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -1528,7 +1528,7 @@ { "regionTag": "aiplatform_v1_generated_EndpointService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "EndpointClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -2168,6 +2168,52 @@ } ] }, + { + "regionTag": "aiplatform_v1_generated_FeaturestoreService_DeleteFeatureValues_sync", + "title": "aiplatform DeleteFeatureValues Sample", + "description": "DeleteFeatureValues delete Feature values from Featurestore.\n\nThe progress of the deletion is tracked by the returned operation. The\ndeleted feature values are guaranteed to be invisible to subsequent read\noperations after the operation is marked as successfully done.\n\nIf a delete feature values operation fails, the feature values\nreturned from reads and exports may be inconsistent. If consistency is\nrequired, the caller must retry the same delete request again and wait till\nthe new operation returned is marked as successfully done.", + "file": "FeaturestoreClient/DeleteFeatureValues/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteFeatureValues", + "fullName": "google.cloud.aiplatform.v1.FeaturestoreClient.DeleteFeatureValues", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteFeatureValuesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteFeatureValuesOperation", + "client": { + "shortName": "FeaturestoreClient", + "fullName": "google.cloud.aiplatform.v1.FeaturestoreClient" + }, + "method": { + "shortName": "DeleteFeatureValues", + "fullName": "google.cloud.aiplatform.v1.FeaturestoreService.DeleteFeatureValues", + "service": { + "shortName": "FeaturestoreService", + "fullName": "google.cloud.aiplatform.v1.FeaturestoreService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, { "regionTag": "aiplatform_v1_generated_FeaturestoreService_DeleteFeaturestore_sync", "title": "aiplatform DeleteFeaturestore Sample", @@ -2814,7 +2860,7 @@ { "regionTag": "aiplatform_v1_generated_FeaturestoreService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "FeaturestoreClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -3456,7 +3502,7 @@ { "regionTag": "aiplatform_v1_generated_FeaturestoreOnlineServingService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "FeaturestoreOnlineServingClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -4235,7 +4281,7 @@ { "regionTag": "aiplatform_v1_generated_IndexService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "IndexClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -5061,7 +5107,7 @@ { "regionTag": "aiplatform_v1_generated_IndexEndpointService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "IndexEndpointClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -7078,7 +7124,7 @@ { "regionTag": "aiplatform_v1_generated_JobService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "JobClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -8730,7 +8776,7 @@ { "regionTag": "aiplatform_v1_generated_MetadataService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "MetadataClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -9694,7 +9740,7 @@ { "regionTag": "aiplatform_v1_generated_MigrationService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "MigrationClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -9921,6 +9967,52 @@ } ] }, + { + "regionTag": "aiplatform_v1_generated_ModelService_BatchImportEvaluatedAnnotations_sync", + "title": "aiplatform BatchImportEvaluatedAnnotations Sample", + "description": "BatchImportEvaluatedAnnotations imports a list of externally generated EvaluatedAnnotations.", + "file": "ModelClient/BatchImportEvaluatedAnnotations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "BatchImportEvaluatedAnnotations", + "fullName": "google.cloud.aiplatform.v1.ModelClient.BatchImportEvaluatedAnnotations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.BatchImportEvaluatedAnnotationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.BatchImportEvaluatedAnnotationsResponse", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1.ModelClient" + }, + "method": { + "shortName": "BatchImportEvaluatedAnnotations", + "fullName": "google.cloud.aiplatform.v1.ModelService.BatchImportEvaluatedAnnotations", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "aiplatform_v1_generated_ModelService_BatchImportModelEvaluationSlices_sync", "title": "aiplatform BatchImportModelEvaluationSlices Sample", @@ -10107,7 +10199,7 @@ { "regionTag": "aiplatform_v1_generated_ModelService_DeleteModelVersion_sync", "title": "aiplatform DeleteModelVersion Sample", - "description": "DeleteModelVersion deletes a Model version.\n\nModel version can only be deleted if there are no DeployedModels\ncreated from it. Deleting the only version in the Model is not allowed. Use\nDeleteModel for\ndeleting the Model instead.", + "description": "DeleteModelVersion deletes a Model version.\n\nModel version can only be deleted if there are no\nDeployedModels created from it.\nDeleting the only version in the Model is not allowed. Use\nDeleteModel for\ndeleting the Model instead.", "file": "ModelClient/DeleteModelVersion/main.go", "language": "GO", "clientMethod": { @@ -10796,7 +10888,7 @@ { "regionTag": "aiplatform_v1_generated_ModelService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "ModelClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -11758,7 +11850,7 @@ { "regionTag": "aiplatform_v1_generated_PipelineService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "PipelineClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -12354,7 +12446,7 @@ { "regionTag": "aiplatform_v1_generated_PredictionService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "PredictionClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -13042,7 +13134,7 @@ { "regionTag": "aiplatform_v1_generated_SpecialistPoolService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "SpecialistPoolClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -14328,7 +14420,7 @@ { "regionTag": "aiplatform_v1_generated_TensorboardService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "TensorboardClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -15795,7 +15887,7 @@ { "regionTag": "aiplatform_v1_generated_VizierService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "VizierClient/ListOperations/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/CancelOperation/main.go index b2c5f9d3e0fd..36279bbeb67b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/DeleteOperation/main.go index d0e99947f3d2..81aebe86f24c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetIamPolicy/main.go index 2d29d415395e..e0f33742cf87 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetOperation/main.go index 2d6e263df1e1..ea1e74d089d5 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/ListOperations/main.go index cae22a5bcab3..dadc89a5a642 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/SetIamPolicy/main.go index 6496c3a2659b..b7fd9afa1456 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/TestIamPermissions/main.go index 6713b17b3350..1aa0f9aedbd1 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/WaitOperation/main.go index dda10eda2629..cbd921741e30 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DatasetClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/CancelOperation/main.go index 2541add21fdb..3f485752b93c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/DeleteOperation/main.go index fe871208190b..272dccb1e7dd 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetIamPolicy/main.go index 310aba6e762e..b1e5cabdab38 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetOperation/main.go index f8233cf625b8..d1ae2ea4c75f 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/ListOperations/main.go index 858e9b0b50b5..aad59f07f9ba 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/SetIamPolicy/main.go index c24299f63fca..2389e4587006 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/TestIamPermissions/main.go index 2e5d86321a3b..ff205f66555a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/WaitOperation/main.go index d3dc4311b3b3..941e25eac3a8 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/DeploymentResourcePoolClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/CancelOperation/main.go index b6b360052bd2..f7da5714e08d 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/DeleteOperation/main.go index a8ea9aab1ded..213e88c7b9f0 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetIamPolicy/main.go index b07e23f14e9a..54830f45df80 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetOperation/main.go index 5b65dd55ec0c..fc45cb10575b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/ListOperations/main.go index 77ee686d32d6..c8f33c6cc174 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/SetIamPolicy/main.go index 844856a86efc..0b49fc918256 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/TestIamPermissions/main.go index 3a0f31d46e73..5f222130f39f 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/WaitOperation/main.go index 638959641a5f..cbb0546f6ec5 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/EndpointClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/CancelOperation/main.go index e7a0cf61195e..3fcff7ff3215 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/DeleteOperation/main.go index 23ac8a5666b7..fc46192af5ba 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetIamPolicy/main.go index a193e72dde8d..3efdfbb641ad 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetOperation/main.go index 392163acf2f2..aa135ad68b9c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/ListOperations/main.go index 12e4e9bf521d..36df24f5c99b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/SetIamPolicy/main.go index 0dc080f29b9b..6c5e43dba7e2 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/TestIamPermissions/main.go index 350c21065127..4233c0e771eb 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/WaitOperation/main.go index f9086b8846ad..6d940e7d8768 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/CancelOperation/main.go index 7787821d6092..866994e17efd 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/DeleteOperation/main.go index 732eebbaaf3f..7fb870ef8825 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go index 6488a98e709f..9746a229d8c9 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetOperation/main.go index cd5f926ff764..483d93908a5b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/ListOperations/main.go index f4bf4869af07..e704950b8d73 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go index 7467b3c4c9f5..63f219b1eea9 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go index aa29b4bbd3f9..c55b9bb992fe 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/WaitOperation/main.go index 9290889f46f0..08e4cbf0cc15 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/FeaturestoreOnlineServingClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/CancelOperation/main.go index 39cd40816231..9b12fbf2062f 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/DeleteOperation/main.go index 2cccae40a658..36f242ff146d 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetIamPolicy/main.go index 587dadbb8b30..2ff9f18876a4 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetOperation/main.go index 93ee66dc22ab..91c3684022e0 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/ListOperations/main.go index ed789a639846..171f1c9fa1fd 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/SetIamPolicy/main.go index cc1d32d374f4..714512466a60 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/TestIamPermissions/main.go index af2677c852d1..66ceda306ee0 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/WaitOperation/main.go index 63fea9c550fe..e69509767762 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/CancelOperation/main.go index 9f73b4b70807..3bc60ddce5a4 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/DeleteOperation/main.go index dd0ab7fc3cb6..8bff3172a760 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetIamPolicy/main.go index b1adb546d8cd..ec2a9817add6 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetOperation/main.go index 1d70023ee534..e2077e32929b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/ListOperations/main.go index 491d9df82908..2a3352e89e71 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/SetIamPolicy/main.go index 326ce72a4f04..c8f4e35af532 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/TestIamPermissions/main.go index c90f560b5b64..d4fad5fc3746 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/WaitOperation/main.go index 914f9d37b94e..20579631912a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/IndexEndpointClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/CancelOperation/main.go index b12359b44487..4c50c21969d5 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/DeleteOperation/main.go index 57f4bd6794a8..581e0e084d78 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetIamPolicy/main.go index 6466a6f7c392..609acc4b64e5 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetOperation/main.go index 1435919667e6..538c06defecc 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/ListOperations/main.go index 8db7f1f09c49..ce568194b799 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/SetIamPolicy/main.go index aeed31117b40..8abb6e58ecc0 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/TestIamPermissions/main.go index 3b76806b1a53..01cbc5584031 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/WaitOperation/main.go index b46a1393686b..498eb221fa4a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/JobClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/CancelOperation/main.go new file mode 100644 index 000000000000..a76848aa5c04 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/CancelOperation/main.go @@ -0,0 +1,52 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/DeleteOperation/main.go new file mode 100644 index 000000000000..313a2baeeb5f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/DeleteOperation/main.go @@ -0,0 +1,52 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/FindNeighbors/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/FindNeighbors/main.go new file mode 100644 index 000000000000..c2d10aa9ec64 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/FindNeighbors/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_FindNeighbors_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.NewMatchClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.FindNeighborsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#FindNeighborsRequest. + } + resp, err := c.FindNeighbors(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_MatchService_FindNeighbors_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..a8b1861d2e4e --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetIamPolicy/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetLocation/main.go new file mode 100644 index 000000000000..9f8733f696ed --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetLocation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetOperation/main.go new file mode 100644 index 000000000000..bd319e6c89dc --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/GetOperation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListLocations/main.go new file mode 100644 index 000000000000..6ff7482acc83 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListLocations/main.go @@ -0,0 +1,61 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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 + } +} + +// [END aiplatform_v1beta1_generated_MatchService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListOperations/main.go new file mode 100644 index 000000000000..7bbe1a832a15 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ListOperations/main.go @@ -0,0 +1,61 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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 + } +} + +// [END aiplatform_v1beta1_generated_MatchService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ReadIndexDatapoints/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ReadIndexDatapoints/main.go new file mode 100644 index 000000000000..b0ae1fa1f98b --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/ReadIndexDatapoints/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_ReadIndexDatapoints_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.NewMatchClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ReadIndexDatapointsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ReadIndexDatapointsRequest. + } + resp, err := c.ReadIndexDatapoints(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_MatchService_ReadIndexDatapoints_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..6bdb25526ad8 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/SetIamPolicy/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..da452cf6d284 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/TestIamPermissions/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/WaitOperation/main.go new file mode 100644 index 000000000000..82b3cf3bfe54 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MatchClient/WaitOperation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_MatchService_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.NewMatchClient(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_MatchService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/CancelOperation/main.go index 96d9407a0767..f33dfe6110d6 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/DeleteOperation/main.go index ae561b913855..5e0fa0acc29a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetIamPolicy/main.go index 4dea46e295bb..f4a01990202f 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetOperation/main.go index acad598c7772..050b9bf3ab64 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/ListOperations/main.go index d1e10a8130d8..497709657c77 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/SetIamPolicy/main.go index 1a025d07704b..08957da7ebcb 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/TestIamPermissions/main.go index ae1f0bf98f5e..48c79a1b4149 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/WaitOperation/main.go index df5b00ce566c..37e9dd7e9f6a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MetadataClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/CancelOperation/main.go index 6b32ffc255b6..11dc8177d59d 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/DeleteOperation/main.go index f2f65d72f7e3..8bb2a2de342b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetIamPolicy/main.go index 24ef53a1b00d..2262dae70541 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetOperation/main.go index 907668ad3f18..4ef740dc4ef6 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/ListOperations/main.go index 126956d9c7e8..07c99fa02ce7 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/SetIamPolicy/main.go index a8da55b68439..8c48157caba3 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/TestIamPermissions/main.go index 9d9022475c4e..662b90b607ae 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/WaitOperation/main.go index 3757a571c624..80b9221dbb0c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/MigrationClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/BatchImportEvaluatedAnnotations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/BatchImportEvaluatedAnnotations/main.go new file mode 100644 index 000000000000..756de718e4ce --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/BatchImportEvaluatedAnnotations/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ModelService_BatchImportEvaluatedAnnotations_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.NewModelClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.BatchImportEvaluatedAnnotationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#BatchImportEvaluatedAnnotationsRequest. + } + resp, err := c.BatchImportEvaluatedAnnotations(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_ModelService_BatchImportEvaluatedAnnotations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/CancelOperation/main.go index 6ae1b745133a..dd904719fd7a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/DeleteOperation/main.go index ef8f9f9583c4..eba4a09c8548 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetIamPolicy/main.go index e059478b852e..1e01d9c8f647 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetOperation/main.go index 5d3e16cb3db9..e05bf0470c13 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/ListOperations/main.go index b19bdc4814e0..15fff7ac7cca 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/SetIamPolicy/main.go index 46c744a78c97..89b4d8df38cf 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/TestIamPermissions/main.go index d20b8f02fa85..5fab698de24c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/WaitOperation/main.go index 91b7b78e2a27..09041827b5b3 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ModelClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/CancelOperation/main.go index 551a471902b4..d3be9f4a62b4 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/DeleteOperation/main.go index e909bc9ea3c8..ba9406a01436 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetIamPolicy/main.go index 70d76f1c5d98..987881f9b696 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetOperation/main.go index b3fd9ecbb8c5..b6b9df790926 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/ListOperations/main.go index 11fbab42740d..9cffd9e021bc 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/SetIamPolicy/main.go index 482481ae6b8b..1ec6d8e6466c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/TestIamPermissions/main.go index 94ac74c37660..5f3342c5b188 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/WaitOperation/main.go index caa074895d4f..712c0a8d89be 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PipelineClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/CancelOperation/main.go index deffd26e2735..a27c0de48d77 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/DeleteOperation/main.go index 6fb91ad7c40f..331bae1abe0a 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetIamPolicy/main.go index 761058f5e16b..cdbee7722e05 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetOperation/main.go index 2887005d0c49..31db21c1a396 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/ListOperations/main.go index 85658378e7a2..6aa2a5a21f6c 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/SetIamPolicy/main.go index 8a4f9d69b7b1..42c744bf6cca 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/TestIamPermissions/main.go index 8dfd2d4d1eeb..a1d389a981d4 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/WaitOperation/main.go index 04e60f8a40ad..3bbf4b1f40e9 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/PredictionClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CancelOperation/main.go new file mode 100644 index 000000000000..99070eba0225 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CancelOperation/main.go @@ -0,0 +1,52 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_CancelOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CreateSchedule/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CreateSchedule/main.go new file mode 100644 index 000000000000..f39b6c709569 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/CreateSchedule/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_CreateSchedule_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.CreateScheduleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#CreateScheduleRequest. + } + resp, err := c.CreateSchedule(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_ScheduleService_CreateSchedule_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteOperation/main.go new file mode 100644 index 000000000000..f9961dde13d5 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteOperation/main.go @@ -0,0 +1,52 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_DeleteOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteSchedule/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteSchedule/main.go new file mode 100644 index 000000000000..c399ea1b4501 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/DeleteSchedule/main.go @@ -0,0 +1,56 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_DeleteSchedule_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.DeleteScheduleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#DeleteScheduleRequest. + } + op, err := c.DeleteSchedule(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_DeleteSchedule_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetIamPolicy/main.go new file mode 100644 index 000000000000..c5066724c3af --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetIamPolicy/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_GetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetLocation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetLocation/main.go new file mode 100644 index 000000000000..0b2ad978b497 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetLocation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_GetLocation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetOperation/main.go new file mode 100644 index 000000000000..b56d74a13b35 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetOperation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_GetOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetSchedule/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetSchedule/main.go new file mode 100644 index 000000000000..330e82b4f568 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/GetSchedule/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_GetSchedule_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.GetScheduleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#GetScheduleRequest. + } + resp, err := c.GetSchedule(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END aiplatform_v1beta1_generated_ScheduleService_GetSchedule_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListLocations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListLocations/main.go new file mode 100644 index 000000000000..b6c26230db13 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListLocations/main.go @@ -0,0 +1,61 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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 + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_ListLocations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListOperations/main.go new file mode 100644 index 000000000000..c667e729d482 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListOperations/main.go @@ -0,0 +1,61 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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 + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_ListOperations_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListSchedules/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListSchedules/main.go new file mode 100644 index 000000000000..47f3c84bbdfe --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ListSchedules/main.go @@ -0,0 +1,60 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_ListSchedules_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ListSchedulesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ListSchedulesRequest. + } + it := c.ListSchedules(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_ListSchedules_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/PauseSchedule/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/PauseSchedule/main.go new file mode 100644 index 000000000000..f242db38608a --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/PauseSchedule/main.go @@ -0,0 +1,51 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_PauseSchedule_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.PauseScheduleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#PauseScheduleRequest. + } + err = c.PauseSchedule(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_PauseSchedule_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ResumeSchedule/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ResumeSchedule/main.go new file mode 100644 index 000000000000..8252d983164f --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/ResumeSchedule/main.go @@ -0,0 +1,51 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_ResumeSchedule_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.NewScheduleClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &aiplatformpb.ResumeScheduleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb#ResumeScheduleRequest. + } + err = c.ResumeSchedule(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END aiplatform_v1beta1_generated_ScheduleService_ResumeSchedule_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/SetIamPolicy/main.go new file mode 100644 index 000000000000..7119a48c4e41 --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/SetIamPolicy/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_SetIamPolicy_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/TestIamPermissions/main.go new file mode 100644 index 000000000000..32ffeba50dbd --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/TestIamPermissions/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_TestIamPermissions_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/WaitOperation/main.go new file mode 100644 index 000000000000..a8576ea962ef --- /dev/null +++ b/internal/generated/snippets/aiplatform/apiv1beta1/ScheduleClient/WaitOperation/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START aiplatform_v1beta1_generated_ScheduleService_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.NewScheduleClient(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_ScheduleService_WaitOperation_sync] diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/CancelOperation/main.go index 0fd4094c7dd2..1557d9dd0147 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/DeleteOperation/main.go index e2aedfdafa58..5e8c4168a964 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetIamPolicy/main.go index 3924338dd5b0..4d1f5a57fb43 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetOperation/main.go index 1120d7b22a76..96e3cc1a3f2b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/ListOperations/main.go index 87e7afc998c8..748578b5a0c9 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/SetIamPolicy/main.go index ba4477ebad19..57fb5fb41148 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/TestIamPermissions/main.go index e7bcf4d41dbb..65dc14294f21 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/WaitOperation/main.go index b389f9d572d2..348065aa3f71 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/SpecialistPoolClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/CancelOperation/main.go index 92e8aae626bf..dc8cbf60e114 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/DeleteOperation/main.go index ba75c3edb2df..8b2007e1cf98 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetIamPolicy/main.go index b0601ace30d7..75fcddbae80e 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetOperation/main.go index 2ac8a5deaf88..7cf8a1af47d1 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/ListOperations/main.go index 7a3b9c5f0c78..e93b61bb5f29 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/SetIamPolicy/main.go index 7f8170ca087b..112ea9d07350 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/TestIamPermissions/main.go index 1f5362ca53dd..63123bc6d9d6 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/WaitOperation/main.go index a5ea6247ee2a..69555079e9ad 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/TensorboardClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/CancelOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/CancelOperation/main.go index 15f1706fbf1f..534005a60105 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/CancelOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/CancelOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.CancelOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#CancelOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. } err = c.CancelOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/DeleteOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/DeleteOperation/main.go index 8a505057981a..45cb104cd4ff 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/DeleteOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/DeleteOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.DeleteOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#DeleteOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. } err = c.DeleteOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetIamPolicy/main.go index 5ae1ee4d4c74..af42f32b3476 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.GetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#GetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#GetIamPolicyRequest. } resp, err := c.GetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetOperation/main.go index df968ae2eaaf..d82477ea309b 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/GetOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.GetOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#GetOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. } resp, err := c.GetOperation(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/ListOperations/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/ListOperations/main.go index d4379a6698a0..dafb3bb4b3d1 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/ListOperations/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/ListOperations/main.go @@ -22,9 +22,9 @@ import ( "context" aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "google.golang.org/api/iterator" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" ) func main() { @@ -42,7 +42,7 @@ func main() { req := &longrunningpb.ListOperationsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#ListOperationsRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. } it := c.ListOperations(ctx, req) for { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/SetIamPolicy/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/SetIamPolicy/main.go index 8e3715eb129c..9ddeeb674095 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/SetIamPolicy/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/SetIamPolicy/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.SetIamPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#SetIamPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#SetIamPolicyRequest. } resp, err := c.SetIamPolicy(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/TestIamPermissions/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/TestIamPermissions/main.go index 607951218956..f17952849223 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/TestIamPermissions/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/TestIamPermissions/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/iam/apiv1/iampb" + iampb "cloud.google.com/go/iam/apiv1/iampb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &iampb.TestIamPermissionsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/iam/v1#TestIamPermissionsRequest. + // See https://pkg.go.dev/cloud.google.com/go/iam/apiv1/iampb#TestIamPermissionsRequest. } resp, err := c.TestIamPermissions(ctx, req) if err != nil { diff --git a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/WaitOperation/main.go b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/WaitOperation/main.go index 98b5163b8d25..55342e4d7335 100644 --- a/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/WaitOperation/main.go +++ b/internal/generated/snippets/aiplatform/apiv1beta1/VizierClient/WaitOperation/main.go @@ -23,7 +23,7 @@ import ( aiplatform "cloud.google.com/go/aiplatform/apiv1beta1" - "cloud.google.com/go/longrunning/autogen/longrunningpb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" ) func main() { @@ -41,7 +41,7 @@ func main() { req := &longrunningpb.WaitOperationRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/google.golang.org/genproto/googleapis/longrunning#WaitOperationRequest. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#WaitOperationRequest. } resp, err := c.WaitOperation(ctx, req) if err != nil { 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 7e5b37c787bf..e2aaae777165 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 @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/aiplatform/apiv1beta1", - "version": "1.34.0", + "version": "1.37.0", "language": "GO", "apis": [ { @@ -702,7 +702,7 @@ { "regionTag": "aiplatform_v1beta1_generated_DatasetService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "DatasetClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -1482,7 +1482,7 @@ { "regionTag": "aiplatform_v1beta1_generated_DeploymentResourcePoolService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "DeploymentResourcePoolClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -2216,7 +2216,7 @@ { "regionTag": "aiplatform_v1beta1_generated_EndpointService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "EndpointClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -3548,7 +3548,7 @@ { "regionTag": "aiplatform_v1beta1_generated_FeaturestoreService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "FeaturestoreClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -4190,7 +4190,7 @@ { "regionTag": "aiplatform_v1beta1_generated_FeaturestoreOnlineServingService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "FeaturestoreOnlineServingClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -4969,7 +4969,7 @@ { "regionTag": "aiplatform_v1beta1_generated_IndexService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "IndexClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -5795,7 +5795,7 @@ { "regionTag": "aiplatform_v1beta1_generated_IndexEndpointService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "IndexEndpointClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -7812,7 +7812,7 @@ { "regionTag": "aiplatform_v1beta1_generated_JobService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "JobClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -8176,21 +8176,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddContextArtifactsAndExecutions_sync", - "title": "aiplatform AddContextArtifactsAndExecutions Sample", - "description": "AddContextArtifactsAndExecutions adds a set of Artifacts and Executions to a Context. If any of the\nArtifacts or Executions have already been added to a Context, they are\nsimply skipped.", - "file": "MetadataClient/AddContextArtifactsAndExecutions/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "MatchClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "AddContextArtifactsAndExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddContextArtifactsAndExecutions", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.AddContextArtifactsAndExecutionsRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -8198,17 +8198,16 @@ "name": "opts" } ], - "resultType": "aiplatformpb.AddContextArtifactsAndExecutionsResponse", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "AddContextArtifactsAndExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.CancelOperation", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8216,27 +8215,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddContextChildren_sync", - "title": "aiplatform AddContextChildren Sample", - "description": "AddContextChildren adds a set of Contexts as children to a parent Context. If any of the\nchild Contexts have already been added to the parent Context, they are\nsimply skipped. If this call would create a cycle or cause any Context to\nhave more than 10 parents, the request will fail with an INVALID_ARGUMENT\nerror.", - "file": "MetadataClient/AddContextChildren/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "MatchClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "AddContextChildren", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddContextChildren", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.AddContextChildrenRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -8244,17 +8243,16 @@ "name": "opts" } ], - "resultType": "aiplatformpb.AddContextChildrenResponse", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "AddContextChildren", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.DeleteOperation", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8262,27 +8260,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddExecutionEvents_sync", - "title": "aiplatform AddExecutionEvents Sample", - "description": "AddExecutionEvents adds Events to the specified Execution. An Event indicates whether an\nArtifact was used as an input or output for an Execution. If an Event\nalready exists between the Execution and the Artifact, the Event is\nskipped.", - "file": "MetadataClient/AddExecutionEvents/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_FindNeighbors_sync", + "title": "aiplatform FindNeighbors Sample", + "description": "FindNeighbors finds the nearest neighbors of each vector within the request.", + "file": "MatchClient/FindNeighbors/main.go", "language": "GO", "clientMethod": { - "shortName": "AddExecutionEvents", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddExecutionEvents", + "shortName": "FindNeighbors", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.FindNeighbors", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.AddExecutionEventsRequest", + "type": "aiplatformpb.FindNeighborsRequest", "name": "req" }, { @@ -8290,17 +8288,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.AddExecutionEventsResponse", + "resultType": "aiplatformpb.FindNeighborsResponse", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "AddExecutionEvents", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents", + "shortName": "FindNeighbors", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.FindNeighbors", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8314,21 +8312,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "MetadataClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_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": "MatchClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CancelOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -8336,16 +8334,17 @@ "name": "opts" } ], + "resultType": "iampb.Policy", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CancelOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.GetIamPolicy", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8353,27 +8352,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateArtifact_sync", - "title": "aiplatform CreateArtifact Sample", - "description": "CreateArtifact creates an Artifact associated with a MetadataStore.", - "file": "MetadataClient/CreateArtifact/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "MatchClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateArtifact", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateArtifactRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -8381,17 +8380,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Artifact", + "resultType": "locationpb.Location", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CreateArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.GetLocation", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8399,27 +8398,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateContext_sync", - "title": "aiplatform CreateContext Sample", - "description": "CreateContext creates a Context associated with a MetadataStore.", - "file": "MetadataClient/CreateContext/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "MatchClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateContext", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateContextRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -8427,17 +8426,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Context", + "resultType": "longrunningpb.Operation", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CreateContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateContext", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.GetOperation", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8445,27 +8444,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateExecution_sync", - "title": "aiplatform CreateExecution Sample", - "description": "CreateExecution creates an Execution associated with a MetadataStore.", - "file": "MetadataClient/CreateExecution/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "MatchClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateExecution", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateExecutionRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -8473,17 +8472,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Execution", + "resultType": "LocationIterator", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CreateExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.ListLocations", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8491,27 +8490,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 61, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateMetadataSchema_sync", - "title": "aiplatform CreateMetadataSchema Sample", - "description": "CreateMetadataSchema creates a MetadataSchema.", - "file": "MetadataClient/CreateMetadataSchema/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "MatchClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateMetadataSchema", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateMetadataSchema", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateMetadataSchemaRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -8519,17 +8518,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.MetadataSchema", + "resultType": "OperationIterator", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CreateMetadataSchema", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.ListOperations", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8537,27 +8536,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 61, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateMetadataStore_sync", - "title": "aiplatform CreateMetadataStore Sample", - "description": "CreateMetadataStore initializes a MetadataStore, including allocation of resources.", - "file": "MetadataClient/CreateMetadataStore/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_ReadIndexDatapoints_sync", + "title": "aiplatform ReadIndexDatapoints Sample", + "description": "ReadIndexDatapoints reads the datapoints/vectors of the given IDs.\nA maximum of 1000 datapoints can be retrieved in a batch.", + "file": "MatchClient/ReadIndexDatapoints/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateMetadataStore", + "shortName": "ReadIndexDatapoints", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.ReadIndexDatapoints", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateMetadataStoreRequest", + "type": "aiplatformpb.ReadIndexDatapointsRequest", "name": "req" }, { @@ -8565,17 +8564,17 @@ "name": "opts" } ], - "resultType": "CreateMetadataStoreOperation", + "resultType": "aiplatformpb.ReadIndexDatapointsResponse", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "CreateMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore", + "shortName": "ReadIndexDatapoints", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.ReadIndexDatapoints", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8583,27 +8582,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteArtifact_sync", - "title": "aiplatform DeleteArtifact Sample", - "description": "DeleteArtifact deletes an Artifact.", - "file": "MetadataClient/DeleteArtifact/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_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": "MatchClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteArtifact", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteArtifactRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -8611,17 +8610,17 @@ "name": "opts" } ], - "resultType": "DeleteArtifactOperation", + "resultType": "iampb.Policy", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "DeleteArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.SetIamPolicy", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8629,27 +8628,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteContext_sync", - "title": "aiplatform DeleteContext Sample", - "description": "DeleteContext deletes a stored Context.", - "file": "MetadataClient/DeleteContext/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_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": "MatchClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteContext", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteContextRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -8657,17 +8656,17 @@ "name": "opts" } ], - "resultType": "DeleteContextOperation", + "resultType": "iampb.TestIamPermissionsResponse", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "DeleteContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.TestIamPermissions", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8675,27 +8674,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteExecution_sync", - "title": "aiplatform DeleteExecution Sample", - "description": "DeleteExecution deletes an Execution.", - "file": "MetadataClient/DeleteExecution/main.go", + "regionTag": "aiplatform_v1beta1_generated_MatchService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "MatchClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteExecution", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteExecutionRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -8703,17 +8702,17 @@ "name": "opts" } ], - "resultType": "DeleteExecutionOperation", + "resultType": "longrunningpb.Operation", "client": { - "shortName": "MetadataClient", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" + "shortName": "MatchClient", + "fullName": "google.cloud.aiplatform.v1beta1.MatchClient" }, "method": { - "shortName": "DeleteExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService.WaitOperation", "service": { - "shortName": "MetadataService", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" + "shortName": "MatchService", + "fullName": "google.cloud.aiplatform.v1beta1.MatchService" } } }, @@ -8721,27 +8720,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteMetadataStore_sync", - "title": "aiplatform DeleteMetadataStore Sample", - "description": "DeleteMetadataStore deletes a single MetadataStore and all its child resources (Artifacts,\nExecutions, and Contexts).", - "file": "MetadataClient/DeleteMetadataStore/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddContextArtifactsAndExecutions_sync", + "title": "aiplatform AddContextArtifactsAndExecutions Sample", + "description": "AddContextArtifactsAndExecutions adds a set of Artifacts and Executions to a Context. If any of the\nArtifacts or Executions have already been added to a Context, they are\nsimply skipped.", + "file": "MetadataClient/AddContextArtifactsAndExecutions/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteMetadataStore", + "shortName": "AddContextArtifactsAndExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddContextArtifactsAndExecutions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteMetadataStoreRequest", + "type": "aiplatformpb.AddContextArtifactsAndExecutionsRequest", "name": "req" }, { @@ -8749,14 +8748,14 @@ "name": "opts" } ], - "resultType": "DeleteMetadataStoreOperation", + "resultType": "aiplatformpb.AddContextArtifactsAndExecutionsResponse", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "DeleteMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore", + "shortName": "AddContextArtifactsAndExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddContextArtifactsAndExecutions", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8767,27 +8766,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "MetadataClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddContextChildren_sync", + "title": "aiplatform AddContextChildren Sample", + "description": "AddContextChildren adds a set of Contexts as children to a parent Context. If any of the\nchild Contexts have already been added to the parent Context, they are\nsimply skipped. If this call would create a cycle or cause any Context to\nhave more than 10 parents, the request will fail with an INVALID_ARGUMENT\nerror.", + "file": "MetadataClient/AddContextChildren/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteOperation", + "shortName": "AddContextChildren", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddContextChildren", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.AddContextChildrenRequest", "name": "req" }, { @@ -8795,13 +8794,14 @@ "name": "opts" } ], + "resultType": "aiplatformpb.AddContextChildrenResponse", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteOperation", + "shortName": "AddContextChildren", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddContextChildren", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8812,27 +8812,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetArtifact_sync", - "title": "aiplatform GetArtifact Sample", - "description": "GetArtifact retrieves a specific Artifact.", - "file": "MetadataClient/GetArtifact/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_AddExecutionEvents_sync", + "title": "aiplatform AddExecutionEvents Sample", + "description": "AddExecutionEvents adds Events to the specified Execution. An Event indicates whether an\nArtifact was used as an input or output for an Execution. If an Event\nalready exists between the Execution and the Artifact, the Event is\nskipped.", + "file": "MetadataClient/AddExecutionEvents/main.go", "language": "GO", "clientMethod": { - "shortName": "GetArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetArtifact", + "shortName": "AddExecutionEvents", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.AddExecutionEvents", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetArtifactRequest", + "type": "aiplatformpb.AddExecutionEventsRequest", "name": "req" }, { @@ -8840,14 +8840,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Artifact", + "resultType": "aiplatformpb.AddExecutionEventsResponse", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact", + "shortName": "AddExecutionEvents", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.AddExecutionEvents", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8864,21 +8864,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetContext_sync", - "title": "aiplatform GetContext Sample", - "description": "GetContext retrieves a specific Context.", - "file": "MetadataClient/GetContext/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "MetadataClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "GetContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetContext", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetContextRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -8886,14 +8886,13 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Context", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetContext", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CancelOperation", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8904,27 +8903,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetExecution_sync", - "title": "aiplatform GetExecution Sample", - "description": "GetExecution retrieves a specific Execution.", - "file": "MetadataClient/GetExecution/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateArtifact_sync", + "title": "aiplatform CreateArtifact Sample", + "description": "CreateArtifact creates an Artifact associated with a MetadataStore.", + "file": "MetadataClient/CreateArtifact/main.go", "language": "GO", "clientMethod": { - "shortName": "GetExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetExecution", + "shortName": "CreateArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateArtifact", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetExecutionRequest", + "type": "aiplatformpb.CreateArtifactRequest", "name": "req" }, { @@ -8932,14 +8931,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Execution", + "resultType": "aiplatformpb.Artifact", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetExecution", + "shortName": "CreateArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateArtifact", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8956,21 +8955,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateContext_sync", + "title": "aiplatform CreateContext Sample", + "description": "CreateContext creates a Context associated with a MetadataStore.", + "file": "MetadataClient/CreateContext/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetIamPolicy", + "shortName": "CreateContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateContext", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.CreateContextRequest", "name": "req" }, { @@ -8978,14 +8977,14 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "aiplatformpb.Context", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetIamPolicy", + "shortName": "CreateContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateContext", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -8996,27 +8995,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "MetadataClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateExecution_sync", + "title": "aiplatform CreateExecution Sample", + "description": "CreateExecution creates an Execution associated with a MetadataStore.", + "file": "MetadataClient/CreateExecution/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetLocation", + "shortName": "CreateExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateExecution", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "aiplatformpb.CreateExecutionRequest", "name": "req" }, { @@ -9024,14 +9023,14 @@ "name": "opts" } ], - "resultType": "locationpb.Location", + "resultType": "aiplatformpb.Execution", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetLocation", + "shortName": "CreateExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateExecution", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9042,27 +9041,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetMetadataSchema_sync", - "title": "aiplatform GetMetadataSchema Sample", - "description": "GetMetadataSchema retrieves a specific MetadataSchema.", - "file": "MetadataClient/GetMetadataSchema/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateMetadataSchema_sync", + "title": "aiplatform CreateMetadataSchema Sample", + "description": "CreateMetadataSchema creates a MetadataSchema.", + "file": "MetadataClient/CreateMetadataSchema/main.go", "language": "GO", "clientMethod": { - "shortName": "GetMetadataSchema", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetMetadataSchema", + "shortName": "CreateMetadataSchema", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateMetadataSchema", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetMetadataSchemaRequest", + "type": "aiplatformpb.CreateMetadataSchemaRequest", "name": "req" }, { @@ -9076,8 +9075,8 @@ "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetMetadataSchema", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema", + "shortName": "CreateMetadataSchema", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataSchema", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9094,21 +9093,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetMetadataStore_sync", - "title": "aiplatform GetMetadataStore Sample", - "description": "GetMetadataStore retrieves a specific MetadataStore.", - "file": "MetadataClient/GetMetadataStore/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_CreateMetadataStore_sync", + "title": "aiplatform CreateMetadataStore Sample", + "description": "CreateMetadataStore initializes a MetadataStore, including allocation of resources.", + "file": "MetadataClient/CreateMetadataStore/main.go", "language": "GO", "clientMethod": { - "shortName": "GetMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetMetadataStore", + "shortName": "CreateMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.CreateMetadataStore", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetMetadataStoreRequest", + "type": "aiplatformpb.CreateMetadataStoreRequest", "name": "req" }, { @@ -9116,14 +9115,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.MetadataStore", + "resultType": "CreateMetadataStoreOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetMetadataStore", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore", + "shortName": "CreateMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.CreateMetadataStore", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9134,27 +9133,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "MetadataClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteArtifact_sync", + "title": "aiplatform DeleteArtifact Sample", + "description": "DeleteArtifact deletes an Artifact.", + "file": "MetadataClient/DeleteArtifact/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetOperation", + "shortName": "DeleteArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteArtifact", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.DeleteArtifactRequest", "name": "req" }, { @@ -9162,14 +9161,14 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "DeleteArtifactOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetOperation", + "shortName": "DeleteArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteArtifact", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9180,27 +9179,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListArtifacts_sync", - "title": "aiplatform ListArtifacts Sample", - "description": "ListArtifacts lists Artifacts in the MetadataStore.", - "file": "MetadataClient/ListArtifacts/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteContext_sync", + "title": "aiplatform DeleteContext Sample", + "description": "DeleteContext deletes a stored Context.", + "file": "MetadataClient/DeleteContext/main.go", "language": "GO", "clientMethod": { - "shortName": "ListArtifacts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListArtifacts", + "shortName": "DeleteContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteContext", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListArtifactsRequest", + "type": "aiplatformpb.DeleteContextRequest", "name": "req" }, { @@ -9208,14 +9207,14 @@ "name": "opts" } ], - "resultType": "ArtifactIterator", + "resultType": "DeleteContextOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListArtifacts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts", + "shortName": "DeleteContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteContext", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9226,27 +9225,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListContexts_sync", - "title": "aiplatform ListContexts Sample", - "description": "ListContexts lists Contexts on the MetadataStore.", - "file": "MetadataClient/ListContexts/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteExecution_sync", + "title": "aiplatform DeleteExecution Sample", + "description": "DeleteExecution deletes an Execution.", + "file": "MetadataClient/DeleteExecution/main.go", "language": "GO", "clientMethod": { - "shortName": "ListContexts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListContexts", + "shortName": "DeleteExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteExecution", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListContextsRequest", + "type": "aiplatformpb.DeleteExecutionRequest", "name": "req" }, { @@ -9254,14 +9253,14 @@ "name": "opts" } ], - "resultType": "ContextIterator", + "resultType": "DeleteExecutionOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListContexts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListContexts", + "shortName": "DeleteExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteExecution", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9272,27 +9271,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListExecutions_sync", - "title": "aiplatform ListExecutions Sample", - "description": "ListExecutions lists Executions in the MetadataStore.", - "file": "MetadataClient/ListExecutions/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteMetadataStore_sync", + "title": "aiplatform DeleteMetadataStore Sample", + "description": "DeleteMetadataStore deletes a single MetadataStore and all its child resources (Artifacts,\nExecutions, and Contexts).", + "file": "MetadataClient/DeleteMetadataStore/main.go", "language": "GO", "clientMethod": { - "shortName": "ListExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListExecutions", + "shortName": "DeleteMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteMetadataStore", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListExecutionsRequest", + "type": "aiplatformpb.DeleteMetadataStoreRequest", "name": "req" }, { @@ -9300,14 +9299,14 @@ "name": "opts" } ], - "resultType": "ExecutionIterator", + "resultType": "DeleteMetadataStoreOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions", + "shortName": "DeleteMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteMetadataStore", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9318,27 +9317,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "MetadataClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "MetadataClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListLocations", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -9346,14 +9345,13 @@ "name": "opts" } ], - "resultType": "LocationIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListLocations", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.DeleteOperation", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9364,27 +9362,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListMetadataSchemas_sync", - "title": "aiplatform ListMetadataSchemas Sample", - "description": "ListMetadataSchemas lists MetadataSchemas.", - "file": "MetadataClient/ListMetadataSchemas/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetArtifact_sync", + "title": "aiplatform GetArtifact Sample", + "description": "GetArtifact retrieves a specific Artifact.", + "file": "MetadataClient/GetArtifact/main.go", "language": "GO", "clientMethod": { - "shortName": "ListMetadataSchemas", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListMetadataSchemas", + "shortName": "GetArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetArtifact", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListMetadataSchemasRequest", + "type": "aiplatformpb.GetArtifactRequest", "name": "req" }, { @@ -9392,14 +9390,14 @@ "name": "opts" } ], - "resultType": "MetadataSchemaIterator", + "resultType": "aiplatformpb.Artifact", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListMetadataSchemas", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas", + "shortName": "GetArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetArtifact", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9410,27 +9408,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListMetadataStores_sync", - "title": "aiplatform ListMetadataStores Sample", - "description": "ListMetadataStores lists MetadataStores for a Location.", - "file": "MetadataClient/ListMetadataStores/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetContext_sync", + "title": "aiplatform GetContext Sample", + "description": "GetContext retrieves a specific Context.", + "file": "MetadataClient/GetContext/main.go", "language": "GO", "clientMethod": { - "shortName": "ListMetadataStores", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListMetadataStores", + "shortName": "GetContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetContext", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListMetadataStoresRequest", + "type": "aiplatformpb.GetContextRequest", "name": "req" }, { @@ -9438,14 +9436,14 @@ "name": "opts" } ], - "resultType": "MetadataStoreIterator", + "resultType": "aiplatformpb.Context", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListMetadataStores", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores", + "shortName": "GetContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetContext", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9456,27 +9454,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "MetadataClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetExecution_sync", + "title": "aiplatform GetExecution Sample", + "description": "GetExecution retrieves a specific Execution.", + "file": "MetadataClient/GetExecution/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListOperations", + "shortName": "GetExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetExecution", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "aiplatformpb.GetExecutionRequest", "name": "req" }, { @@ -9484,14 +9482,14 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "aiplatformpb.Execution", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListOperations", + "shortName": "GetExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetExecution", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9502,27 +9500,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeArtifacts_sync", - "title": "aiplatform PurgeArtifacts Sample", - "description": "PurgeArtifacts purges Artifacts.", - "file": "MetadataClient/PurgeArtifacts/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "PurgeArtifacts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeArtifacts", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PurgeArtifactsRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -9530,14 +9528,14 @@ "name": "opts" } ], - "resultType": "PurgeArtifactsOperation", + "resultType": "iampb.Policy", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "PurgeArtifacts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetIamPolicy", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9548,27 +9546,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeContexts_sync", - "title": "aiplatform PurgeContexts Sample", - "description": "PurgeContexts purges Contexts.", - "file": "MetadataClient/PurgeContexts/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "MetadataClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "PurgeContexts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeContexts", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PurgeContextsRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -9576,14 +9574,14 @@ "name": "opts" } ], - "resultType": "PurgeContextsOperation", + "resultType": "locationpb.Location", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "PurgeContexts", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetLocation", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9594,27 +9592,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeExecutions_sync", - "title": "aiplatform PurgeExecutions Sample", - "description": "PurgeExecutions purges Executions.", - "file": "MetadataClient/PurgeExecutions/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetMetadataSchema_sync", + "title": "aiplatform GetMetadataSchema Sample", + "description": "GetMetadataSchema retrieves a specific MetadataSchema.", + "file": "MetadataClient/GetMetadataSchema/main.go", "language": "GO", "clientMethod": { - "shortName": "PurgeExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeExecutions", + "shortName": "GetMetadataSchema", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetMetadataSchema", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PurgeExecutionsRequest", + "type": "aiplatformpb.GetMetadataSchemaRequest", "name": "req" }, { @@ -9622,14 +9620,14 @@ "name": "opts" } ], - "resultType": "PurgeExecutionsOperation", + "resultType": "aiplatformpb.MetadataSchema", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "PurgeExecutions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions", + "shortName": "GetMetadataSchema", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataSchema", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9640,27 +9638,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryArtifactLineageSubgraph_sync", - "title": "aiplatform QueryArtifactLineageSubgraph Sample", - "description": "QueryArtifactLineageSubgraph retrieves lineage of an Artifact represented through Artifacts and\nExecutions connected by Event edges and returned as a LineageSubgraph.", - "file": "MetadataClient/QueryArtifactLineageSubgraph/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetMetadataStore_sync", + "title": "aiplatform GetMetadataStore Sample", + "description": "GetMetadataStore retrieves a specific MetadataStore.", + "file": "MetadataClient/GetMetadataStore/main.go", "language": "GO", "clientMethod": { - "shortName": "QueryArtifactLineageSubgraph", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryArtifactLineageSubgraph", + "shortName": "GetMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetMetadataStore", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.QueryArtifactLineageSubgraphRequest", + "type": "aiplatformpb.GetMetadataStoreRequest", "name": "req" }, { @@ -9668,14 +9666,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.LineageSubgraph", + "resultType": "aiplatformpb.MetadataStore", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "QueryArtifactLineageSubgraph", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph", + "shortName": "GetMetadataStore", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetMetadataStore", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9692,21 +9690,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryContextLineageSubgraph_sync", - "title": "aiplatform QueryContextLineageSubgraph Sample", - "description": "QueryContextLineageSubgraph retrieves Artifacts and Executions within the specified Context, connected\nby Event edges and returned as a LineageSubgraph.", - "file": "MetadataClient/QueryContextLineageSubgraph/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "MetadataClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "QueryContextLineageSubgraph", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryContextLineageSubgraph", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.QueryContextLineageSubgraphRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -9714,14 +9712,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.LineageSubgraph", + "resultType": "longrunningpb.Operation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "QueryContextLineageSubgraph", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.GetOperation", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9732,27 +9730,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryExecutionInputsAndOutputs_sync", - "title": "aiplatform QueryExecutionInputsAndOutputs Sample", - "description": "QueryExecutionInputsAndOutputs obtains the set of input and output Artifacts for this Execution, in the\nform of LineageSubgraph that also contains the Execution and connecting\nEvents.", - "file": "MetadataClient/QueryExecutionInputsAndOutputs/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListArtifacts_sync", + "title": "aiplatform ListArtifacts Sample", + "description": "ListArtifacts lists Artifacts in the MetadataStore.", + "file": "MetadataClient/ListArtifacts/main.go", "language": "GO", "clientMethod": { - "shortName": "QueryExecutionInputsAndOutputs", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryExecutionInputsAndOutputs", + "shortName": "ListArtifacts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListArtifacts", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.QueryExecutionInputsAndOutputsRequest", + "type": "aiplatformpb.ListArtifactsRequest", "name": "req" }, { @@ -9760,14 +9758,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.LineageSubgraph", + "resultType": "ArtifactIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "QueryExecutionInputsAndOutputs", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs", + "shortName": "ListArtifacts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9778,27 +9776,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_RemoveContextChildren_sync", - "title": "aiplatform RemoveContextChildren Sample", - "description": "RemoveContextChildren remove a set of children contexts from a parent Context. If any of the\nchild Contexts were NOT added to the parent Context, they are\nsimply skipped.", - "file": "MetadataClient/RemoveContextChildren/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListContexts_sync", + "title": "aiplatform ListContexts Sample", + "description": "ListContexts lists Contexts on the MetadataStore.", + "file": "MetadataClient/ListContexts/main.go", "language": "GO", "clientMethod": { - "shortName": "RemoveContextChildren", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.RemoveContextChildren", + "shortName": "ListContexts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListContexts", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.RemoveContextChildrenRequest", + "type": "aiplatformpb.ListContextsRequest", "name": "req" }, { @@ -9806,14 +9804,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.RemoveContextChildrenResponse", + "resultType": "ContextIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "RemoveContextChildren", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren", + "shortName": "ListContexts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListContexts", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9824,27 +9822,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListExecutions_sync", + "title": "aiplatform ListExecutions Sample", + "description": "ListExecutions lists Executions in the MetadataStore.", + "file": "MetadataClient/ListExecutions/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.SetIamPolicy", + "shortName": "ListExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListExecutions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.ListExecutionsRequest", "name": "req" }, { @@ -9852,14 +9850,14 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "ExecutionIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.SetIamPolicy", + "shortName": "ListExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9870,27 +9868,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "MetadataClient/ListLocations/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.TestIamPermissions", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -9898,14 +9896,14 @@ "name": "opts" } ], - "resultType": "iampb.TestIamPermissionsResponse", + "resultType": "LocationIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.TestIamPermissions", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListLocations", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9916,27 +9914,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 61, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateArtifact_sync", - "title": "aiplatform UpdateArtifact Sample", - "description": "UpdateArtifact updates a stored Artifact.", - "file": "MetadataClient/UpdateArtifact/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListMetadataSchemas_sync", + "title": "aiplatform ListMetadataSchemas Sample", + "description": "ListMetadataSchemas lists MetadataSchemas.", + "file": "MetadataClient/ListMetadataSchemas/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateArtifact", + "shortName": "ListMetadataSchemas", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListMetadataSchemas", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateArtifactRequest", + "type": "aiplatformpb.ListMetadataSchemasRequest", "name": "req" }, { @@ -9944,14 +9942,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Artifact", + "resultType": "MetadataSchemaIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "UpdateArtifact", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact", + "shortName": "ListMetadataSchemas", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataSchemas", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -9962,27 +9960,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateContext_sync", - "title": "aiplatform UpdateContext Sample", - "description": "UpdateContext updates a stored Context.", - "file": "MetadataClient/UpdateContext/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListMetadataStores_sync", + "title": "aiplatform ListMetadataStores Sample", + "description": "ListMetadataStores lists MetadataStores for a Location.", + "file": "MetadataClient/ListMetadataStores/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateContext", + "shortName": "ListMetadataStores", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListMetadataStores", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateContextRequest", + "type": "aiplatformpb.ListMetadataStoresRequest", "name": "req" }, { @@ -9990,14 +9988,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Context", + "resultType": "MetadataStoreIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "UpdateContext", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext", + "shortName": "ListMetadataStores", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListMetadataStores", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -10008,27 +10006,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateExecution_sync", - "title": "aiplatform UpdateExecution Sample", - "description": "UpdateExecution updates a stored Execution.", - "file": "MetadataClient/UpdateExecution/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "MetadataClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateExecution", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateExecutionRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -10036,14 +10034,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Execution", + "resultType": "OperationIterator", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "UpdateExecution", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.ListOperations", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -10054,27 +10052,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 61, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MetadataService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "MetadataClient/WaitOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeArtifacts_sync", + "title": "aiplatform PurgeArtifacts Sample", + "description": "PurgeArtifacts purges Artifacts.", + "file": "MetadataClient/PurgeArtifacts/main.go", "language": "GO", "clientMethod": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.WaitOperation", + "shortName": "PurgeArtifacts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeArtifacts", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.PurgeArtifactsRequest", "name": "req" }, { @@ -10082,14 +10080,14 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "PurgeArtifactsOperation", "client": { "shortName": "MetadataClient", "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.WaitOperation", + "shortName": "PurgeArtifacts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeArtifacts", "service": { "shortName": "MetadataService", "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" @@ -10100,27 +10098,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_BatchMigrateResources_sync", - "title": "aiplatform BatchMigrateResources Sample", - "description": "BatchMigrateResources batch migrates resources from ml.googleapis.com (at http: //ml.googleapis.com), automl.googleapis.com (at http: //automl.googleapis.com),\nand datalabeling.googleapis.com (at http: //datalabeling.googleapis.com) to Vertex AI.", - "file": "MigrationClient/BatchMigrateResources/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeContexts_sync", + "title": "aiplatform PurgeContexts Sample", + "description": "PurgeContexts purges Contexts.", + "file": "MetadataClient/PurgeContexts/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchMigrateResources", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.BatchMigrateResources", + "shortName": "PurgeContexts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeContexts", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchMigrateResourcesRequest", + "type": "aiplatformpb.PurgeContextsRequest", "name": "req" }, { @@ -10128,17 +10126,17 @@ "name": "opts" } ], - "resultType": "BatchMigrateResourcesOperation", + "resultType": "PurgeContextsOperation", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "BatchMigrateResources", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources", + "shortName": "PurgeContexts", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeContexts", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10152,21 +10150,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_CancelOperation_sync", - "title": "aiplatform CancelOperation Sample", - "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "MigrationClient/CancelOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_PurgeExecutions_sync", + "title": "aiplatform PurgeExecutions Sample", + "description": "PurgeExecutions purges Executions.", + "file": "MetadataClient/PurgeExecutions/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.CancelOperation", + "shortName": "PurgeExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.PurgeExecutions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "aiplatformpb.PurgeExecutionsRequest", "name": "req" }, { @@ -10174,16 +10172,17 @@ "name": "opts" } ], + "resultType": "PurgeExecutionsOperation", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.CancelOperation", + "shortName": "PurgeExecutions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.PurgeExecutions", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10191,27 +10190,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "MigrationClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryArtifactLineageSubgraph_sync", + "title": "aiplatform QueryArtifactLineageSubgraph Sample", + "description": "QueryArtifactLineageSubgraph retrieves lineage of an Artifact represented through Artifacts and\nExecutions connected by Event edges and returned as a LineageSubgraph.", + "file": "MetadataClient/QueryArtifactLineageSubgraph/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.DeleteOperation", + "shortName": "QueryArtifactLineageSubgraph", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryArtifactLineageSubgraph", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.QueryArtifactLineageSubgraphRequest", "name": "req" }, { @@ -10219,16 +10218,17 @@ "name": "opts" } ], + "resultType": "aiplatformpb.LineageSubgraph", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.DeleteOperation", + "shortName": "QueryArtifactLineageSubgraph", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryArtifactLineageSubgraph", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10236,27 +10236,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryContextLineageSubgraph_sync", + "title": "aiplatform QueryContextLineageSubgraph Sample", + "description": "QueryContextLineageSubgraph retrieves Artifacts and Executions within the specified Context, connected\nby Event edges and returned as a LineageSubgraph.", + "file": "MetadataClient/QueryContextLineageSubgraph/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetIamPolicy", + "shortName": "QueryContextLineageSubgraph", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryContextLineageSubgraph", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.QueryContextLineageSubgraphRequest", "name": "req" }, { @@ -10264,17 +10264,17 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "aiplatformpb.LineageSubgraph", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetIamPolicy", + "shortName": "QueryContextLineageSubgraph", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10282,27 +10282,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "MigrationClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_QueryExecutionInputsAndOutputs_sync", + "title": "aiplatform QueryExecutionInputsAndOutputs Sample", + "description": "QueryExecutionInputsAndOutputs obtains the set of input and output Artifacts for this Execution, in the\nform of LineageSubgraph that also contains the Execution and connecting\nEvents.", + "file": "MetadataClient/QueryExecutionInputsAndOutputs/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetLocation", + "shortName": "QueryExecutionInputsAndOutputs", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.QueryExecutionInputsAndOutputs", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "aiplatformpb.QueryExecutionInputsAndOutputsRequest", "name": "req" }, { @@ -10310,17 +10310,17 @@ "name": "opts" } ], - "resultType": "locationpb.Location", + "resultType": "aiplatformpb.LineageSubgraph", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetLocation", + "shortName": "QueryExecutionInputsAndOutputs", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.QueryExecutionInputsAndOutputs", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10328,27 +10328,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "MigrationClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_RemoveContextChildren_sync", + "title": "aiplatform RemoveContextChildren Sample", + "description": "RemoveContextChildren remove a set of children contexts from a parent Context. If any of the\nchild Contexts were NOT added to the parent Context, they are\nsimply skipped.", + "file": "MetadataClient/RemoveContextChildren/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetOperation", + "shortName": "RemoveContextChildren", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.RemoveContextChildren", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.RemoveContextChildrenRequest", "name": "req" }, { @@ -10356,17 +10356,17 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "aiplatformpb.RemoveContextChildrenResponse", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetOperation", + "shortName": "RemoveContextChildren", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10374,27 +10374,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "MigrationClient/ListLocations/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.ListLocations", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -10402,17 +10402,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "iampb.Policy", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.ListLocations", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.SetIamPolicy", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10420,27 +10420,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "MigrationClient/ListOperations/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_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": "MetadataClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.ListOperations", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -10448,17 +10448,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "iampb.TestIamPermissionsResponse", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.ListOperations", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.TestIamPermissions", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10466,27 +10466,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_SearchMigratableResources_sync", - "title": "aiplatform SearchMigratableResources Sample", - "description": "SearchMigratableResources searches all of the resources in automl.googleapis.com (at http: //automl.googleapis.com),\ndatalabeling.googleapis.com (at http: //datalabeling.googleapis.com) and ml.googleapis.com (at http: //ml.googleapis.com) that can be migrated to\nVertex AI’s given location.", - "file": "MigrationClient/SearchMigratableResources/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateArtifact_sync", + "title": "aiplatform UpdateArtifact Sample", + "description": "UpdateArtifact updates a stored Artifact.", + "file": "MetadataClient/UpdateArtifact/main.go", "language": "GO", "clientMethod": { - "shortName": "SearchMigratableResources", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.SearchMigratableResources", + "shortName": "UpdateArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateArtifact", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.SearchMigratableResourcesRequest", + "type": "aiplatformpb.UpdateArtifactRequest", "name": "req" }, { @@ -10494,17 +10494,17 @@ "name": "opts" } ], - "resultType": "MigratableResourceIterator", + "resultType": "aiplatformpb.Artifact", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "SearchMigratableResources", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources", + "shortName": "UpdateArtifact", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateArtifact", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10512,27 +10512,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/SetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateContext_sync", + "title": "aiplatform UpdateContext Sample", + "description": "UpdateContext updates a stored Context.", + "file": "MetadataClient/UpdateContext/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.SetIamPolicy", + "shortName": "UpdateContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateContext", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.UpdateContextRequest", "name": "req" }, { @@ -10540,17 +10540,17 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "aiplatformpb.Context", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.SetIamPolicy", + "shortName": "UpdateContext", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateContext", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10558,27 +10558,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/TestIamPermissions/main.go", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_UpdateExecution_sync", + "title": "aiplatform UpdateExecution Sample", + "description": "UpdateExecution updates a stored Execution.", + "file": "MetadataClient/UpdateExecution/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.TestIamPermissions", + "shortName": "UpdateExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.UpdateExecution", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "aiplatformpb.UpdateExecutionRequest", "name": "req" }, { @@ -10586,17 +10586,17 @@ "name": "opts" } ], - "resultType": "iampb.TestIamPermissionsResponse", + "resultType": "aiplatformpb.Execution", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.TestIamPermissions", + "shortName": "UpdateExecution", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.UpdateExecution", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10604,20 +10604,20 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_MigrationService_WaitOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_MetadataService_WaitOperation_sync", "title": "aiplatform WaitOperation Sample", "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "MigrationClient/WaitOperation/main.go", + "file": "MetadataClient/WaitOperation/main.go", "language": "GO", "clientMethod": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient.WaitOperation", "parameters": [ { "type": "context.Context", @@ -10634,15 +10634,15 @@ ], "resultType": "longrunningpb.Operation", "client": { - "shortName": "MigrationClient", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + "shortName": "MetadataClient", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataClient" }, "method": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService.WaitOperation", "service": { - "shortName": "MigrationService", - "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + "shortName": "MetadataService", + "fullName": "google.cloud.aiplatform.v1beta1.MetadataService" } } }, @@ -10656,21 +10656,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_BatchImportModelEvaluationSlices_sync", - "title": "aiplatform BatchImportModelEvaluationSlices Sample", - "description": "BatchImportModelEvaluationSlices imports a list of externally generated ModelEvaluationSlice.", - "file": "ModelClient/BatchImportModelEvaluationSlices/main.go", + "regionTag": "aiplatform_v1beta1_generated_MigrationService_BatchMigrateResources_sync", + "title": "aiplatform BatchMigrateResources Sample", + "description": "BatchMigrateResources batch migrates resources from ml.googleapis.com (at http: //ml.googleapis.com), automl.googleapis.com (at http: //automl.googleapis.com),\nand datalabeling.googleapis.com (at http: //datalabeling.googleapis.com) to Vertex AI.", + "file": "MigrationClient/BatchMigrateResources/main.go", "language": "GO", "clientMethod": { - "shortName": "BatchImportModelEvaluationSlices", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.BatchImportModelEvaluationSlices", + "shortName": "BatchMigrateResources", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.BatchMigrateResources", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.BatchImportModelEvaluationSlicesRequest", + "type": "aiplatformpb.BatchMigrateResourcesRequest", "name": "req" }, { @@ -10678,17 +10678,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.BatchImportModelEvaluationSlicesResponse", + "resultType": "BatchMigrateResourcesOperation", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" }, "method": { - "shortName": "BatchImportModelEvaluationSlices", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices", + "shortName": "BatchMigrateResources", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.BatchMigrateResources", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" } } }, @@ -10696,20 +10696,20 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_CancelOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_MigrationService_CancelOperation_sync", "title": "aiplatform CancelOperation Sample", "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "ModelClient/CancelOperation/main.go", + "file": "MigrationClient/CancelOperation/main.go", "language": "GO", "clientMethod": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.CancelOperation", "parameters": [ { "type": "context.Context", @@ -10725,15 +10725,15 @@ } ], "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" }, "method": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.CancelOperation", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" } } }, @@ -10747,21 +10747,1030 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_CopyModel_sync", - "title": "aiplatform CopyModel Sample", + "regionTag": "aiplatform_v1beta1_generated_MigrationService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "MigrationClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.DeleteOperation", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 52, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "iampb.Policy", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetIamPolicy", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "MigrationClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "locationpb.Location", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetLocation", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "MigrationClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "longrunningpb.Operation", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.GetOperation", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "MigrationClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.ListLocations", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 61, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "MigrationClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.ListOperations", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 61, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_SearchMigratableResources_sync", + "title": "aiplatform SearchMigratableResources Sample", + "description": "SearchMigratableResources searches all of the resources in automl.googleapis.com (at http: //automl.googleapis.com),\ndatalabeling.googleapis.com (at http: //datalabeling.googleapis.com) and ml.googleapis.com (at http: //ml.googleapis.com) that can be migrated to\nVertex AI’s given location.", + "file": "MigrationClient/SearchMigratableResources/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SearchMigratableResources", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.SearchMigratableResources", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.SearchMigratableResourcesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "MigratableResourceIterator", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "SearchMigratableResources", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.SearchMigratableResources", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/SetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.SetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.SetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "iampb.Policy", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.SetIamPolicy", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_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": "MigrationClient/TestIamPermissions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.TestIamPermissions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.TestIamPermissionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "iampb.TestIamPermissionsResponse", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.TestIamPermissions", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_MigrationService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "MigrationClient/WaitOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient.WaitOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.WaitOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "longrunningpb.Operation", + "client": { + "shortName": "MigrationClient", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationClient" + }, + "method": { + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService.WaitOperation", + "service": { + "shortName": "MigrationService", + "fullName": "google.cloud.aiplatform.v1beta1.MigrationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_BatchImportEvaluatedAnnotations_sync", + "title": "aiplatform BatchImportEvaluatedAnnotations Sample", + "description": "BatchImportEvaluatedAnnotations imports a list of externally generated EvaluatedAnnotations.", + "file": "ModelClient/BatchImportEvaluatedAnnotations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "BatchImportEvaluatedAnnotations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.BatchImportEvaluatedAnnotations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.BatchImportEvaluatedAnnotationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.BatchImportEvaluatedAnnotationsResponse", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "BatchImportEvaluatedAnnotations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.BatchImportEvaluatedAnnotations", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_BatchImportModelEvaluationSlices_sync", + "title": "aiplatform BatchImportModelEvaluationSlices Sample", + "description": "BatchImportModelEvaluationSlices imports a list of externally generated ModelEvaluationSlice.", + "file": "ModelClient/BatchImportModelEvaluationSlices/main.go", + "language": "GO", + "clientMethod": { + "shortName": "BatchImportModelEvaluationSlices", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.BatchImportModelEvaluationSlices", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.BatchImportModelEvaluationSlicesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.BatchImportModelEvaluationSlicesResponse", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "BatchImportModelEvaluationSlices", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.BatchImportModelEvaluationSlices", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "ModelClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.CancelOperation", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 52, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_CopyModel_sync", + "title": "aiplatform CopyModel Sample", "description": "CopyModel copies an already existing Vertex AI Model into the specified Location.\nThe source Model must exist in the same Project.\nWhen copying custom Models, the users themselves are responsible for\nModel.metadata content to\nbe region-agnostic, as well as making sure that any resources (e.g. files)\nit depends on remain accessible.", "file": "ModelClient/CopyModel/main.go", "language": "GO", "clientMethod": { - "shortName": "CopyModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.CopyModel", + "shortName": "CopyModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.CopyModel", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.CopyModelRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CopyModelOperation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "CopyModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.CopyModel", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteModel_sync", + "title": "aiplatform DeleteModel Sample", + "description": "DeleteModel deletes a Model.\n\nA model cannot be deleted if any\nEndpoint resource has a\nDeployedModel based on the\nmodel in its\ndeployed_models\nfield.", + "file": "ModelClient/DeleteModel/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteModel", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteModelRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteModelOperation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "DeleteModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteModel", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteModelVersion_sync", + "title": "aiplatform DeleteModelVersion Sample", + "description": "DeleteModelVersion deletes a Model version.\n\nModel version can only be deleted if there are no\nDeployedModels created\nfrom it. Deleting the only version in the Model is not allowed. Use\nDeleteModel for\ndeleting the Model instead.", + "file": "ModelClient/DeleteModelVersion/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteModelVersion", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteModelVersion", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.DeleteModelVersionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteModelVersionOperation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "DeleteModelVersion", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteOperation_sync", + "title": "aiplatform DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "ModelClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteOperation", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 52, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_ExportModel_sync", + "title": "aiplatform ExportModel Sample", + "description": "ExportModel exports a trained, exportable Model to a location specified by the\nuser. A Model is considered to be exportable if it has at least one\n[supported export\nformat][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].", + "file": "ModelClient/ExportModel/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExportModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ExportModel", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ExportModelRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExportModelOperation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "ExportModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ExportModel", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "iampb.Policy", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetIamPolicy", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "ModelClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "locationpb.Location", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetLocation", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModel_sync", + "title": "aiplatform GetModel Sample", + "description": "GetModel gets a Model.", + "file": "ModelClient/GetModel/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModel", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetModelRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.Model", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "GetModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModel", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModelEvaluation_sync", + "title": "aiplatform GetModelEvaluation Sample", + "description": "GetModelEvaluation gets a ModelEvaluation.", + "file": "ModelClient/GetModelEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetModelEvaluation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModelEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.GetModelEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.ModelEvaluation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "GetModelEvaluation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModelEvaluationSlice_sync", + "title": "aiplatform GetModelEvaluationSlice Sample", + "description": "GetModelEvaluationSlice gets a ModelEvaluationSlice.", + "file": "ModelClient/GetModelEvaluationSlice/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetModelEvaluationSlice", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModelEvaluationSlice", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CopyModelRequest", + "type": "aiplatformpb.GetModelEvaluationSliceRequest", "name": "req" }, { @@ -10769,14 +11778,14 @@ "name": "opts" } ], - "resultType": "CopyModelOperation", + "resultType": "aiplatformpb.ModelEvaluationSlice", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "CopyModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.CopyModel", + "shortName": "GetModelEvaluationSlice", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -10787,27 +11796,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteModel_sync", - "title": "aiplatform DeleteModel Sample", - "description": "DeleteModel deletes a Model.\n\nA model cannot be deleted if any\nEndpoint resource has a\nDeployedModel based on the\nmodel in its\ndeployed_models\nfield.", - "file": "ModelClient/DeleteModel/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_GetOperation_sync", + "title": "aiplatform GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "ModelClient/GetOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteModel", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteModelRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -10815,14 +11824,14 @@ "name": "opts" } ], - "resultType": "DeleteModelOperation", + "resultType": "longrunningpb.Operation", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "DeleteModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteModel", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetOperation", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -10833,27 +11842,211 @@ "segments": [ { "start": 18, - "end": 56, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteModelVersion_sync", - "title": "aiplatform DeleteModelVersion Sample", - "description": "DeleteModelVersion deletes a Model version.\n\nModel version can only be deleted if there are no DeployedModels\ncreated from it. Deleting the only version in the Model is not allowed. Use\nDeleteModel for\ndeleting the Model instead.", - "file": "ModelClient/DeleteModelVersion/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_ImportModelEvaluation_sync", + "title": "aiplatform ImportModelEvaluation Sample", + "description": "ImportModelEvaluation imports an externally generated ModelEvaluation.", + "file": "ModelClient/ImportModelEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ImportModelEvaluation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ImportModelEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ImportModelEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "aiplatformpb.ModelEvaluation", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "ImportModelEvaluation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListLocations_sync", + "title": "aiplatform ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "ModelClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListLocations", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 61, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelEvaluationSlices_sync", + "title": "aiplatform ListModelEvaluationSlices Sample", + "description": "ListModelEvaluationSlices lists ModelEvaluationSlices in a ModelEvaluation.", + "file": "ModelClient/ListModelEvaluationSlices/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListModelEvaluationSlices", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelEvaluationSlices", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListModelEvaluationSlicesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ModelEvaluationSliceIterator", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "ListModelEvaluationSlices", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelEvaluations_sync", + "title": "aiplatform ListModelEvaluations Sample", + "description": "ListModelEvaluations lists ModelEvaluations in a Model.", + "file": "ModelClient/ListModelEvaluations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListModelEvaluations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelEvaluations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "aiplatformpb.ListModelEvaluationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ModelEvaluationIterator", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + }, + "method": { + "shortName": "ListModelEvaluations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelVersions_sync", + "title": "aiplatform ListModelVersions Sample", + "description": "ListModelVersions lists versions of the specified model.", + "file": "ModelClient/ListModelVersions/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteModelVersion", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteModelVersion", + "shortName": "ListModelVersions", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelVersions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteModelVersionRequest", + "type": "aiplatformpb.ListModelVersionsRequest", "name": "req" }, { @@ -10861,14 +12054,14 @@ "name": "opts" } ], - "resultType": "DeleteModelVersionOperation", + "resultType": "ModelIterator", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "DeleteModelVersion", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteModelVersion", + "shortName": "ListModelVersions", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -10879,27 +12072,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_DeleteOperation_sync", - "title": "aiplatform DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "ModelClient/DeleteOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModels_sync", + "title": "aiplatform ListModels Sample", + "description": "ListModels lists Models in a Location.", + "file": "ModelClient/ListModels/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.DeleteOperation", + "shortName": "ListModels", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModels", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "aiplatformpb.ListModelsRequest", "name": "req" }, { @@ -10907,13 +12100,14 @@ "name": "opts" } ], + "resultType": "ModelIterator", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.DeleteOperation", + "shortName": "ListModels", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModels", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -10924,27 +12118,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ExportModel_sync", - "title": "aiplatform ExportModel Sample", - "description": "ExportModel exports a trained, exportable Model to a location specified by the\nuser. A Model is considered to be exportable if it has at least one\n[supported export\nformat][google.cloud.aiplatform.v1beta1.Model.supported_export_formats].", - "file": "ModelClient/ExportModel/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "ModelClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "ExportModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ExportModel", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ExportModelRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -10952,14 +12146,14 @@ "name": "opts" } ], - "resultType": "ExportModelOperation", + "resultType": "OperationIterator", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "ExportModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ExportModel", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListOperations", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -10970,27 +12164,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 61, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/GetIamPolicy/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_MergeVersionAliases_sync", + "title": "aiplatform MergeVersionAliases Sample", + "description": "MergeVersionAliases merges a set of aliases for a Model version.", + "file": "ModelClient/MergeVersionAliases/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetIamPolicy", + "shortName": "MergeVersionAliases", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.MergeVersionAliases", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "aiplatformpb.MergeVersionAliasesRequest", "name": "req" }, { @@ -10998,14 +12192,14 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "aiplatformpb.Model", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetIamPolicy", + "shortName": "MergeVersionAliases", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11016,27 +12210,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_GetLocation_sync", - "title": "aiplatform GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "ModelClient/GetLocation/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetLocation", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -11044,14 +12238,14 @@ "name": "opts" } ], - "resultType": "locationpb.Location", + "resultType": "iampb.Policy", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetLocation", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.SetIamPolicy", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11068,21 +12262,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModel_sync", - "title": "aiplatform GetModel Sample", - "description": "GetModel gets a Model.", - "file": "ModelClient/GetModel/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "GetModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModel", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetModelRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -11090,14 +12284,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Model", + "resultType": "iampb.TestIamPermissionsResponse", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModel", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.TestIamPermissions", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11108,27 +12302,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModelEvaluation_sync", - "title": "aiplatform GetModelEvaluation Sample", - "description": "GetModelEvaluation gets a ModelEvaluation.", - "file": "ModelClient/GetModelEvaluation/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_UpdateExplanationDataset_sync", + "title": "aiplatform UpdateExplanationDataset Sample", + "description": "UpdateExplanationDataset incrementally update the dataset used for an examples model.", + "file": "ModelClient/UpdateExplanationDataset/main.go", "language": "GO", "clientMethod": { - "shortName": "GetModelEvaluation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModelEvaluation", + "shortName": "UpdateExplanationDataset", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UpdateExplanationDataset", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetModelEvaluationRequest", + "type": "aiplatformpb.UpdateExplanationDatasetRequest", "name": "req" }, { @@ -11136,14 +12330,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.ModelEvaluation", + "resultType": "UpdateExplanationDatasetOperation", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetModelEvaluation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluation", + "shortName": "UpdateExplanationDataset", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11154,27 +12348,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_GetModelEvaluationSlice_sync", - "title": "aiplatform GetModelEvaluationSlice Sample", - "description": "GetModelEvaluationSlice gets a ModelEvaluationSlice.", - "file": "ModelClient/GetModelEvaluationSlice/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_UpdateModel_sync", + "title": "aiplatform UpdateModel Sample", + "description": "UpdateModel updates a Model.", + "file": "ModelClient/UpdateModel/main.go", "language": "GO", "clientMethod": { - "shortName": "GetModelEvaluationSlice", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetModelEvaluationSlice", + "shortName": "UpdateModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UpdateModel", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetModelEvaluationSliceRequest", + "type": "aiplatformpb.UpdateModelRequest", "name": "req" }, { @@ -11182,14 +12376,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.ModelEvaluationSlice", + "resultType": "aiplatformpb.Model", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetModelEvaluationSlice", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetModelEvaluationSlice", + "shortName": "UpdateModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UpdateModel", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11206,21 +12400,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_GetOperation_sync", - "title": "aiplatform GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "ModelClient/GetOperation/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_UploadModel_sync", + "title": "aiplatform UploadModel Sample", + "description": "UploadModel uploads a Model artifact into Vertex AI.", + "file": "ModelClient/UploadModel/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.GetOperation", + "shortName": "UploadModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UploadModel", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "aiplatformpb.UploadModelRequest", "name": "req" }, { @@ -11228,14 +12422,14 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "UploadModelOperation", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.GetOperation", + "shortName": "UploadModel", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UploadModel", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11246,27 +12440,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ImportModelEvaluation_sync", - "title": "aiplatform ImportModelEvaluation Sample", - "description": "ImportModelEvaluation imports an externally generated ModelEvaluation.", - "file": "ModelClient/ImportModelEvaluation/main.go", + "regionTag": "aiplatform_v1beta1_generated_ModelService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "ModelClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "ImportModelEvaluation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ImportModelEvaluation", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ImportModelEvaluationRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -11274,14 +12468,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.ModelEvaluation", + "resultType": "longrunningpb.Operation", "client": { "shortName": "ModelClient", "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" }, "method": { - "shortName": "ImportModelEvaluation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ImportModelEvaluation", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ModelService.WaitOperation", "service": { "shortName": "ModelService", "fullName": "google.cloud.aiplatform.v1beta1.ModelService" @@ -11292,27 +12486,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListLocations_sync", - "title": "aiplatform ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "ModelClient/ListLocations/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": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListLocations", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -11320,17 +12514,16 @@ "name": "opts" } ], - "resultType": "LocationIterator", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListLocations", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelOperation", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11338,27 +12531,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelEvaluationSlices_sync", - "title": "aiplatform ListModelEvaluationSlices Sample", - "description": "ListModelEvaluationSlices lists ModelEvaluationSlices in a ModelEvaluation.", - "file": "ModelClient/ListModelEvaluationSlices/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\nPipelineService.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\nvalue with a google.rpc.Status.code of 1,\ncorresponding to Code.CANCELLED, and\nPipelineJob.state is\nset to CANCELLED.", + "file": "PipelineClient/CancelPipelineJob/main.go", "language": "GO", "clientMethod": { - "shortName": "ListModelEvaluationSlices", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelEvaluationSlices", + "shortName": "CancelPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelPipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListModelEvaluationSlicesRequest", + "type": "aiplatformpb.CancelPipelineJobRequest", "name": "req" }, { @@ -11366,17 +12559,16 @@ "name": "opts" } ], - "resultType": "ModelEvaluationSliceIterator", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListModelEvaluationSlices", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluationSlices", + "shortName": "CancelPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11384,27 +12576,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelEvaluations_sync", - "title": "aiplatform ListModelEvaluations Sample", - "description": "ListModelEvaluations lists ModelEvaluations in a Model.", - "file": "ModelClient/ListModelEvaluations/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\nPipelineService.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\nTrainingPipeline.error\nvalue with a google.rpc.Status.code of 1,\ncorresponding to Code.CANCELLED, and\nTrainingPipeline.state\nis set to CANCELLED.", + "file": "PipelineClient/CancelTrainingPipeline/main.go", "language": "GO", "clientMethod": { - "shortName": "ListModelEvaluations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelEvaluations", + "shortName": "CancelTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListModelEvaluationsRequest", + "type": "aiplatformpb.CancelTrainingPipelineRequest", "name": "req" }, { @@ -11412,17 +12604,16 @@ "name": "opts" } ], - "resultType": "ModelEvaluationIterator", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListModelEvaluations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelEvaluations", + "shortName": "CancelTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11430,27 +12621,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModelVersions_sync", - "title": "aiplatform ListModelVersions Sample", - "description": "ListModelVersions lists versions of the specified model.", - "file": "ModelClient/ListModelVersions/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": "ListModelVersions", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModelVersions", + "shortName": "CreatePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreatePipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListModelVersionsRequest", + "type": "aiplatformpb.CreatePipelineJobRequest", "name": "req" }, { @@ -11458,17 +12649,17 @@ "name": "opts" } ], - "resultType": "ModelIterator", + "resultType": "aiplatformpb.PipelineJob", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListModelVersions", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModelVersions", + "shortName": "CreatePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11476,27 +12667,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListModels_sync", - "title": "aiplatform ListModels Sample", - "description": "ListModels lists Models in a Location.", - "file": "ModelClient/ListModels/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": "ListModels", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListModels", + "shortName": "CreateTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreateTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListModelsRequest", + "type": "aiplatformpb.CreateTrainingPipelineRequest", "name": "req" }, { @@ -11504,17 +12695,17 @@ "name": "opts" } ], - "resultType": "ModelIterator", + "resultType": "aiplatformpb.TrainingPipeline", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListModels", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListModels", + "shortName": "CreateTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11522,27 +12713,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_ListOperations_sync", - "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "ModelClient/ListOperations/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": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.ListOperations", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -11550,17 +12741,16 @@ "name": "opts" } ], - "resultType": "OperationIterator", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.ListOperations", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteOperation", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11568,27 +12758,27 @@ "segments": [ { "start": 18, - "end": 61, + "end": 52, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_MergeVersionAliases_sync", - "title": "aiplatform MergeVersionAliases Sample", - "description": "MergeVersionAliases merges a set of aliases for a Model version.", - "file": "ModelClient/MergeVersionAliases/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": "MergeVersionAliases", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.MergeVersionAliases", + "shortName": "DeletePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeletePipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.MergeVersionAliasesRequest", + "type": "aiplatformpb.DeletePipelineJobRequest", "name": "req" }, { @@ -11596,17 +12786,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Model", + "resultType": "DeletePipelineJobOperation", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "MergeVersionAliases", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.MergeVersionAliases", + "shortName": "DeletePipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11614,27 +12804,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/SetIamPolicy/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": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.SetIamPolicy", + "shortName": "DeleteTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "aiplatformpb.DeleteTrainingPipelineRequest", "name": "req" }, { @@ -11642,17 +12832,17 @@ "name": "opts" } ], - "resultType": "iampb.Policy", + "resultType": "DeleteTrainingPipelineOperation", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.SetIamPolicy", + "shortName": "DeleteTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11660,27 +12850,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_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": "ModelClient/TestIamPermissions/main.go", + "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", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.TestIamPermissions", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -11688,17 +12878,17 @@ "name": "opts" } ], - "resultType": "iampb.TestIamPermissionsResponse", + "resultType": "iampb.Policy", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.TestIamPermissions", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetIamPolicy", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11712,21 +12902,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_UpdateExplanationDataset_sync", - "title": "aiplatform UpdateExplanationDataset Sample", - "description": "UpdateExplanationDataset incrementally update the dataset used for an examples model.", - "file": "ModelClient/UpdateExplanationDataset/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "PipelineClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateExplanationDataset", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UpdateExplanationDataset", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateExplanationDatasetRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -11734,17 +12924,17 @@ "name": "opts" } ], - "resultType": "UpdateExplanationDatasetOperation", + "resultType": "locationpb.Location", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "UpdateExplanationDataset", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UpdateExplanationDataset", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetLocation", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11752,27 +12942,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_UpdateModel_sync", - "title": "aiplatform UpdateModel Sample", - "description": "UpdateModel updates a Model.", - "file": "ModelClient/UpdateModel/main.go", + "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", "language": "GO", "clientMethod": { - "shortName": "UpdateModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UpdateModel", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UpdateModelRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -11780,17 +12970,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.Model", + "resultType": "longrunningpb.Operation", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "UpdateModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UpdateModel", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetOperation", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11798,27 +12988,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_UploadModel_sync", - "title": "aiplatform UploadModel Sample", - "description": "UploadModel uploads a Model artifact into Vertex AI.", - "file": "ModelClient/UploadModel/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": "UploadModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.UploadModel", + "shortName": "GetPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetPipelineJob", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.UploadModelRequest", + "type": "aiplatformpb.GetPipelineJobRequest", "name": "req" }, { @@ -11826,17 +13016,17 @@ "name": "opts" } ], - "resultType": "UploadModelOperation", + "resultType": "aiplatformpb.PipelineJob", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "UploadModel", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.UploadModel", + "shortName": "GetPipelineJob", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11844,27 +13034,27 @@ "segments": [ { "start": 18, - "end": 58, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_ModelService_WaitOperation_sync", - "title": "aiplatform WaitOperation Sample", - "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "ModelClient/WaitOperation/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": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient.WaitOperation", + "shortName": "GetTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetTrainingPipeline", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.WaitOperationRequest", + "type": "aiplatformpb.GetTrainingPipelineRequest", "name": "req" }, { @@ -11872,17 +13062,17 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "aiplatformpb.TrainingPipeline", "client": { - "shortName": "ModelClient", - "fullName": "google.cloud.aiplatform.v1beta1.ModelClient" + "shortName": "PipelineClient", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService.WaitOperation", + "shortName": "GetTrainingPipeline", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline", "service": { - "shortName": "ModelService", - "fullName": "google.cloud.aiplatform.v1beta1.ModelService" + "shortName": "PipelineService", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" } } }, @@ -11890,27 +13080,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "type": "FULL" } ] }, { - "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_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": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListLocations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.CancelOperationRequest", + "type": "locationpb.ListLocationsRequest", "name": "req" }, { @@ -11918,13 +13108,14 @@ "name": "opts" } ], + "resultType": "LocationIterator", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelOperation", + "shortName": "ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListLocations", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -11935,27 +13126,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 61, "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\nPipelineService.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\nvalue with a google.rpc.Status.code of 1,\ncorresponding to Code.CANCELLED, and\nPipelineJob.state is\nset to CANCELLED.", - "file": "PipelineClient/CancelPipelineJob/main.go", + "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListOperations_sync", + "title": "aiplatform ListOperations Sample", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "PipelineClient/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "CancelPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelPipelineJob", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CancelPipelineJobRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -11963,13 +13154,14 @@ "name": "opts" } ], + "resultType": "OperationIterator", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CancelPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelPipelineJob", + "shortName": "ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListOperations", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -11980,27 +13172,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 61, "type": "FULL" } ] }, { - "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\nPipelineService.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\nTrainingPipeline.error\nvalue with a google.rpc.Status.code of 1,\ncorresponding to Code.CANCELLED, and\nTrainingPipeline.state\nis set to CANCELLED.", - "file": "PipelineClient/CancelTrainingPipeline/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": "CancelTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CancelTrainingPipeline", + "shortName": "ListPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListPipelineJobs", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CancelTrainingPipelineRequest", + "type": "aiplatformpb.ListPipelineJobsRequest", "name": "req" }, { @@ -12008,13 +13200,14 @@ "name": "opts" } ], + "resultType": "PipelineJobIterator", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CancelTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CancelTrainingPipeline", + "shortName": "ListPipelineJobs", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -12025,27 +13218,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 60, "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_PipelineService_ListTrainingPipelines_sync", + "title": "aiplatform ListTrainingPipelines Sample", + "description": "ListTrainingPipelines lists TrainingPipelines in a Location.", + "file": "PipelineClient/ListTrainingPipelines/main.go", "language": "GO", "clientMethod": { - "shortName": "CreatePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreatePipelineJob", + "shortName": "ListTrainingPipelines", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListTrainingPipelines", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreatePipelineJobRequest", + "type": "aiplatformpb.ListTrainingPipelinesRequest", "name": "req" }, { @@ -12053,14 +13246,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.PipelineJob", + "resultType": "TrainingPipelineIterator", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CreatePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreatePipelineJob", + "shortName": "ListTrainingPipelines", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -12071,27 +13264,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "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_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": "CreateTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.CreateTrainingPipeline", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.CreateTrainingPipelineRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -12099,14 +13292,14 @@ "name": "opts" } ], - "resultType": "aiplatformpb.TrainingPipeline", + "resultType": "iampb.Policy", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "CreateTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.CreateTrainingPipeline", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.SetIamPolicy", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -12117,27 +13310,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "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_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", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteOperation", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -12145,13 +13338,14 @@ "name": "opts" } ], + "resultType": "iampb.TestIamPermissionsResponse", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteOperation", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.TestIamPermissions", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -12162,27 +13356,27 @@ "segments": [ { "start": 18, - "end": 52, + "end": 54, "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_PipelineService_WaitOperation_sync", + "title": "aiplatform WaitOperation Sample", + "description": "WaitOperation is a utility method from google.longrunning.Operations.", + "file": "PipelineClient/WaitOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeletePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeletePipelineJob", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.WaitOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeletePipelineJobRequest", + "type": "longrunningpb.WaitOperationRequest", "name": "req" }, { @@ -12190,14 +13384,14 @@ "name": "opts" } ], - "resultType": "DeletePipelineJobOperation", + "resultType": "longrunningpb.Operation", "client": { "shortName": "PipelineClient", "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" }, "method": { - "shortName": "DeletePipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeletePipelineJob", + "shortName": "WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.WaitOperation", "service": { "shortName": "PipelineService", "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" @@ -12208,27 +13402,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 54, "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_PredictionService_CancelOperation_sync", + "title": "aiplatform CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "PredictionClient/CancelOperation/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.DeleteTrainingPipeline", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CancelOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.DeleteTrainingPipelineRequest", + "type": "longrunningpb.CancelOperationRequest", "name": "req" }, { @@ -12236,17 +13430,16 @@ "name": "opts" } ], - "resultType": "DeleteTrainingPipelineOperation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "DeleteTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.DeleteTrainingPipeline", + "shortName": "CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.CancelOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12254,27 +13447,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 52, "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_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.PipelineClient.GetIamPolicy", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DeleteOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "longrunningpb.DeleteOperationRequest", "name": "req" }, { @@ -12282,17 +13475,16 @@ "name": "opts" } ], - "resultType": "iampb.Policy", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetIamPolicy", + "shortName": "DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DeleteOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12300,27 +13492,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 52, "type": "FULL" } ] }, { - "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_PredictionService_Explain_sync", + "title": "aiplatform Explain Sample", + "description": "Explain perform an online explanation.\n\nIf\ndeployed_model_id\nis specified, the corresponding DeployModel must have\nexplanation_spec\npopulated. If\ndeployed_model_id\nis not specified, all DeployedModels must have\nexplanation_spec\npopulated. Only deployed AutoML tabular Models have\nexplanation_spec.", + "file": "PredictionClient/Explain/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetLocation", + "shortName": "Explain", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Explain", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "aiplatformpb.ExplainRequest", "name": "req" }, { @@ -12328,17 +13520,17 @@ "name": "opts" } ], - "resultType": "locationpb.Location", + "resultType": "aiplatformpb.ExplainResponse", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetLocation", + "shortName": "Explain", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Explain", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12346,27 +13538,27 @@ "segments": [ { "start": 18, - "end": 54, + "end": 53, "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_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": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "iampb.GetIamPolicyRequest", "name": "req" }, { @@ -12374,17 +13566,17 @@ "name": "opts" } ], - "resultType": "longrunningpb.Operation", + "resultType": "iampb.Policy", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetOperation", + "shortName": "GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetIamPolicy", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12398,21 +13590,21 @@ ] }, { - "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_PredictionService_GetLocation_sync", + "title": "aiplatform GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "PredictionClient/GetLocation/main.go", "language": "GO", "clientMethod": { - "shortName": "GetPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetPipelineJob", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetLocation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetPipelineJobRequest", + "type": "locationpb.GetLocationRequest", "name": "req" }, { @@ -12420,17 +13612,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.PipelineJob", + "resultType": "locationpb.Location", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetPipelineJob", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetPipelineJob", + "shortName": "GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetLocation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12438,27 +13630,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "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_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": "GetTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.GetTrainingPipeline", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetOperation", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.GetTrainingPipelineRequest", + "type": "longrunningpb.GetOperationRequest", "name": "req" }, { @@ -12466,17 +13658,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.TrainingPipeline", + "resultType": "longrunningpb.Operation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "GetTrainingPipeline", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.GetTrainingPipeline", + "shortName": "GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12484,20 +13676,20 @@ "segments": [ { "start": 18, - "end": 53, + "end": 54, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListLocations_sync", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListLocations_sync", "title": "aiplatform ListLocations Sample", "description": "ListLocations lists information about the supported locations for this service.", - "file": "PipelineClient/ListLocations/main.go", + "file": "PredictionClient/ListLocations/main.go", "language": "GO", "clientMethod": { "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListLocations", "parameters": [ { "type": "context.Context", @@ -12514,15 +13706,15 @@ ], "resultType": "LocationIterator", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.ListLocations", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12536,14 +13728,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListOperations_sync", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/ListOperations/main.go", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "PredictionClient/ListOperations/main.go", "language": "GO", "clientMethod": { "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListOperations", "parameters": [ { "type": "context.Context", @@ -12560,15 +13752,15 @@ ], "resultType": "OperationIterator", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.ListOperations", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12582,21 +13774,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_ListPipelineJobs_sync", - "title": "aiplatform ListPipelineJobs Sample", - "description": "ListPipelineJobs lists PipelineJobs in a Location.", - "file": "PipelineClient/ListPipelineJobs/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": "ListPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListPipelineJobs", + "shortName": "Predict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Predict", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListPipelineJobsRequest", + "type": "aiplatformpb.PredictRequest", "name": "req" }, { @@ -12604,17 +13796,17 @@ "name": "opts" } ], - "resultType": "PipelineJobIterator", + "resultType": "aiplatformpb.PredictResponse", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "ListPipelineJobs", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListPipelineJobs", + "shortName": "Predict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Predict", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12622,27 +13814,27 @@ "segments": [ { "start": 18, - "end": 60, + "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_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\tX-Vertex-AI-Endpoint-Id: ID of the\n\tEndpoint that served this\n\tprediction.\n\n\tX-Vertex-AI-Deployed-Model-Id: ID of the Endpoint’s\n\tDeployedModel that served\n\tthis prediction.", + "file": "PredictionClient/RawPredict/main.go", "language": "GO", "clientMethod": { - "shortName": "ListTrainingPipelines", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.ListTrainingPipelines", + "shortName": "RawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.RawPredict", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ListTrainingPipelinesRequest", + "type": "aiplatformpb.RawPredictRequest", "name": "req" }, { @@ -12650,17 +13842,17 @@ "name": "opts" } ], - "resultType": "TrainingPipelineIterator", + "resultType": "httpbodypb.HttpBody", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { - "shortName": "ListTrainingPipelines", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.ListTrainingPipelines", + "shortName": "RawPredict", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.RawPredict", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12668,20 +13860,20 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_SetIamPolicy_sync", + "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": "PipelineClient/SetIamPolicy/main.go", + "file": "PredictionClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.SetIamPolicy", "parameters": [ { "type": "context.Context", @@ -12698,15 +13890,15 @@ ], "resultType": "iampb.Policy", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.SetIamPolicy", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12720,14 +13912,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_TestIamPermissions_sync", + "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": "PipelineClient/TestIamPermissions/main.go", + "file": "PredictionClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.TestIamPermissions", "parameters": [ { "type": "context.Context", @@ -12744,15 +13936,15 @@ ], "resultType": "iampb.TestIamPermissionsResponse", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.TestIamPermissions", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12766,14 +13958,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PipelineService_WaitOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_PredictionService_WaitOperation_sync", "title": "aiplatform WaitOperation Sample", "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "PipelineClient/WaitOperation/main.go", + "file": "PredictionClient/WaitOperation/main.go", "language": "GO", "clientMethod": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.WaitOperation", "parameters": [ { "type": "context.Context", @@ -12790,15 +13982,15 @@ ], "resultType": "longrunningpb.Operation", "client": { - "shortName": "PipelineClient", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineClient" + "shortName": "PredictionClient", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" }, "method": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.WaitOperation", "service": { - "shortName": "PipelineService", - "fullName": "google.cloud.aiplatform.v1beta1.PipelineService" + "shortName": "PredictionService", + "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" } } }, @@ -12812,14 +14004,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_CancelOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_CancelOperation_sync", "title": "aiplatform CancelOperation Sample", "description": "CancelOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/CancelOperation/main.go", + "file": "ScheduleClient/CancelOperation/main.go", "language": "GO", "clientMethod": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.CancelOperation", "parameters": [ { "type": "context.Context", @@ -12835,15 +14027,15 @@ } ], "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "CancelOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.CancelOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.CancelOperation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -12857,14 +14049,60 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_DeleteOperation_sync", + "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": "PredictionClient/DeleteOperation/main.go", + "file": "ScheduleClient/DeleteOperation/main.go", "language": "GO", "clientMethod": { "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteOperation", "parameters": [ { "type": "context.Context", @@ -12880,15 +14118,15 @@ } ], "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "DeleteOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.DeleteOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.DeleteOperation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -12902,21 +14140,21 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_Explain_sync", - "title": "aiplatform Explain Sample", - "description": "Explain perform an online explanation.\n\nIf\ndeployed_model_id\nis specified, the corresponding DeployModel must have\nexplanation_spec\npopulated. If\ndeployed_model_id\nis not specified, all DeployedModels must have\nexplanation_spec\npopulated. Only deployed AutoML tabular Models have\nexplanation_spec.", - "file": "PredictionClient/Explain/main.go", + "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": "Explain", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Explain", + "shortName": "DeleteSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.DeleteSchedule", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.ExplainRequest", + "type": "aiplatformpb.DeleteScheduleRequest", "name": "req" }, { @@ -12924,17 +14162,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.ExplainResponse", + "resultType": "DeleteScheduleOperation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { - "shortName": "Explain", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Explain", + "shortName": "DeleteSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.DeleteSchedule", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -12942,20 +14180,20 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetIamPolicy_sync", + "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": "PredictionClient/GetIamPolicy/main.go", + "file": "ScheduleClient/GetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetIamPolicy", "parameters": [ { "type": "context.Context", @@ -12972,15 +14210,15 @@ ], "resultType": "iampb.Policy", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "GetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.GetIamPolicy", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -12994,14 +14232,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetLocation_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_GetLocation_sync", "title": "aiplatform GetLocation Sample", "description": "GetLocation gets information about a location.", - "file": "PredictionClient/GetLocation/main.go", + "file": "ScheduleClient/GetLocation/main.go", "language": "GO", "clientMethod": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetLocation", "parameters": [ { "type": "context.Context", @@ -13018,15 +14256,15 @@ ], "resultType": "locationpb.Location", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "GetLocation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetLocation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.GetLocation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13040,14 +14278,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_GetOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_GetOperation_sync", "title": "aiplatform GetOperation Sample", "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/GetOperation/main.go", + "file": "ScheduleClient/GetOperation/main.go", "language": "GO", "clientMethod": { "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.GetOperation", "parameters": [ { "type": "context.Context", @@ -13064,15 +14302,15 @@ ], "resultType": "longrunningpb.Operation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "GetOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.GetOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.GetOperation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13086,14 +14324,60 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListLocations_sync", + "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": "PredictionClient/ListLocations/main.go", + "file": "ScheduleClient/ListLocations/main.go", "language": "GO", "clientMethod": { "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListLocations", "parameters": [ { "type": "context.Context", @@ -13110,15 +14394,15 @@ ], "resultType": "LocationIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "ListLocations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.ListLocations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ListLocations", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13132,14 +14416,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_ListOperations_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/ListOperations/main.go", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", + "file": "ScheduleClient/ListOperations/main.go", "language": "GO", "clientMethod": { "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListOperations", "parameters": [ { "type": "context.Context", @@ -13156,15 +14440,15 @@ ], "resultType": "OperationIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "ListOperations", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.ListOperations", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ListOperations", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13178,21 +14462,21 @@ ] }, { - "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_ScheduleService_ListSchedules_sync", + "title": "aiplatform ListSchedules Sample", + "description": "ListSchedules lists Schedules in a Location.", + "file": "ScheduleClient/ListSchedules/main.go", "language": "GO", "clientMethod": { - "shortName": "Predict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.Predict", + "shortName": "ListSchedules", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.ListSchedules", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.PredictRequest", + "type": "aiplatformpb.ListSchedulesRequest", "name": "req" }, { @@ -13200,17 +14484,17 @@ "name": "opts" } ], - "resultType": "aiplatformpb.PredictResponse", + "resultType": "ScheduleIterator", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { - "shortName": "Predict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.Predict", + "shortName": "ListSchedules", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.ListSchedules", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13218,27 +14502,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "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\tX-Vertex-AI-Endpoint-Id: ID of the\n\tEndpoint that served this\n\tprediction.\n\n\tX-Vertex-AI-Deployed-Model-Id: ID of the Endpoint’s\n\tDeployedModel that served\n\tthis prediction.", - "file": "PredictionClient/RawPredict/main.go", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_PauseSchedule_sync", + "title": "aiplatform PauseSchedule Sample", + "description": "PauseSchedule pauses a Schedule. Will mark\nSchedule.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": "RawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.RawPredict", + "shortName": "PauseSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.PauseSchedule", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "aiplatformpb.RawPredictRequest", + "type": "aiplatformpb.PauseScheduleRequest", "name": "req" }, { @@ -13246,17 +14530,16 @@ "name": "opts" } ], - "resultType": "httpbodypb.HttpBody", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { - "shortName": "RawPredict", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.RawPredict", + "shortName": "PauseSchedule", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.PauseSchedule", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13264,20 +14547,65 @@ "segments": [ { "start": 18, - "end": 53, + "end": 51, "type": "FULL" } ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_SetIamPolicy_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_ResumeSchedule_sync", + "title": "aiplatform ResumeSchedule Sample", + "description": "ResumeSchedule resumes a paused Schedule to start scheduling new runs. Will mark\nSchedule.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": "PredictionClient/SetIamPolicy/main.go", + "file": "ScheduleClient/SetIamPolicy/main.go", "language": "GO", "clientMethod": { "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.SetIamPolicy", "parameters": [ { "type": "context.Context", @@ -13294,15 +14622,15 @@ ], "resultType": "iampb.Policy", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "SetIamPolicy", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.SetIamPolicy", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.SetIamPolicy", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13316,14 +14644,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_TestIamPermissions_sync", + "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": "PredictionClient/TestIamPermissions/main.go", + "file": "ScheduleClient/TestIamPermissions/main.go", "language": "GO", "clientMethod": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.TestIamPermissions", "parameters": [ { "type": "context.Context", @@ -13340,15 +14668,15 @@ ], "resultType": "iampb.TestIamPermissionsResponse", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "TestIamPermissions", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.TestIamPermissions", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.TestIamPermissions", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13362,14 +14690,14 @@ ] }, { - "regionTag": "aiplatform_v1beta1_generated_PredictionService_WaitOperation_sync", + "regionTag": "aiplatform_v1beta1_generated_ScheduleService_WaitOperation_sync", "title": "aiplatform WaitOperation Sample", "description": "WaitOperation is a utility method from google.longrunning.Operations.", - "file": "PredictionClient/WaitOperation/main.go", + "file": "ScheduleClient/WaitOperation/main.go", "language": "GO", "clientMethod": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient.WaitOperation", "parameters": [ { "type": "context.Context", @@ -13386,15 +14714,15 @@ ], "resultType": "longrunningpb.Operation", "client": { - "shortName": "PredictionClient", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionClient" + "shortName": "ScheduleClient", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleClient" }, "method": { "shortName": "WaitOperation", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService.WaitOperation", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService.WaitOperation", "service": { - "shortName": "PredictionService", - "fullName": "google.cloud.aiplatform.v1beta1.PredictionService" + "shortName": "ScheduleService", + "fullName": "google.cloud.aiplatform.v1beta1.ScheduleService" } } }, @@ -13822,7 +15150,7 @@ { "regionTag": "aiplatform_v1beta1_generated_SpecialistPoolService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "SpecialistPoolClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -15108,7 +16436,7 @@ { "regionTag": "aiplatform_v1beta1_generated_TensorboardService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "TensorboardClient/ListOperations/main.go", "language": "GO", "clientMethod": { @@ -16575,7 +17903,7 @@ { "regionTag": "aiplatform_v1beta1_generated_VizierService_ListOperations_sync", "title": "aiplatform ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", + "description": "ListOperations lists operations that match the specified filter in the request. If\nthe server doesn’t support this method, it returns UNIMPLEMENTED.", "file": "VizierClient/ListOperations/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/CreateMerchantCenterAccountLink/main.go b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/CreateMerchantCenterAccountLink/main.go new file mode 100644 index 000000000000..39d55618119d --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/CreateMerchantCenterAccountLink/main.go @@ -0,0 +1,59 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_MerchantCenterAccountLinkService_CreateMerchantCenterAccountLink_sync] + +package main + +import ( + "context" + + retail "cloud.google.com/go/retail/apiv2alpha" + + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" +) + +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 := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.CreateMerchantCenterAccountLinkRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#CreateMerchantCenterAccountLinkRequest. + } + op, err := c.CreateMerchantCenterAccountLink(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END retail_v2alpha_generated_MerchantCenterAccountLinkService_CreateMerchantCenterAccountLink_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/DeleteMerchantCenterAccountLink/main.go b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/DeleteMerchantCenterAccountLink/main.go new file mode 100644 index 000000000000..5734866c8d0b --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/DeleteMerchantCenterAccountLink/main.go @@ -0,0 +1,52 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_MerchantCenterAccountLinkService_DeleteMerchantCenterAccountLink_sync] + +package main + +import ( + "context" + + retail "cloud.google.com/go/retail/apiv2alpha" + + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" +) + +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 := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.DeleteMerchantCenterAccountLinkRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#DeleteMerchantCenterAccountLinkRequest. + } + err = c.DeleteMerchantCenterAccountLink(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END retail_v2alpha_generated_MerchantCenterAccountLinkService_DeleteMerchantCenterAccountLink_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/GetOperation/main.go b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/GetOperation/main.go new file mode 100644 index 000000000000..89eb459b1e36 --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_MerchantCenterAccountLinkService_GetOperation_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2alpha" +) + +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 := retail.NewMerchantCenterAccountLinkClient(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 retail_v2alpha_generated_MerchantCenterAccountLinkService_GetOperation_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListMerchantCenterAccountLinks/main.go b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListMerchantCenterAccountLinks/main.go new file mode 100644 index 000000000000..d47f5d63c049 --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListMerchantCenterAccountLinks/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_MerchantCenterAccountLinkService_ListMerchantCenterAccountLinks_sync] + +package main + +import ( + "context" + + retail "cloud.google.com/go/retail/apiv2alpha" + + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" +) + +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 := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ListMerchantCenterAccountLinksRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#ListMerchantCenterAccountLinksRequest. + } + resp, err := c.ListMerchantCenterAccountLinks(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END retail_v2alpha_generated_MerchantCenterAccountLinkService_ListMerchantCenterAccountLinks_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListOperations/main.go b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListOperations/main.go new file mode 100644 index 000000000000..408f3f3f184e --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/MerchantCenterAccountLinkClient/ListOperations/main.go @@ -0,0 +1,60 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_MerchantCenterAccountLinkService_ListOperations_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2alpha" + "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 := retail.NewMerchantCenterAccountLinkClient(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 + } +} + +// [END retail_v2alpha_generated_MerchantCenterAccountLinkService_ListOperations_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/ModelClient/GetModel/main.go b/internal/generated/snippets/retail/apiv2alpha/ModelClient/GetModel/main.go new file mode 100644 index 000000000000..a1a9b0b23013 --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/ModelClient/GetModel/main.go @@ -0,0 +1,54 @@ +// 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 cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT. + +// [START retail_v2alpha_generated_ModelService_GetModel_sync] + +package main + +import ( + "context" + + retail "cloud.google.com/go/retail/apiv2alpha" + + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" +) + +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 := retail.NewModelClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.GetModelRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#GetModelRequest. + } + resp, err := c.GetModel(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END retail_v2alpha_generated_ModelService_GetModel_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json index f850800c3745..5f9610a05311 100644 --- a/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json +++ b/internal/generated/snippets/retail/apiv2alpha/snippet_metadata.google.cloud.retail.v2alpha.json @@ -1159,6 +1159,235 @@ } ] }, + { + "regionTag": "retail_v2alpha_generated_MerchantCenterAccountLinkService_CreateMerchantCenterAccountLink_sync", + "title": "retail CreateMerchantCenterAccountLink Sample", + "description": "CreateMerchantCenterAccountLink creates a MerchantCenterAccountLink.\n\nMerchantCenterAccountLink\ncannot be set to a different oneof field, if so an INVALID_ARGUMENT is\nreturned.", + "file": "MerchantCenterAccountLinkClient/CreateMerchantCenterAccountLink/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateMerchantCenterAccountLink", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient.CreateMerchantCenterAccountLink", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.CreateMerchantCenterAccountLinkRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateMerchantCenterAccountLinkOperation", + "client": { + "shortName": "MerchantCenterAccountLinkClient", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient" + }, + "method": { + "shortName": "CreateMerchantCenterAccountLink", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink", + "service": { + "shortName": "MerchantCenterAccountLinkService", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 59, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_MerchantCenterAccountLinkService_DeleteMerchantCenterAccountLink_sync", + "title": "retail DeleteMerchantCenterAccountLink Sample", + "description": "DeleteMerchantCenterAccountLink deletes a MerchantCenterAccountLink.\nIf the\nMerchantCenterAccountLink\nto delete does not exist, a NOT_FOUND error is returned.", + "file": "MerchantCenterAccountLinkClient/DeleteMerchantCenterAccountLink/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteMerchantCenterAccountLink", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient.DeleteMerchantCenterAccountLink", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.DeleteMerchantCenterAccountLinkRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "MerchantCenterAccountLinkClient", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient" + }, + "method": { + "shortName": "DeleteMerchantCenterAccountLink", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink", + "service": { + "shortName": "MerchantCenterAccountLinkService", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 52, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_MerchantCenterAccountLinkService_GetOperation_sync", + "title": "retail GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "MerchantCenterAccountLinkClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "longrunningpb.Operation", + "client": { + "shortName": "MerchantCenterAccountLinkClient", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.GetOperation", + "service": { + "shortName": "MerchantCenterAccountLinkService", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_MerchantCenterAccountLinkService_ListMerchantCenterAccountLinks_sync", + "title": "retail ListMerchantCenterAccountLinks Sample", + "description": "ListMerchantCenterAccountLinks lists all\nMerchantCenterAccountLinks\nunder the specified parent Catalog.", + "file": "MerchantCenterAccountLinkClient/ListMerchantCenterAccountLinks/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListMerchantCenterAccountLinks", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient.ListMerchantCenterAccountLinks", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.ListMerchantCenterAccountLinksRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "retailpb.ListMerchantCenterAccountLinksResponse", + "client": { + "shortName": "MerchantCenterAccountLinkClient", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient" + }, + "method": { + "shortName": "ListMerchantCenterAccountLinks", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks", + "service": { + "shortName": "MerchantCenterAccountLinkService", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_MerchantCenterAccountLinkService_ListOperations_sync", + "title": "retail ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "MerchantCenterAccountLinkClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "MerchantCenterAccountLinkClient", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListOperations", + "service": { + "shortName": "MerchantCenterAccountLinkService", + "fullName": "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, { "regionTag": "retail_v2alpha_generated_ModelService_CreateModel_sync", "title": "retail CreateModel Sample", @@ -1250,6 +1479,52 @@ } ] }, + { + "regionTag": "retail_v2alpha_generated_ModelService_GetModel_sync", + "title": "retail GetModel Sample", + "description": "GetModel gets a model.", + "file": "ModelClient/GetModel/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetModel", + "fullName": "google.cloud.retail.v2alpha.ModelClient.GetModel", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.GetModelRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "retailpb.Model", + "client": { + "shortName": "ModelClient", + "fullName": "google.cloud.retail.v2alpha.ModelClient" + }, + "method": { + "shortName": "GetModel", + "fullName": "google.cloud.retail.v2alpha.ModelService.GetModel", + "service": { + "shortName": "ModelService", + "fullName": "google.cloud.retail.v2alpha.ModelService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 54, + "type": "FULL" + } + ] + }, { "regionTag": "retail_v2alpha_generated_ModelService_GetOperation_sync", "title": "retail GetOperation Sample", @@ -1713,7 +1988,7 @@ { "regionTag": "retail_v2alpha_generated_ProductService_AddFulfillmentPlaces_sync", "title": "retail AddFulfillmentPlaces Sample", - "description": "AddFulfillmentPlaces incrementally adds place IDs to\nProduct.fulfillment_info.place_ids.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, the added place IDs are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.\n\nThis feature is only available for users who have Retail Search enabled.\nEnable Retail Search on Cloud Console before using this feature.", + "description": "AddFulfillmentPlaces it is recommended to use the\nProductService.AddLocalInventories\nmethod instead of\nProductService.AddFulfillmentPlaces.\nProductService.AddLocalInventories\nachieves the same results but provides more fine-grained control over\ningesting local inventory data.\n\nIncrementally adds place IDs to\nProduct.fulfillment_info.place_ids.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, the added place IDs are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.", "file": "ProductClient/AddFulfillmentPlaces/main.go", "language": "GO", "clientMethod": { @@ -1759,7 +2034,7 @@ { "regionTag": "retail_v2alpha_generated_ProductService_AddLocalInventories_sync", "title": "retail AddLocalInventories Sample", - "description": "AddLocalInventories updates local inventory information for a\nProduct at a list of places, while\nrespecting the last update timestamps of each inventory field.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\ninventory information. If the request is valid, the update will be enqueued\nand processed downstream. As a consequence, when a response is returned,\nupdates are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nLocal inventory information can only be modified using this method.\nProductService.CreateProduct\nand\nProductService.UpdateProduct\nhas no effect on local inventories.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.\n\nThis feature is only available for users who have Retail Search enabled.\nEnable Retail Search on Cloud Console before using this feature.", + "description": "AddLocalInventories updates local inventory information for a\nProduct at a list of places, while\nrespecting the last update timestamps of each inventory field.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\ninventory information. If the request is valid, the update will be enqueued\nand processed downstream. As a consequence, when a response is returned,\nupdates are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nLocal inventory information can only be modified using this method.\nProductService.CreateProduct\nand\nProductService.UpdateProduct\nhas no effect on local inventories.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.", "file": "ProductClient/AddLocalInventories/main.go", "language": "GO", "clientMethod": { @@ -2172,7 +2447,7 @@ { "regionTag": "retail_v2alpha_generated_ProductService_RemoveFulfillmentPlaces_sync", "title": "retail RemoveFulfillmentPlaces Sample", - "description": "RemoveFulfillmentPlaces incrementally removes place IDs from a\nProduct.fulfillment_info.place_ids.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, the removed place IDs are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.\n\nThis feature is only available for users who have Retail Search enabled.\nEnable Retail Search on Cloud Console before using this feature.", + "description": "RemoveFulfillmentPlaces it is recommended to use the\nProductService.RemoveLocalInventories\nmethod instead of\nProductService.RemoveFulfillmentPlaces.\nProductService.RemoveLocalInventories\nachieves the same results but provides more fine-grained control over\ningesting local inventory data.\n\nIncrementally removes place IDs from a\nProduct.fulfillment_info.place_ids.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, the removed place IDs are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.", "file": "ProductClient/RemoveFulfillmentPlaces/main.go", "language": "GO", "clientMethod": { @@ -2218,7 +2493,7 @@ { "regionTag": "retail_v2alpha_generated_ProductService_RemoveLocalInventories_sync", "title": "retail RemoveLocalInventories Sample", - "description": "RemoveLocalInventories remove local inventory information for a\nProduct at a list of places at a\nremoval timestamp.\n\nThis process is asynchronous. If the request is valid, the removal will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, removals are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nLocal inventory information can only be removed using this method.\nProductService.CreateProduct\nand\nProductService.UpdateProduct\nhas no effect on local inventories.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.\n\nThis feature is only available for users who have Retail Search enabled.\nEnable Retail Search on Cloud Console before using this feature.", + "description": "RemoveLocalInventories remove local inventory information for a\nProduct at a list of places at a\nremoval timestamp.\n\nThis process is asynchronous. If the request is valid, the removal will be\nenqueued and processed downstream. As a consequence, when a response is\nreturned, removals are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nLocal inventory information can only be removed using this method.\nProductService.CreateProduct\nand\nProductService.UpdateProduct\nhas no effect on local inventories.\n\nThe returned Operations will be obsolete\nafter 1 day, and GetOperation\nAPI will return NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates will not be marked as done\nuntil being obsolete.", "file": "ProductClient/RemoveLocalInventories/main.go", "language": "GO", "clientMethod": { @@ -2264,7 +2539,7 @@ { "regionTag": "retail_v2alpha_generated_ProductService_SetInventory_sync", "title": "retail SetInventory Sample", - "description": "SetInventory updates inventory information for a\nProduct while respecting the last\nupdate timestamps of each inventory field.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update is enqueued\nand processed downstream. As a consequence, when a response is returned,\nupdates are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nWhen inventory is updated with\nProductService.CreateProduct\nand\nProductService.UpdateProduct,\nthe specified inventory field value(s) overwrite any existing value(s)\nwhile ignoring the last update time for this field. Furthermore, the last\nupdate times for the specified inventory fields are overwritten by the\ntimes of the\nProductService.CreateProduct\nor\nProductService.UpdateProduct\nrequest.\n\nIf no inventory fields are set in\nCreateProductRequest.product,\nthen any pre-existing inventory information for this product is used.\n\nIf no inventory fields are set in\nSetInventoryRequest.set_mask,\nthen any existing inventory information is preserved.\n\nPre-existing inventory information can only be updated with\nProductService.SetInventory,\nProductService.AddFulfillmentPlaces,\nand\nProductService.RemoveFulfillmentPlaces.\n\nThe returned Operations is obsolete after\none day, and the GetOperation\nAPI returns NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates are not marked as done until\nthey are obsolete.\n\nThis feature is only available for users who have Retail Search enabled.\nEnable Retail Search on Cloud Console before using this feature.", + "description": "SetInventory updates inventory information for a\nProduct while respecting the last\nupdate timestamps of each inventory field.\n\nThis process is asynchronous and does not require the\nProduct to exist before updating\nfulfillment information. If the request is valid, the update is enqueued\nand processed downstream. As a consequence, when a response is returned,\nupdates are not immediately manifested in the\nProduct queried by\nProductService.GetProduct\nor\nProductService.ListProducts.\n\nWhen inventory is updated with\nProductService.CreateProduct\nand\nProductService.UpdateProduct,\nthe specified inventory field value(s) overwrite any existing value(s)\nwhile ignoring the last update time for this field. Furthermore, the last\nupdate times for the specified inventory fields are overwritten by the\ntimes of the\nProductService.CreateProduct\nor\nProductService.UpdateProduct\nrequest.\n\nIf no inventory fields are set in\nCreateProductRequest.product,\nthen any pre-existing inventory information for this product is used.\n\nIf no inventory fields are set in\nSetInventoryRequest.set_mask,\nthen any existing inventory information is preserved.\n\nPre-existing inventory information can only be updated with\nProductService.SetInventory,\nProductService.AddFulfillmentPlaces,\nand\nProductService.RemoveFulfillmentPlaces.\n\nThe returned Operations is obsolete after\none day, and the GetOperation\nAPI returns NOT_FOUND afterwards.\n\nIf conflicting updates are issued, the\nOperations associated with the stale\nupdates are not marked as done until\nthey are obsolete.", "file": "ProductClient/SetInventory/main.go", "language": "GO", "clientMethod": { diff --git a/orgpolicy/apiv1/version.go b/orgpolicy/apiv1/version.go new file mode 100644 index 000000000000..3077fd95cb73 --- /dev/null +++ b/orgpolicy/apiv1/version.go @@ -0,0 +1,23 @@ +// 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 gapicgen. DO NOT EDIT. + +package orgpolicy + +import "cloud.google.com/go/orgpolicy/internal" + +func init() { + versionClient = internal.Version +} diff --git a/retail/apiv2alpha/completion_client.go b/retail/apiv2alpha/completion_client.go index 057f93b8e6c9..8cf36f761f58 100755 --- a/retail/apiv2alpha/completion_client.go +++ b/retail/apiv2alpha/completion_client.go @@ -162,7 +162,7 @@ type internalCompletionClient interface { // CompletionClient is a client for interacting with Retail API. // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. // -// Auto-completion service for retail. +// Autocomplete service for retail. // // This feature is only available for users who have Retail Search enabled. // Enable Retail Search on Cloud Console before using this feature. @@ -269,7 +269,7 @@ type completionGRPCClient struct { // NewCompletionClient creates a new completion service client based on gRPC. // The returned client must be Closed when it is done being used to clean up its underlying connections. // -// Auto-completion service for retail. +// Autocomplete service for retail. // // This feature is only available for users who have Retail Search enabled. // Enable Retail Search on Cloud Console before using this feature. @@ -364,7 +364,7 @@ type completionRESTClient struct { // NewCompletionRESTClient creates a new completion service rest client. // -// Auto-completion service for retail. +// Autocomplete service for retail. // // This feature is only available for users who have Retail Search enabled. // Enable Retail Search on Cloud Console before using this feature. @@ -558,6 +558,9 @@ func (c *completionRESTClient) CompleteQuery(ctx context.Context, req *retailpb. if req.GetEnableAttributeSuggestions() { params.Add("enableAttributeSuggestions", fmt.Sprintf("%v", req.GetEnableAttributeSuggestions())) } + if req.GetEntity() != "" { + params.Add("entity", fmt.Sprintf("%v", req.GetEntity())) + } if items := req.GetLanguageCodes(); len(items) > 0 { for _, item := range items { params.Add("languageCodes", fmt.Sprintf("%v", item)) diff --git a/retail/apiv2alpha/gapic_metadata.json b/retail/apiv2alpha/gapic_metadata.json index 03e033d902f0..c7946fbd6c62 100644 --- a/retail/apiv2alpha/gapic_metadata.json +++ b/retail/apiv2alpha/gapic_metadata.json @@ -297,6 +297,70 @@ } } }, + "MerchantCenterAccountLinkService": { + "clients": { + "grpc": { + "libraryClient": "MerchantCenterAccountLinkClient", + "rpcs": { + "CreateMerchantCenterAccountLink": { + "methods": [ + "CreateMerchantCenterAccountLink" + ] + }, + "DeleteMerchantCenterAccountLink": { + "methods": [ + "DeleteMerchantCenterAccountLink" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListMerchantCenterAccountLinks": { + "methods": [ + "ListMerchantCenterAccountLinks" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + }, + "rest": { + "libraryClient": "MerchantCenterAccountLinkClient", + "rpcs": { + "CreateMerchantCenterAccountLink": { + "methods": [ + "CreateMerchantCenterAccountLink" + ] + }, + "DeleteMerchantCenterAccountLink": { + "methods": [ + "DeleteMerchantCenterAccountLink" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListMerchantCenterAccountLinks": { + "methods": [ + "ListMerchantCenterAccountLinks" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + } + } + }, "ModelService": { "clients": { "grpc": { @@ -312,6 +376,11 @@ "DeleteModel" ] }, + "GetModel": { + "methods": [ + "GetModel" + ] + }, "GetOperation": { "methods": [ "GetOperation" @@ -362,6 +431,11 @@ "DeleteModel" ] }, + "GetModel": { + "methods": [ + "GetModel" + ] + }, "GetOperation": { "methods": [ "GetOperation" diff --git a/retail/apiv2alpha/merchant_center_account_link_client.go b/retail/apiv2alpha/merchant_center_account_link_client.go new file mode 100755 index 000000000000..d2b03988d4bf --- /dev/null +++ b/retail/apiv2alpha/merchant_center_account_link_client.go @@ -0,0 +1,904 @@ +// 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 +// +// 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 retail + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + "time" + + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" + 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/grpc/codes" + "google.golang.org/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newMerchantCenterAccountLinkClientHook clientHook + +// MerchantCenterAccountLinkCallOptions contains the retry settings for each method of MerchantCenterAccountLinkClient. +type MerchantCenterAccountLinkCallOptions struct { + ListMerchantCenterAccountLinks []gax.CallOption + CreateMerchantCenterAccountLink []gax.CallOption + DeleteMerchantCenterAccountLink []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultMerchantCenterAccountLinkGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("retail.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("retail.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://retail.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultMerchantCenterAccountLinkCallOptions() *MerchantCenterAccountLinkCallOptions { + return &MerchantCenterAccountLinkCallOptions{ + ListMerchantCenterAccountLinks: []gax.CallOption{}, + CreateMerchantCenterAccountLink: []gax.CallOption{}, + DeleteMerchantCenterAccountLink: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.DeadlineExceeded, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 300000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + } +} + +func defaultMerchantCenterAccountLinkRESTCallOptions() *MerchantCenterAccountLinkCallOptions { + return &MerchantCenterAccountLinkCallOptions{ + ListMerchantCenterAccountLinks: []gax.CallOption{}, + CreateMerchantCenterAccountLink: []gax.CallOption{}, + DeleteMerchantCenterAccountLink: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 300000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusGatewayTimeout) + }), + }, + } +} + +// internalMerchantCenterAccountLinkClient is an interface that defines the methods available from Retail API. +type internalMerchantCenterAccountLinkClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ListMerchantCenterAccountLinks(context.Context, *retailpb.ListMerchantCenterAccountLinksRequest, ...gax.CallOption) (*retailpb.ListMerchantCenterAccountLinksResponse, error) + CreateMerchantCenterAccountLink(context.Context, *retailpb.CreateMerchantCenterAccountLinkRequest, ...gax.CallOption) (*CreateMerchantCenterAccountLinkOperation, error) + CreateMerchantCenterAccountLinkOperation(name string) *CreateMerchantCenterAccountLinkOperation + DeleteMerchantCenterAccountLink(context.Context, *retailpb.DeleteMerchantCenterAccountLinkRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// MerchantCenterAccountLinkClient is a client for interacting with Retail API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// Merchant Center Link service to link a Branch to a Merchant Center Account. +type MerchantCenterAccountLinkClient struct { + // The internal transport-dependent client. + internalClient internalMerchantCenterAccountLinkClient + + // The call options for this service. + CallOptions *MerchantCenterAccountLinkCallOptions + + // 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 *MerchantCenterAccountLinkClient) 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 *MerchantCenterAccountLinkClient) 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 *MerchantCenterAccountLinkClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ListMerchantCenterAccountLinks lists all +// MerchantCenterAccountLinks +// under the specified parent Catalog. +func (c *MerchantCenterAccountLinkClient) ListMerchantCenterAccountLinks(ctx context.Context, req *retailpb.ListMerchantCenterAccountLinksRequest, opts ...gax.CallOption) (*retailpb.ListMerchantCenterAccountLinksResponse, error) { + return c.internalClient.ListMerchantCenterAccountLinks(ctx, req, opts...) +} + +// CreateMerchantCenterAccountLink creates a MerchantCenterAccountLink. +// +// MerchantCenterAccountLink +// cannot be set to a different oneof field, if so an INVALID_ARGUMENT is +// returned. +func (c *MerchantCenterAccountLinkClient) CreateMerchantCenterAccountLink(ctx context.Context, req *retailpb.CreateMerchantCenterAccountLinkRequest, opts ...gax.CallOption) (*CreateMerchantCenterAccountLinkOperation, error) { + return c.internalClient.CreateMerchantCenterAccountLink(ctx, req, opts...) +} + +// CreateMerchantCenterAccountLinkOperation returns a new CreateMerchantCenterAccountLinkOperation from a given name. +// The name must be that of a previously created CreateMerchantCenterAccountLinkOperation, possibly from a different process. +func (c *MerchantCenterAccountLinkClient) CreateMerchantCenterAccountLinkOperation(name string) *CreateMerchantCenterAccountLinkOperation { + return c.internalClient.CreateMerchantCenterAccountLinkOperation(name) +} + +// DeleteMerchantCenterAccountLink deletes a MerchantCenterAccountLink. +// If the +// MerchantCenterAccountLink +// to delete does not exist, a NOT_FOUND error is returned. +func (c *MerchantCenterAccountLinkClient) DeleteMerchantCenterAccountLink(ctx context.Context, req *retailpb.DeleteMerchantCenterAccountLinkRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteMerchantCenterAccountLink(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *MerchantCenterAccountLinkClient) 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 *MerchantCenterAccountLinkClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// merchantCenterAccountLinkGRPCClient is a client for interacting with Retail API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type merchantCenterAccountLinkGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing MerchantCenterAccountLinkClient + CallOptions **MerchantCenterAccountLinkCallOptions + + // The gRPC API client. + merchantCenterAccountLinkClient retailpb.MerchantCenterAccountLinkServiceClient + + // 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 + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewMerchantCenterAccountLinkClient creates a new merchant center account link service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Merchant Center Link service to link a Branch to a Merchant Center Account. +func NewMerchantCenterAccountLinkClient(ctx context.Context, opts ...option.ClientOption) (*MerchantCenterAccountLinkClient, error) { + clientOpts := defaultMerchantCenterAccountLinkGRPCClientOptions() + if newMerchantCenterAccountLinkClientHook != nil { + hookOpts, err := newMerchantCenterAccountLinkClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := MerchantCenterAccountLinkClient{CallOptions: defaultMerchantCenterAccountLinkCallOptions()} + + c := &merchantCenterAccountLinkGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + merchantCenterAccountLinkClient: retailpb.NewMerchantCenterAccountLinkServiceClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(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 *merchantCenterAccountLinkGRPCClient) 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 *merchantCenterAccountLinkGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *merchantCenterAccountLinkGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type merchantCenterAccountLinkRESTClient 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-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing MerchantCenterAccountLinkClient + CallOptions **MerchantCenterAccountLinkCallOptions +} + +// NewMerchantCenterAccountLinkRESTClient creates a new merchant center account link service rest client. +// +// Merchant Center Link service to link a Branch to a Merchant Center Account. +func NewMerchantCenterAccountLinkRESTClient(ctx context.Context, opts ...option.ClientOption) (*MerchantCenterAccountLinkClient, error) { + clientOpts := append(defaultMerchantCenterAccountLinkRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultMerchantCenterAccountLinkRESTCallOptions() + c := &merchantCenterAccountLinkRESTClient{ + 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 &MerchantCenterAccountLinkClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultMerchantCenterAccountLinkRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://retail.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://retail.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://retail.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 *merchantCenterAccountLinkRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *merchantCenterAccountLinkRESTClient) 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 *merchantCenterAccountLinkRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *merchantCenterAccountLinkGRPCClient) ListMerchantCenterAccountLinks(ctx context.Context, req *retailpb.ListMerchantCenterAccountLinksRequest, opts ...gax.CallOption) (*retailpb.ListMerchantCenterAccountLinksResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListMerchantCenterAccountLinks[0:len((*c.CallOptions).ListMerchantCenterAccountLinks):len((*c.CallOptions).ListMerchantCenterAccountLinks)], opts...) + var resp *retailpb.ListMerchantCenterAccountLinksResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.merchantCenterAccountLinkClient.ListMerchantCenterAccountLinks(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *merchantCenterAccountLinkGRPCClient) CreateMerchantCenterAccountLink(ctx context.Context, req *retailpb.CreateMerchantCenterAccountLinkRequest, opts ...gax.CallOption) (*CreateMerchantCenterAccountLinkOperation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "merchant_center_account_link.name", url.QueryEscape(req.GetMerchantCenterAccountLink().GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).CreateMerchantCenterAccountLink[0:len((*c.CallOptions).CreateMerchantCenterAccountLink):len((*c.CallOptions).CreateMerchantCenterAccountLink)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.merchantCenterAccountLinkClient.CreateMerchantCenterAccountLink(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateMerchantCenterAccountLinkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *merchantCenterAccountLinkGRPCClient) DeleteMerchantCenterAccountLink(ctx context.Context, req *retailpb.DeleteMerchantCenterAccountLinkRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).DeleteMerchantCenterAccountLink[0:len((*c.CallOptions).DeleteMerchantCenterAccountLink):len((*c.CallOptions).DeleteMerchantCenterAccountLink)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.merchantCenterAccountLinkClient.DeleteMerchantCenterAccountLink(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *merchantCenterAccountLinkGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *merchantCenterAccountLinkGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// ListMerchantCenterAccountLinks lists all +// MerchantCenterAccountLinks +// under the specified parent Catalog. +func (c *merchantCenterAccountLinkRESTClient) ListMerchantCenterAccountLinks(ctx context.Context, req *retailpb.ListMerchantCenterAccountLinksRequest, opts ...gax.CallOption) (*retailpb.ListMerchantCenterAccountLinksResponse, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v2alpha/%v/merchantCenterAccountLinks", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).ListMerchantCenterAccountLinks[0:len((*c.CallOptions).ListMerchantCenterAccountLinks):len((*c.CallOptions).ListMerchantCenterAccountLinks)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &retailpb.ListMerchantCenterAccountLinksResponse{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateMerchantCenterAccountLink creates a MerchantCenterAccountLink. +// +// MerchantCenterAccountLink +// cannot be set to a different oneof field, if so an INVALID_ARGUMENT is +// returned. +func (c *merchantCenterAccountLinkRESTClient) CreateMerchantCenterAccountLink(ctx context.Context, req *retailpb.CreateMerchantCenterAccountLinkRequest, opts ...gax.CallOption) (*CreateMerchantCenterAccountLinkOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetMerchantCenterAccountLink() + 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("/v2alpha/%v", req.GetMerchantCenterAccountLink().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("parent", fmt.Sprintf("%v", req.GetParent())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "merchant_center_account_link.name", url.QueryEscape(req.GetMerchantCenterAccountLink().GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v2alpha/%s", resp.GetName()) + return &CreateMerchantCenterAccountLinkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteMerchantCenterAccountLink deletes a MerchantCenterAccountLink. +// If the +// MerchantCenterAccountLink +// to delete does not exist, a NOT_FOUND error is returned. +func (c *merchantCenterAccountLinkRESTClient) DeleteMerchantCenterAccountLink(ctx context.Context, req *retailpb.DeleteMerchantCenterAccountLinkRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v2alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *merchantCenterAccountLinkRESTClient) 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("/v2alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *merchantCenterAccountLinkRESTClient) 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("/v2alpha/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// CreateMerchantCenterAccountLinkOperation manages a long-running operation from CreateMerchantCenterAccountLink. +type CreateMerchantCenterAccountLinkOperation struct { + lro *longrunning.Operation + pollPath string +} + +// CreateMerchantCenterAccountLinkOperation returns a new CreateMerchantCenterAccountLinkOperation from a given name. +// The name must be that of a previously created CreateMerchantCenterAccountLinkOperation, possibly from a different process. +func (c *merchantCenterAccountLinkGRPCClient) CreateMerchantCenterAccountLinkOperation(name string) *CreateMerchantCenterAccountLinkOperation { + return &CreateMerchantCenterAccountLinkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateMerchantCenterAccountLinkOperation returns a new CreateMerchantCenterAccountLinkOperation from a given name. +// The name must be that of a previously created CreateMerchantCenterAccountLinkOperation, possibly from a different process. +func (c *merchantCenterAccountLinkRESTClient) CreateMerchantCenterAccountLinkOperation(name string) *CreateMerchantCenterAccountLinkOperation { + override := fmt.Sprintf("/v2alpha/%s", name) + return &CreateMerchantCenterAccountLinkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *CreateMerchantCenterAccountLinkOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*retailpb.MerchantCenterAccountLink, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.MerchantCenterAccountLink + 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 *CreateMerchantCenterAccountLinkOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*retailpb.MerchantCenterAccountLink, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.MerchantCenterAccountLink + 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 *CreateMerchantCenterAccountLinkOperation) Metadata() (*retailpb.CreateMerchantCenterAccountLinkMetadata, error) { + var meta retailpb.CreateMerchantCenterAccountLinkMetadata + 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 *CreateMerchantCenterAccountLinkOperation) 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 *CreateMerchantCenterAccountLinkOperation) Name() string { + return op.lro.Name() +} diff --git a/retail/apiv2alpha/merchant_center_account_link_client_example_test.go b/retail/apiv2alpha/merchant_center_account_link_client_example_test.go new file mode 100644 index 000000000000..4c20618baacc --- /dev/null +++ b/retail/apiv2alpha/merchant_center_account_link_client_example_test.go @@ -0,0 +1,194 @@ +// 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 +// +// 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 retail_test + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2alpha" + retailpb "cloud.google.com/go/retail/apiv2alpha/retailpb" + "google.golang.org/api/iterator" +) + +func ExampleNewMerchantCenterAccountLinkClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewMerchantCenterAccountLinkRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewMerchantCenterAccountLinkRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleMerchantCenterAccountLinkClient_ListMerchantCenterAccountLinks() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ListMerchantCenterAccountLinksRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#ListMerchantCenterAccountLinksRequest. + } + resp, err := c.ListMerchantCenterAccountLinks(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleMerchantCenterAccountLinkClient_CreateMerchantCenterAccountLink() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.CreateMerchantCenterAccountLinkRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#CreateMerchantCenterAccountLinkRequest. + } + op, err := c.CreateMerchantCenterAccountLink(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleMerchantCenterAccountLinkClient_DeleteMerchantCenterAccountLink() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewMerchantCenterAccountLinkClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.DeleteMerchantCenterAccountLinkRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#DeleteMerchantCenterAccountLinkRequest. + } + err = c.DeleteMerchantCenterAccountLink(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleMerchantCenterAccountLinkClient_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 := retail.NewMerchantCenterAccountLinkClient(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 ExampleMerchantCenterAccountLinkClient_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 := retail.NewMerchantCenterAccountLinkClient(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 + } +} diff --git a/retail/apiv2alpha/model_client.go b/retail/apiv2alpha/model_client.go index 429eba843697..3bcc97fca3e8 100755 --- a/retail/apiv2alpha/model_client.go +++ b/retail/apiv2alpha/model_client.go @@ -49,6 +49,7 @@ var newModelClientHook clientHook // ModelCallOptions contains the retry settings for each method of ModelClient. type ModelCallOptions struct { CreateModel []gax.CallOption + GetModel []gax.CallOption PauseModel []gax.CallOption ResumeModel []gax.CallOption DeleteModel []gax.CallOption @@ -85,6 +86,18 @@ func defaultModelCallOptions() *ModelCallOptions { }) }), }, + GetModel: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + codes.DeadlineExceeded, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, PauseModel: []gax.CallOption{ gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ @@ -186,6 +199,17 @@ func defaultModelRESTCallOptions() *ModelCallOptions { http.StatusGatewayTimeout) }), }, + GetModel: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable, + http.StatusGatewayTimeout) + }), + }, PauseModel: []gax.CallOption{ gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -274,6 +298,7 @@ type internalModelClient interface { Connection() *grpc.ClientConn CreateModel(context.Context, *retailpb.CreateModelRequest, ...gax.CallOption) (*CreateModelOperation, error) CreateModelOperation(name string) *CreateModelOperation + GetModel(context.Context, *retailpb.GetModelRequest, ...gax.CallOption) (*retailpb.Model, error) PauseModel(context.Context, *retailpb.PauseModelRequest, ...gax.CallOption) (*retailpb.Model, error) ResumeModel(context.Context, *retailpb.ResumeModelRequest, ...gax.CallOption) (*retailpb.Model, error) DeleteModel(context.Context, *retailpb.DeleteModelRequest, ...gax.CallOption) error @@ -350,6 +375,11 @@ func (c *ModelClient) CreateModelOperation(name string) *CreateModelOperation { return c.internalClient.CreateModelOperation(name) } +// GetModel gets a model. +func (c *ModelClient) GetModel(ctx context.Context, req *retailpb.GetModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { + return c.internalClient.GetModel(ctx, req, opts...) +} + // PauseModel pauses the training of an existing model. func (c *ModelClient) PauseModel(ctx context.Context, req *retailpb.PauseModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { return c.internalClient.PauseModel(ctx, req, opts...) @@ -634,6 +664,28 @@ func (c *modelGRPCClient) CreateModel(ctx context.Context, req *retailpb.CreateM }, nil } +func (c *modelGRPCClient) GetModel(ctx context.Context, req *retailpb.GetModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GetModel[0:len((*c.CallOptions).GetModel):len((*c.CallOptions).GetModel)], opts...) + var resp *retailpb.Model + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.modelClient.GetModel(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + func (c *modelGRPCClient) PauseModel(ctx context.Context, req *retailpb.PauseModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) @@ -921,6 +973,64 @@ func (c *modelRESTClient) CreateModel(ctx context.Context, req *retailpb.CreateM }, nil } +// GetModel gets a model. +func (c *modelRESTClient) GetModel(ctx context.Context, req *retailpb.GetModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v2alpha/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GetModel[0:len((*c.CallOptions).GetModel):len((*c.CallOptions).GetModel)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &retailpb.Model{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // PauseModel pauses the training of an existing model. func (c *modelRESTClient) PauseModel(ctx context.Context, req *retailpb.PauseModelRequest, opts ...gax.CallOption) (*retailpb.Model, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} diff --git a/retail/apiv2alpha/model_client_example_test.go b/retail/apiv2alpha/model_client_example_test.go index 9712ca99cd37..bb6bd13bd5f7 100644 --- a/retail/apiv2alpha/model_client_example_test.go +++ b/retail/apiv2alpha/model_client_example_test.go @@ -89,6 +89,31 @@ func ExampleModelClient_CreateModel() { _ = resp } +func ExampleModelClient_GetModel() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := retail.NewModelClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.GetModelRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#GetModelRequest. + } + resp, err := c.GetModel(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleModelClient_PauseModel() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. diff --git a/retail/apiv2alpha/product_client.go b/retail/apiv2alpha/product_client.go index e55572b4f500..695f43cc5362 100755 --- a/retail/apiv2alpha/product_client.go +++ b/retail/apiv2alpha/product_client.go @@ -574,9 +574,6 @@ func (c *ProductClient) ImportProductsOperation(name string) *ImportProductsOper // Operations associated with the stale // updates are not marked as done until // they are obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *ProductClient) SetInventory(ctx context.Context, req *retailpb.SetInventoryRequest, opts ...gax.CallOption) (*SetInventoryOperation, error) { return c.internalClient.SetInventory(ctx, req, opts...) } @@ -587,7 +584,15 @@ func (c *ProductClient) SetInventoryOperation(name string) *SetInventoryOperatio return c.internalClient.SetInventoryOperation(name) } -// AddFulfillmentPlaces incrementally adds place IDs to +// AddFulfillmentPlaces it is recommended to use the +// ProductService.AddLocalInventories +// method instead of +// ProductService.AddFulfillmentPlaces. +// ProductService.AddLocalInventories +// achieves the same results but provides more fine-grained control over +// ingesting local inventory data. +// +// Incrementally adds place IDs to // Product.fulfillment_info.place_ids. // // This process is asynchronous and does not require the @@ -608,9 +613,6 @@ func (c *ProductClient) SetInventoryOperation(name string) *SetInventoryOperatio // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *ProductClient) AddFulfillmentPlaces(ctx context.Context, req *retailpb.AddFulfillmentPlacesRequest, opts ...gax.CallOption) (*AddFulfillmentPlacesOperation, error) { return c.internalClient.AddFulfillmentPlaces(ctx, req, opts...) } @@ -621,7 +623,15 @@ func (c *ProductClient) AddFulfillmentPlacesOperation(name string) *AddFulfillme return c.internalClient.AddFulfillmentPlacesOperation(name) } -// RemoveFulfillmentPlaces incrementally removes place IDs from a +// RemoveFulfillmentPlaces it is recommended to use the +// ProductService.RemoveLocalInventories +// method instead of +// ProductService.RemoveFulfillmentPlaces. +// ProductService.RemoveLocalInventories +// achieves the same results but provides more fine-grained control over +// ingesting local inventory data. +// +// Incrementally removes place IDs from a // Product.fulfillment_info.place_ids. // // This process is asynchronous and does not require the @@ -642,9 +652,6 @@ func (c *ProductClient) AddFulfillmentPlacesOperation(name string) *AddFulfillme // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *ProductClient) RemoveFulfillmentPlaces(ctx context.Context, req *retailpb.RemoveFulfillmentPlacesRequest, opts ...gax.CallOption) (*RemoveFulfillmentPlacesOperation, error) { return c.internalClient.RemoveFulfillmentPlaces(ctx, req, opts...) } @@ -683,9 +690,6 @@ func (c *ProductClient) RemoveFulfillmentPlacesOperation(name string) *RemoveFul // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *ProductClient) AddLocalInventories(ctx context.Context, req *retailpb.AddLocalInventoriesRequest, opts ...gax.CallOption) (*AddLocalInventoriesOperation, error) { return c.internalClient.AddLocalInventories(ctx, req, opts...) } @@ -722,9 +726,6 @@ func (c *ProductClient) AddLocalInventoriesOperation(name string) *AddLocalInven // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *ProductClient) RemoveLocalInventories(ctx context.Context, req *retailpb.RemoveLocalInventoriesRequest, opts ...gax.CallOption) (*RemoveLocalInventoriesOperation, error) { return c.internalClient.RemoveLocalInventories(ctx, req, opts...) } @@ -1599,6 +1600,9 @@ func (c *productRESTClient) DeleteProduct(ctx context.Context, req *retailpb.Del params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } baseUrl.RawQuery = params.Encode() @@ -1836,9 +1840,6 @@ func (c *productRESTClient) ImportProducts(ctx context.Context, req *retailpb.Im // Operations associated with the stale // updates are not marked as done until // they are obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *productRESTClient) SetInventory(ctx context.Context, req *retailpb.SetInventoryRequest, opts ...gax.CallOption) (*SetInventoryOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) @@ -1906,7 +1907,15 @@ func (c *productRESTClient) SetInventory(ctx context.Context, req *retailpb.SetI }, nil } -// AddFulfillmentPlaces incrementally adds place IDs to +// AddFulfillmentPlaces it is recommended to use the +// ProductService.AddLocalInventories +// method instead of +// ProductService.AddFulfillmentPlaces. +// ProductService.AddLocalInventories +// achieves the same results but provides more fine-grained control over +// ingesting local inventory data. +// +// Incrementally adds place IDs to // Product.fulfillment_info.place_ids. // // This process is asynchronous and does not require the @@ -1927,9 +1936,6 @@ func (c *productRESTClient) SetInventory(ctx context.Context, req *retailpb.SetI // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *productRESTClient) AddFulfillmentPlaces(ctx context.Context, req *retailpb.AddFulfillmentPlacesRequest, opts ...gax.CallOption) (*AddFulfillmentPlacesOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) @@ -1997,7 +2003,15 @@ func (c *productRESTClient) AddFulfillmentPlaces(ctx context.Context, req *retai }, nil } -// RemoveFulfillmentPlaces incrementally removes place IDs from a +// RemoveFulfillmentPlaces it is recommended to use the +// ProductService.RemoveLocalInventories +// method instead of +// ProductService.RemoveFulfillmentPlaces. +// ProductService.RemoveLocalInventories +// achieves the same results but provides more fine-grained control over +// ingesting local inventory data. +// +// Incrementally removes place IDs from a // Product.fulfillment_info.place_ids. // // This process is asynchronous and does not require the @@ -2018,9 +2032,6 @@ func (c *productRESTClient) AddFulfillmentPlaces(ctx context.Context, req *retai // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *productRESTClient) RemoveFulfillmentPlaces(ctx context.Context, req *retailpb.RemoveFulfillmentPlacesRequest, opts ...gax.CallOption) (*RemoveFulfillmentPlacesOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) @@ -2116,9 +2127,6 @@ func (c *productRESTClient) RemoveFulfillmentPlaces(ctx context.Context, req *re // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *productRESTClient) AddLocalInventories(ctx context.Context, req *retailpb.AddLocalInventoriesRequest, opts ...gax.CallOption) (*AddLocalInventoriesOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) @@ -2212,9 +2220,6 @@ func (c *productRESTClient) AddLocalInventories(ctx context.Context, req *retail // Operations associated with the stale // updates will not be marked as done // until being obsolete. -// -// This feature is only available for users who have Retail Search enabled. -// Enable Retail Search on Cloud Console before using this feature. func (c *productRESTClient) RemoveLocalInventories(ctx context.Context, req *retailpb.RemoveLocalInventoriesRequest, opts ...gax.CallOption) (*RemoveLocalInventoriesOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} jsonReq, err := m.Marshal(req) diff --git a/retail/apiv2alpha/retailpb/catalog.pb.go b/retail/apiv2alpha/retailpb/catalog.pb.go index 5f2cc4752026..163674e83815 100755 --- a/retail/apiv2alpha/retailpb/catalog.pb.go +++ b/retail/apiv2alpha/retailpb/catalog.pb.go @@ -255,8 +255,7 @@ func (CatalogAttribute_SearchableOption) EnumDescriptor() ([]byte, []int) { type CatalogAttribute_ExactSearchableOption int32 const ( - // Value used when unset. Defaults to - // [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED]. + // Value used when unset. CatalogAttribute_EXACT_SEARCHABLE_OPTION_UNSPECIFIED CatalogAttribute_ExactSearchableOption = 0 // Exact searchable option enabled for an attribute. CatalogAttribute_EXACT_SEARCHABLE_ENABLED CatalogAttribute_ExactSearchableOption = 1 @@ -309,8 +308,7 @@ func (CatalogAttribute_ExactSearchableOption) EnumDescriptor() ([]byte, []int) { type CatalogAttribute_RetrievableOption int32 const ( - // Value used when unset. Defaults to - // [RETRIEVABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED]. + // Value used when unset. CatalogAttribute_RETRIEVABLE_OPTION_UNSPECIFIED CatalogAttribute_RetrievableOption = 0 // Retrievable option enabled for an attribute. CatalogAttribute_RETRIEVABLE_ENABLED CatalogAttribute_RetrievableOption = 1 @@ -476,6 +474,10 @@ type CatalogAttribute struct { // characters and underscores. For example, an attribute named // `attributes.abc_xyz` can be indexed, but an attribute named // `attributes.abc-xyz` cannot be indexed. + // + // If the attribute key starts with `attributes.`, then the attribute is a + // custom attribute. Attributes such as `brands`, `patterns`, and `title` are + // built-in and called system attributes. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Output only. Indicates whether this attribute has been used by any // products. `True` if at least one @@ -542,10 +544,13 @@ type CatalogAttribute struct { RecommendationsFilteringOption RecommendationsFilteringOption `protobuf:"varint,8,opt,name=recommendations_filtering_option,json=recommendationsFilteringOption,proto3,enum=google.cloud.retail.v2alpha.RecommendationsFilteringOption" json:"recommendations_filtering_option,omitempty"` // If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. // This property only applies to textual custom attributes and requires - // indexable set to enabled to enable exact-searchable. + // indexable set to enabled to enable exact-searchable. If unset, the server + // behavior defaults to + // [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED]. ExactSearchableOption CatalogAttribute_ExactSearchableOption `protobuf:"varint,11,opt,name=exact_searchable_option,json=exactSearchableOption,proto3,enum=google.cloud.retail.v2alpha.CatalogAttribute_ExactSearchableOption" json:"exact_searchable_option,omitempty"` // If RETRIEVABLE_ENABLED, attribute values are retrievable in the search - // results. + // results. If unset, the server behavior defaults to + // [RETRIEVABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.RetrievableOption.RETRIEVABLE_DISABLED]. RetrievableOption CatalogAttribute_RetrievableOption `protobuf:"varint,12,opt,name=retrievable_option,json=retrievableOption,proto3,enum=google.cloud.retail.v2alpha.CatalogAttribute_RetrievableOption" json:"retrievable_option,omitempty"` } diff --git a/retail/apiv2alpha/retailpb/common.pb.go b/retail/apiv2alpha/retailpb/common.pb.go index cbe13a5343e0..ee6b009bc681 100755 --- a/retail/apiv2alpha/retailpb/common.pb.go +++ b/retail/apiv2alpha/retailpb/common.pb.go @@ -623,7 +623,7 @@ type ColorInfo struct { // it is expected to have only 1 color. May consider using single "Mixed" // instead of multiple values. // - // A maximum of 25 colors are allowed. Each value must be a UTF-8 encoded + // A maximum of 75 colors are allowed. Each value must be a UTF-8 encoded // string with a length limit of 128 characters. Otherwise, an // INVALID_ARGUMENT error is returned. // diff --git a/retail/apiv2alpha/retailpb/completion_service.pb.go b/retail/apiv2alpha/retailpb/completion_service.pb.go index 54262b782fd7..16a21df49a97 100755 --- a/retail/apiv2alpha/retailpb/completion_service.pb.go +++ b/retail/apiv2alpha/retailpb/completion_service.pb.go @@ -41,7 +41,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Auto-complete parameters. +// Autocomplete parameters. type CompleteQueryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -116,6 +116,13 @@ type CompleteQueryRequest struct { // // This field is only available for "cloud-retail" dataset. EnableAttributeSuggestions bool `protobuf:"varint,9,opt,name=enable_attribute_suggestions,json=enableAttributeSuggestions,proto3" json:"enable_attribute_suggestions,omitempty"` + // The entity for customers that may run multiple different entities, domains, + // sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, + // `google.com`, `youtube.com`, etc. + // If this is set, it should be exactly matched with + // [UserEvent.entity][google.cloud.retail.v2alpha.UserEvent.entity] to get + // per-entity autocomplete results. + Entity string `protobuf:"bytes,10,opt,name=entity,proto3" json:"entity,omitempty"` } func (x *CompleteQueryRequest) Reset() { @@ -206,7 +213,14 @@ func (x *CompleteQueryRequest) GetEnableAttributeSuggestions() bool { return false } -// Response of the auto-complete query. +func (x *CompleteQueryRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + +// Response of the autocomplete query. type CompleteQueryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -331,6 +345,17 @@ type CompleteQueryResponse_CompletionResult struct { // [UserEvent.product_details][google.cloud.retail.v2alpha.UserEvent.product_details] // is imported properly. Attributes map[string]*CustomAttribute `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Facet information for the suggestion term. Gives the number of items + // resulting from a search with this suggestion term for each facet. + // + // This is an experimental feature for limited customers. Please reach out + // to the support team if you would like to receive this information. + Facets []*SearchResponse_Facet `protobuf:"bytes,3,rep,name=facets,proto3" json:"facets,omitempty"` + // Total number of products associated with a search with this suggestion. + // + // This is an experimental feature for limited customers. Please reach out + // to the support team if you would like to receive this information. + TotalProductCount int32 `protobuf:"varint,4,opt,name=total_product_count,json=totalProductCount,proto3" json:"total_product_count,omitempty"` } func (x *CompleteQueryResponse_CompletionResult) Reset() { @@ -379,6 +404,20 @@ func (x *CompleteQueryResponse_CompletionResult) GetAttributes() map[string]*Cus return nil } +func (x *CompleteQueryResponse_CompletionResult) GetFacets() []*SearchResponse_Facet { + if x != nil { + return x.Facets + } + return nil +} + +func (x *CompleteQueryResponse_CompletionResult) GetTotalProductCount() int32 { + if x != nil { + return x.TotalProductCount + } + return 0 +} + // Recent search of this user. type CompleteQueryResponse_RecentSearchResult struct { state protoimpl.MessageState @@ -498,143 +537,155 @@ var file_google_cloud_retail_v2alpha_completion_service_proto_rawDesc = []byte{ 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x22, 0xde, 0x02, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, - 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x76, - 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, - 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, - 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbb, 0x07, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x72, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x79, 0x0a, 0x15, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x75, 0x0a, - 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 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, 0x22, 0xf6, 0x02, 0x0a, 0x14, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, + 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x27, + 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x22, 0xb6, 0x08, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x12, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x79, 0x0a, 0x15, + 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x75, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x8f, + 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x94, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x67, - 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x6b, - 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 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, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x1a, 0x6b, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 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, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x39, 0x0a, 0x12, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x33, 0x0a, 0x0f, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x87, 0x01, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 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, 0x58, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xd5, 0x04, 0x0a, 0x11, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xc2, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x12, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x33, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x75, 0x67, - 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x15, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x58, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x44, 0x12, 0x42, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0xaf, 0x02, 0x0a, 0x14, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 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, 0xbd, 0x01, 0xca, 0x41, 0x66, 0x0a, 0x38, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0xd5, 0x04, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc2, 0x01, 0x0a, 0x0d, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, - 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0xaf, 0x02, 0x0a, 0x14, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 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, 0xbd, 0x01, 0xca, 0x41, 0x66, 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0xda, 0x01, - 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x42, 0x16, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 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, 0xda, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x16, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, + 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, + 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, + 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, + 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -658,26 +709,28 @@ var file_google_cloud_retail_v2alpha_completion_service_proto_goTypes = []interf (*CompleteQueryResponse_AttributeResult)(nil), // 4: google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResult nil, // 5: google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResultsEntry nil, // 6: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.AttributesEntry - (*CustomAttribute)(nil), // 7: google.cloud.retail.v2alpha.CustomAttribute - (*ImportCompletionDataRequest)(nil), // 8: google.cloud.retail.v2alpha.ImportCompletionDataRequest - (*longrunningpb.Operation)(nil), // 9: google.longrunning.Operation + (*SearchResponse_Facet)(nil), // 7: google.cloud.retail.v2alpha.SearchResponse.Facet + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2alpha.CustomAttribute + (*ImportCompletionDataRequest)(nil), // 9: google.cloud.retail.v2alpha.ImportCompletionDataRequest + (*longrunningpb.Operation)(nil), // 10: google.longrunning.Operation } var file_google_cloud_retail_v2alpha_completion_service_proto_depIdxs = []int32{ - 2, // 0: google.cloud.retail.v2alpha.CompleteQueryResponse.completion_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult - 3, // 1: google.cloud.retail.v2alpha.CompleteQueryResponse.recent_search_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult - 5, // 2: google.cloud.retail.v2alpha.CompleteQueryResponse.attribute_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResultsEntry - 6, // 3: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.attributes:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.AttributesEntry - 4, // 4: google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResultsEntry.value:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResult - 7, // 5: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.AttributesEntry.value:type_name -> google.cloud.retail.v2alpha.CustomAttribute - 0, // 6: google.cloud.retail.v2alpha.CompletionService.CompleteQuery:input_type -> google.cloud.retail.v2alpha.CompleteQueryRequest - 8, // 7: google.cloud.retail.v2alpha.CompletionService.ImportCompletionData:input_type -> google.cloud.retail.v2alpha.ImportCompletionDataRequest - 1, // 8: google.cloud.retail.v2alpha.CompletionService.CompleteQuery:output_type -> google.cloud.retail.v2alpha.CompleteQueryResponse - 9, // 9: google.cloud.retail.v2alpha.CompletionService.ImportCompletionData:output_type -> google.longrunning.Operation - 8, // [8:10] is the sub-list for method output_type - 6, // [6:8] 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 + 2, // 0: google.cloud.retail.v2alpha.CompleteQueryResponse.completion_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult + 3, // 1: google.cloud.retail.v2alpha.CompleteQueryResponse.recent_search_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult + 5, // 2: google.cloud.retail.v2alpha.CompleteQueryResponse.attribute_results:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResultsEntry + 6, // 3: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.attributes:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.AttributesEntry + 7, // 4: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.facets:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet + 4, // 5: google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResultsEntry.value:type_name -> google.cloud.retail.v2alpha.CompleteQueryResponse.AttributeResult + 8, // 6: google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.AttributesEntry.value:type_name -> google.cloud.retail.v2alpha.CustomAttribute + 0, // 7: google.cloud.retail.v2alpha.CompletionService.CompleteQuery:input_type -> google.cloud.retail.v2alpha.CompleteQueryRequest + 9, // 8: google.cloud.retail.v2alpha.CompletionService.ImportCompletionData:input_type -> google.cloud.retail.v2alpha.ImportCompletionDataRequest + 1, // 9: google.cloud.retail.v2alpha.CompletionService.CompleteQuery:output_type -> google.cloud.retail.v2alpha.CompleteQueryResponse + 10, // 10: google.cloud.retail.v2alpha.CompletionService.ImportCompletionData:output_type -> google.longrunning.Operation + 9, // [9:11] is the sub-list for method output_type + 7, // [7:9] 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_retail_v2alpha_completion_service_proto_init() } @@ -687,6 +740,7 @@ func file_google_cloud_retail_v2alpha_completion_service_proto_init() { } file_google_cloud_retail_v2alpha_common_proto_init() file_google_cloud_retail_v2alpha_import_config_proto_init() + file_google_cloud_retail_v2alpha_search_service_proto_init() if !protoimpl.UnsafeEnabled { file_google_cloud_retail_v2alpha_completion_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompleteQueryRequest); i { diff --git a/retail/apiv2alpha/retailpb/import_config.pb.go b/retail/apiv2alpha/retailpb/import_config.pb.go index 703f19853e59..32aff7f3eaeb 100755 --- a/retail/apiv2alpha/retailpb/import_config.pb.go +++ b/retail/apiv2alpha/retailpb/import_config.pb.go @@ -232,7 +232,7 @@ type BigQuerySource struct { // The schema is available here: // https://support.google.com/analytics/answer/7029846. // - // Supported values for auto-completion imports: + // Supported values for autocomplete imports: // // * `suggestions` (default): One JSON completion suggestion per line. // * `denylist`: One JSON deny suggestion per line. diff --git a/retail/apiv2alpha/retailpb/merchant_center_account_link.pb.go b/retail/apiv2alpha/retailpb/merchant_center_account_link.pb.go new file mode 100755 index 000000000000..dd263ea52fd9 --- /dev/null +++ b/retail/apiv2alpha/retailpb/merchant_center_account_link.pb.go @@ -0,0 +1,557 @@ +// Copyright 2021 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.30.0 +// protoc v3.21.12 +// source: google/cloud/retail/v2alpha/merchant_center_account_link.proto + +package retailpb + +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 state of the link. +type MerchantCenterAccountLink_State int32 + +const ( + // Default value. + MerchantCenterAccountLink_STATE_UNSPECIFIED MerchantCenterAccountLink_State = 0 + // Link is created and LRO is not complete. + MerchantCenterAccountLink_PENDING MerchantCenterAccountLink_State = 1 + // Link is active. + MerchantCenterAccountLink_ACTIVE MerchantCenterAccountLink_State = 2 + // Link creation failed. + MerchantCenterAccountLink_FAILED MerchantCenterAccountLink_State = 3 +) + +// Enum value maps for MerchantCenterAccountLink_State. +var ( + MerchantCenterAccountLink_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "PENDING", + 2: "ACTIVE", + 3: "FAILED", + } + MerchantCenterAccountLink_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "PENDING": 1, + "ACTIVE": 2, + "FAILED": 3, + } +) + +func (x MerchantCenterAccountLink_State) Enum() *MerchantCenterAccountLink_State { + p := new(MerchantCenterAccountLink_State) + *p = x + return p +} + +func (x MerchantCenterAccountLink_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MerchantCenterAccountLink_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_enumTypes[0].Descriptor() +} + +func (MerchantCenterAccountLink_State) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_enumTypes[0] +} + +func (x MerchantCenterAccountLink_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MerchantCenterAccountLink_State.Descriptor instead. +func (MerchantCenterAccountLink_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescGZIP(), []int{0, 0} +} + +// Represents a link between a Merchant Center account and a branch. +// Once a link is established, products from the linked merchant center account +// will be streamed to the linked branch. +type MerchantCenterAccountLink struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Immutable. Full resource name of the Merchant Center Account + // Link, such as + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/merchant_center_account_link`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Immutable. + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // identifier, which is the final component of + // [name][google.cloud.retail.v2alpha.MerchantCenterAccountLink.name]. This + // field is auto generated and follows the convention: + // `BranchId_MerchantCenterAccountId`. + // `projects/*/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/id_1`. + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` + // Required. The linked [Merchant center account + // id](https://developers.google.com/shopping-content/guides/accountstatuses). + // The account must be a standalone account or a sub-account of a MCA. + MerchantCenterAccountId int64 `protobuf:"varint,2,opt,name=merchant_center_account_id,json=merchantCenterAccountId,proto3" json:"merchant_center_account_id,omitempty"` + // Required. The branch id (e.g. 0/1/2) within the catalog that products from + // merchant_center_account_id are streamed to. When updating this field, an + // empty value will use the currently configured default branch. However, + // changing the default branch later on won't change the linked branch here. + // + // A single branch id can only have one linked merchant center account id. + BranchId string `protobuf:"bytes,3,opt,name=branch_id,json=branchId,proto3" json:"branch_id,omitempty"` + // The FeedLabel used to perform filtering. + // Note: this replaces + // [region_id](https://developers.google.com/shopping-content/reference/rest/v2.1/products#Product.FIELDS.feed_label). + // + // Example value: `US`. + // Example value: `FeedLabel1`. + FeedLabel string `protobuf:"bytes,4,opt,name=feed_label,json=feedLabel,proto3" json:"feed_label,omitempty"` + // Language of the title/description and other string attributes. Use language + // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + // ISO 639-1. + // + // This specifies the language of offers in Merchant Center that will be + // accepted. If empty, no language filtering will be performed. + // + // Example value: `en`. + LanguageCode string `protobuf:"bytes,5,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Criteria for the Merchant Center feeds to be ingested via the link. + // All offers will be ingested if the list is empty. + // Otherwise the offers will be ingested from selected feeds. + FeedFilters []*MerchantCenterAccountLink_MerchantCenterFeedFilter `protobuf:"bytes,6,rep,name=feed_filters,json=feedFilters,proto3" json:"feed_filters,omitempty"` + // Output only. Represents the state of the link. + State MerchantCenterAccountLink_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.retail.v2alpha.MerchantCenterAccountLink_State" json:"state,omitempty"` + // Output only. GCP project ID. + ProjectId string `protobuf:"bytes,9,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` +} + +func (x *MerchantCenterAccountLink) Reset() { + *x = MerchantCenterAccountLink{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MerchantCenterAccountLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MerchantCenterAccountLink) ProtoMessage() {} + +func (x *MerchantCenterAccountLink) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 MerchantCenterAccountLink.ProtoReflect.Descriptor instead. +func (*MerchantCenterAccountLink) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescGZIP(), []int{0} +} + +func (x *MerchantCenterAccountLink) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *MerchantCenterAccountLink) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *MerchantCenterAccountLink) GetMerchantCenterAccountId() int64 { + if x != nil { + return x.MerchantCenterAccountId + } + return 0 +} + +func (x *MerchantCenterAccountLink) GetBranchId() string { + if x != nil { + return x.BranchId + } + return "" +} + +func (x *MerchantCenterAccountLink) GetFeedLabel() string { + if x != nil { + return x.FeedLabel + } + return "" +} + +func (x *MerchantCenterAccountLink) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *MerchantCenterAccountLink) GetFeedFilters() []*MerchantCenterAccountLink_MerchantCenterFeedFilter { + if x != nil { + return x.FeedFilters + } + return nil +} + +func (x *MerchantCenterAccountLink) GetState() MerchantCenterAccountLink_State { + if x != nil { + return x.State + } + return MerchantCenterAccountLink_STATE_UNSPECIFIED +} + +func (x *MerchantCenterAccountLink) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +// Common metadata related to the progress of the operations. +type CreateMerchantCenterAccountLinkMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *CreateMerchantCenterAccountLinkMetadata) Reset() { + *x = CreateMerchantCenterAccountLinkMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMerchantCenterAccountLinkMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMerchantCenterAccountLinkMetadata) ProtoMessage() {} + +func (x *CreateMerchantCenterAccountLinkMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 CreateMerchantCenterAccountLinkMetadata.ProtoReflect.Descriptor instead. +func (*CreateMerchantCenterAccountLinkMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateMerchantCenterAccountLinkMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *CreateMerchantCenterAccountLinkMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Merchant Center Feed filter criterion. +type MerchantCenterAccountLink_MerchantCenterFeedFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Merchant Center primary feed ID. + PrimaryFeedId int64 `protobuf:"varint,1,opt,name=primary_feed_id,json=primaryFeedId,proto3" json:"primary_feed_id,omitempty"` + // Merchant Center primary feed name. The name is used for the display + // purposes only. + PrimaryFeedName string `protobuf:"bytes,2,opt,name=primary_feed_name,json=primaryFeedName,proto3" json:"primary_feed_name,omitempty"` +} + +func (x *MerchantCenterAccountLink_MerchantCenterFeedFilter) Reset() { + *x = MerchantCenterAccountLink_MerchantCenterFeedFilter{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MerchantCenterAccountLink_MerchantCenterFeedFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MerchantCenterAccountLink_MerchantCenterFeedFilter) ProtoMessage() {} + +func (x *MerchantCenterAccountLink_MerchantCenterFeedFilter) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 MerchantCenterAccountLink_MerchantCenterFeedFilter.ProtoReflect.Descriptor instead. +func (*MerchantCenterAccountLink_MerchantCenterFeedFilter) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *MerchantCenterAccountLink_MerchantCenterFeedFilter) GetPrimaryFeedId() int64 { + if x != nil { + return x.PrimaryFeedId + } + return 0 +} + +func (x *MerchantCenterAccountLink_MerchantCenterFeedFilter) GetPrimaryFeedName() string { + if x != nil { + return x.PrimaryFeedName + } + return "" +} + +var File_google_cloud_retail_v2alpha_merchant_center_account_link_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDesc = []byte{ + 0x0a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 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, 0xcb, 0x06, 0x0a, 0x19, 0x4d, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x1a, + 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x65, 0x65, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x72, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, + 0x6e, 0x6b, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x46, 0x65, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x66, 0x65, 0x65, + 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x57, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x1a, 0x6e, 0x0a, 0x18, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x65, 0x65, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x46, 0x65, 0x65, 0x64, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x69, + 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x65, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x43, 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, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0a, + 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x3a, 0xab, 0x01, 0xea, 0x41, 0xa7, + 0x01, 0x0a, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, + 0x6e, 0x6b, 0x12, 0x74, 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, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x6d, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x7d, 0x22, 0xa3, 0x01, 0x0a, 0x27, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0xe2, + 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x42, 0x1e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, + 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, + 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescData = file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_goTypes = []interface{}{ + (MerchantCenterAccountLink_State)(0), // 0: google.cloud.retail.v2alpha.MerchantCenterAccountLink.State + (*MerchantCenterAccountLink)(nil), // 1: google.cloud.retail.v2alpha.MerchantCenterAccountLink + (*CreateMerchantCenterAccountLinkMetadata)(nil), // 2: google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata + (*MerchantCenterAccountLink_MerchantCenterFeedFilter)(nil), // 3: google.cloud.retail.v2alpha.MerchantCenterAccountLink.MerchantCenterFeedFilter + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_depIdxs = []int32{ + 3, // 0: google.cloud.retail.v2alpha.MerchantCenterAccountLink.feed_filters:type_name -> google.cloud.retail.v2alpha.MerchantCenterAccountLink.MerchantCenterFeedFilter + 0, // 1: google.cloud.retail.v2alpha.MerchantCenterAccountLink.state:type_name -> google.cloud.retail.v2alpha.MerchantCenterAccountLink.State + 4, // 2: google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata.create_time:type_name -> google.protobuf.Timestamp + 4, // 3: google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata.update_time:type_name -> google.protobuf.Timestamp + 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_retail_v2alpha_merchant_center_account_link_proto_init() } +func file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_init() { + if File_google_cloud_retail_v2alpha_merchant_center_account_link_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerchantCenterAccountLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMerchantCenterAccountLinkMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerchantCenterAccountLink_MerchantCenterFeedFilter); 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_retail_v2alpha_merchant_center_account_link_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_merchant_center_account_link_proto = out.File + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_goTypes = nil + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_depIdxs = nil +} diff --git a/retail/apiv2alpha/retailpb/merchant_center_account_link_service.pb.go b/retail/apiv2alpha/retailpb/merchant_center_account_link_service.pb.go new file mode 100755 index 000000000000..c41a9443976c --- /dev/null +++ b/retail/apiv2alpha/retailpb/merchant_center_account_link_service.pb.go @@ -0,0 +1,705 @@ +// Copyright 2021 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.30.0 +// protoc v3.21.12 +// source: google/cloud/retail/v2alpha/merchant_center_account_link_service.proto + +package retailpb + +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" + 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 +// [MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks] +// method. +type ListMerchantCenterAccountLinksRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent Catalog of the resource. + // It must match this format: + // projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *ListMerchantCenterAccountLinksRequest) Reset() { + *x = ListMerchantCenterAccountLinksRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMerchantCenterAccountLinksRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMerchantCenterAccountLinksRequest) ProtoMessage() {} + +func (x *ListMerchantCenterAccountLinksRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 ListMerchantCenterAccountLinksRequest.ProtoReflect.Descriptor instead. +func (*ListMerchantCenterAccountLinksRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ListMerchantCenterAccountLinksRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +// Response for +// [MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks] +// method. +type ListMerchantCenterAccountLinksResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The links. + MerchantCenterAccountLinks []*MerchantCenterAccountLink `protobuf:"bytes,1,rep,name=merchant_center_account_links,json=merchantCenterAccountLinks,proto3" json:"merchant_center_account_links,omitempty"` +} + +func (x *ListMerchantCenterAccountLinksResponse) Reset() { + *x = ListMerchantCenterAccountLinksResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMerchantCenterAccountLinksResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMerchantCenterAccountLinksResponse) ProtoMessage() {} + +func (x *ListMerchantCenterAccountLinksResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 ListMerchantCenterAccountLinksResponse.ProtoReflect.Descriptor instead. +func (*ListMerchantCenterAccountLinksResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListMerchantCenterAccountLinksResponse) GetMerchantCenterAccountLinks() []*MerchantCenterAccountLink { + if x != nil { + return x.MerchantCenterAccountLinks + } + return nil +} + +// Request for +// [MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink] +// method. +type CreateMerchantCenterAccountLinkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The branch resource where this MerchantCenterAccountLink will be + // created. Format: + // projects/{PROJECT_NUMBER}/locations/global/catalogs/{CATALOG_ID}} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // to create. + // + // If the caller does not have permission to create the + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink], + // regardless of whether or not it exists, a PERMISSION_DENIED error is + // returned. + MerchantCenterAccountLink *MerchantCenterAccountLink `protobuf:"bytes,2,opt,name=merchant_center_account_link,json=merchantCenterAccountLink,proto3" json:"merchant_center_account_link,omitempty"` +} + +func (x *CreateMerchantCenterAccountLinkRequest) Reset() { + *x = CreateMerchantCenterAccountLinkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMerchantCenterAccountLinkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMerchantCenterAccountLinkRequest) ProtoMessage() {} + +func (x *CreateMerchantCenterAccountLinkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 CreateMerchantCenterAccountLinkRequest.ProtoReflect.Descriptor instead. +func (*CreateMerchantCenterAccountLinkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateMerchantCenterAccountLinkRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateMerchantCenterAccountLinkRequest) GetMerchantCenterAccountLink() *MerchantCenterAccountLink { + if x != nil { + return x.MerchantCenterAccountLink + } + return nil +} + +// Request for +// [MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink] +// method. +type DeleteMerchantCenterAccountLinkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name. Format: + // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/merchantCenterAccountLinks/{merchant_center_account_link_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteMerchantCenterAccountLinkRequest) Reset() { + *x = DeleteMerchantCenterAccountLinkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMerchantCenterAccountLinkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMerchantCenterAccountLinkRequest) ProtoMessage() {} + +func (x *DeleteMerchantCenterAccountLinkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_merchant_center_account_link_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 DeleteMerchantCenterAccountLinkRequest.ProtoReflect.Descriptor instead. +func (*DeleteMerchantCenterAccountLinkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteMerchantCenterAccountLinkRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDesc = []byte{ + 0x0a, 0x46, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 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, 0x22, 0x66, 0x0a, 0x25, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x22, 0xa3, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, + 0x1d, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x1a, 0x6d, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x7c, 0x0a, 0x1c, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, + 0x22, 0x75, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, + 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, + 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, + 0x0a, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, + 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, + 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0x9c, 0x08, 0x0a, 0x20, 0x4d, 0x65, 0x72, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8a, 0x02, 0x0a, + 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, + 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0xbf, 0x03, 0x0a, 0x1f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x43, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 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, 0xb7, 0x02, 0xca, 0x41, 0x7c, 0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x43, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x65, 0x72, + 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8b, 0x01, + 0x3a, 0x1c, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x6b, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, + 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x1f, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 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, 0x5d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x2a, 0x4e, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x49, 0xca, 0x41, 0x15, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0xe9, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x25, 0x4d, 0x65, 0x72, 0x63, + 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, + 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, + 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescData = file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_goTypes = []interface{}{ + (*ListMerchantCenterAccountLinksRequest)(nil), // 0: google.cloud.retail.v2alpha.ListMerchantCenterAccountLinksRequest + (*ListMerchantCenterAccountLinksResponse)(nil), // 1: google.cloud.retail.v2alpha.ListMerchantCenterAccountLinksResponse + (*CreateMerchantCenterAccountLinkRequest)(nil), // 2: google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkRequest + (*DeleteMerchantCenterAccountLinkRequest)(nil), // 3: google.cloud.retail.v2alpha.DeleteMerchantCenterAccountLinkRequest + (*MerchantCenterAccountLink)(nil), // 4: google.cloud.retail.v2alpha.MerchantCenterAccountLink + (*longrunningpb.Operation)(nil), // 5: google.longrunning.Operation + (*emptypb.Empty)(nil), // 6: google.protobuf.Empty +} +var file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2alpha.ListMerchantCenterAccountLinksResponse.merchant_center_account_links:type_name -> google.cloud.retail.v2alpha.MerchantCenterAccountLink + 4, // 1: google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkRequest.merchant_center_account_link:type_name -> google.cloud.retail.v2alpha.MerchantCenterAccountLink + 0, // 2: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks:input_type -> google.cloud.retail.v2alpha.ListMerchantCenterAccountLinksRequest + 2, // 3: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink:input_type -> google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkRequest + 3, // 4: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink:input_type -> google.cloud.retail.v2alpha.DeleteMerchantCenterAccountLinkRequest + 1, // 5: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks:output_type -> google.cloud.retail.v2alpha.ListMerchantCenterAccountLinksResponse + 5, // 6: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.CreateMerchantCenterAccountLink:output_type -> google.longrunning.Operation + 6, // 7: google.cloud.retail.v2alpha.MerchantCenterAccountLinkService.DeleteMerchantCenterAccountLink:output_type -> google.protobuf.Empty + 5, // [5:8] is the sub-list for method output_type + 2, // [2:5] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_init() } +func file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_init() { + if File_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMerchantCenterAccountLinksRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMerchantCenterAccountLinksResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMerchantCenterAccountLinkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMerchantCenterAccountLinkRequest); 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_retail_v2alpha_merchant_center_account_link_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto = out.File + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_merchant_center_account_link_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_merchant_center_account_link_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 + +// MerchantCenterAccountLinkServiceClient is the client API for MerchantCenterAccountLinkService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MerchantCenterAccountLinkServiceClient interface { + // Lists all + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink]s + // under the specified parent [Catalog][google.cloud.retail.v2alpha.Catalog]. + ListMerchantCenterAccountLinks(ctx context.Context, in *ListMerchantCenterAccountLinksRequest, opts ...grpc.CallOption) (*ListMerchantCenterAccountLinksResponse, error) + // Creates a MerchantCenterAccountLink. + // + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // cannot be set to a different oneof field, if so an INVALID_ARGUMENT is + // returned. + CreateMerchantCenterAccountLink(ctx context.Context, in *CreateMerchantCenterAccountLinkRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a MerchantCenterAccountLink. + // If the + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // to delete does not exist, a NOT_FOUND error is returned. + DeleteMerchantCenterAccountLink(ctx context.Context, in *DeleteMerchantCenterAccountLinkRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type merchantCenterAccountLinkServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewMerchantCenterAccountLinkServiceClient(cc grpc.ClientConnInterface) MerchantCenterAccountLinkServiceClient { + return &merchantCenterAccountLinkServiceClient{cc} +} + +func (c *merchantCenterAccountLinkServiceClient) ListMerchantCenterAccountLinks(ctx context.Context, in *ListMerchantCenterAccountLinksRequest, opts ...grpc.CallOption) (*ListMerchantCenterAccountLinksResponse, error) { + out := new(ListMerchantCenterAccountLinksResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/ListMerchantCenterAccountLinks", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *merchantCenterAccountLinkServiceClient) CreateMerchantCenterAccountLink(ctx context.Context, in *CreateMerchantCenterAccountLinkRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/CreateMerchantCenterAccountLink", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *merchantCenterAccountLinkServiceClient) DeleteMerchantCenterAccountLink(ctx context.Context, in *DeleteMerchantCenterAccountLinkRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/DeleteMerchantCenterAccountLink", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MerchantCenterAccountLinkServiceServer is the server API for MerchantCenterAccountLinkService service. +type MerchantCenterAccountLinkServiceServer interface { + // Lists all + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink]s + // under the specified parent [Catalog][google.cloud.retail.v2alpha.Catalog]. + ListMerchantCenterAccountLinks(context.Context, *ListMerchantCenterAccountLinksRequest) (*ListMerchantCenterAccountLinksResponse, error) + // Creates a MerchantCenterAccountLink. + // + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // cannot be set to a different oneof field, if so an INVALID_ARGUMENT is + // returned. + CreateMerchantCenterAccountLink(context.Context, *CreateMerchantCenterAccountLinkRequest) (*longrunningpb.Operation, error) + // Deletes a MerchantCenterAccountLink. + // If the + // [MerchantCenterAccountLink][google.cloud.retail.v2alpha.MerchantCenterAccountLink] + // to delete does not exist, a NOT_FOUND error is returned. + DeleteMerchantCenterAccountLink(context.Context, *DeleteMerchantCenterAccountLinkRequest) (*emptypb.Empty, error) +} + +// UnimplementedMerchantCenterAccountLinkServiceServer can be embedded to have forward compatible implementations. +type UnimplementedMerchantCenterAccountLinkServiceServer struct { +} + +func (*UnimplementedMerchantCenterAccountLinkServiceServer) ListMerchantCenterAccountLinks(context.Context, *ListMerchantCenterAccountLinksRequest) (*ListMerchantCenterAccountLinksResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListMerchantCenterAccountLinks not implemented") +} +func (*UnimplementedMerchantCenterAccountLinkServiceServer) CreateMerchantCenterAccountLink(context.Context, *CreateMerchantCenterAccountLinkRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMerchantCenterAccountLink not implemented") +} +func (*UnimplementedMerchantCenterAccountLinkServiceServer) DeleteMerchantCenterAccountLink(context.Context, *DeleteMerchantCenterAccountLinkRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMerchantCenterAccountLink not implemented") +} + +func RegisterMerchantCenterAccountLinkServiceServer(s *grpc.Server, srv MerchantCenterAccountLinkServiceServer) { + s.RegisterService(&_MerchantCenterAccountLinkService_serviceDesc, srv) +} + +func _MerchantCenterAccountLinkService_ListMerchantCenterAccountLinks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListMerchantCenterAccountLinksRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MerchantCenterAccountLinkServiceServer).ListMerchantCenterAccountLinks(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/ListMerchantCenterAccountLinks", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MerchantCenterAccountLinkServiceServer).ListMerchantCenterAccountLinks(ctx, req.(*ListMerchantCenterAccountLinksRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MerchantCenterAccountLinkService_CreateMerchantCenterAccountLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateMerchantCenterAccountLinkRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MerchantCenterAccountLinkServiceServer).CreateMerchantCenterAccountLink(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/CreateMerchantCenterAccountLink", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MerchantCenterAccountLinkServiceServer).CreateMerchantCenterAccountLink(ctx, req.(*CreateMerchantCenterAccountLinkRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _MerchantCenterAccountLinkService_DeleteMerchantCenterAccountLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMerchantCenterAccountLinkRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MerchantCenterAccountLinkServiceServer).DeleteMerchantCenterAccountLink(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.MerchantCenterAccountLinkService/DeleteMerchantCenterAccountLink", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MerchantCenterAccountLinkServiceServer).DeleteMerchantCenterAccountLink(ctx, req.(*DeleteMerchantCenterAccountLinkRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _MerchantCenterAccountLinkService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.MerchantCenterAccountLinkService", + HandlerType: (*MerchantCenterAccountLinkServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListMerchantCenterAccountLinks", + Handler: _MerchantCenterAccountLinkService_ListMerchantCenterAccountLinks_Handler, + }, + { + MethodName: "CreateMerchantCenterAccountLink", + Handler: _MerchantCenterAccountLinkService_CreateMerchantCenterAccountLink_Handler, + }, + { + MethodName: "DeleteMerchantCenterAccountLink", + Handler: _MerchantCenterAccountLinkService_DeleteMerchantCenterAccountLink_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/merchant_center_account_link_service.proto", +} diff --git a/retail/apiv2alpha/retailpb/model_service.pb.go b/retail/apiv2alpha/retailpb/model_service.pb.go index 886eb508ac01..1f38c11eeea4 100755 --- a/retail/apiv2alpha/retailpb/model_service.pb.go +++ b/retail/apiv2alpha/retailpb/model_service.pb.go @@ -173,6 +173,57 @@ func (x *UpdateModelRequest) GetUpdateMask() *fieldmaskpb.FieldMask { return nil } +// Request for getting a model. +type GetModelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the + // [Model][google.cloud.retail.v2alpha.Model] to get. Format: + // `projects/{project_number}/locations/{location_id}/catalogs/{catalog}/models/{model_id}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetModelRequest) Reset() { + *x = GetModelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelRequest) ProtoMessage() {} + +func (x *GetModelRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_model_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 GetModelRequest.ProtoReflect.Descriptor instead. +func (*GetModelRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetModelRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + // Request for pausing training of a model. type PauseModelRequest struct { state protoimpl.MessageState @@ -188,7 +239,7 @@ type PauseModelRequest struct { func (x *PauseModelRequest) Reset() { *x = PauseModelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -201,7 +252,7 @@ func (x *PauseModelRequest) String() string { func (*PauseModelRequest) ProtoMessage() {} func (x *PauseModelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -214,7 +265,7 @@ func (x *PauseModelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PauseModelRequest.ProtoReflect.Descriptor instead. func (*PauseModelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{2} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{3} } func (x *PauseModelRequest) GetName() string { @@ -239,7 +290,7 @@ type ResumeModelRequest struct { func (x *ResumeModelRequest) Reset() { *x = ResumeModelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -252,7 +303,7 @@ func (x *ResumeModelRequest) String() string { func (*ResumeModelRequest) ProtoMessage() {} func (x *ResumeModelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -265,7 +316,7 @@ func (x *ResumeModelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeModelRequest.ProtoReflect.Descriptor instead. func (*ResumeModelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{3} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{4} } func (x *ResumeModelRequest) GetName() string { @@ -296,7 +347,7 @@ type ListModelsRequest struct { func (x *ListModelsRequest) Reset() { *x = ListModelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -309,7 +360,7 @@ func (x *ListModelsRequest) String() string { func (*ListModelsRequest) ProtoMessage() {} func (x *ListModelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -322,7 +373,7 @@ func (x *ListModelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListModelsRequest.ProtoReflect.Descriptor instead. func (*ListModelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{4} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{5} } func (x *ListModelsRequest) GetParent() string { @@ -361,7 +412,7 @@ type DeleteModelRequest struct { func (x *DeleteModelRequest) Reset() { *x = DeleteModelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -374,7 +425,7 @@ func (x *DeleteModelRequest) String() string { func (*DeleteModelRequest) ProtoMessage() {} func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -387,7 +438,7 @@ func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteModelRequest.ProtoReflect.Descriptor instead. func (*DeleteModelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{5} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{6} } func (x *DeleteModelRequest) GetName() string { @@ -412,7 +463,7 @@ type ListModelsResponse struct { func (x *ListModelsResponse) Reset() { *x = ListModelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -425,7 +476,7 @@ func (x *ListModelsResponse) String() string { func (*ListModelsResponse) ProtoMessage() {} func (x *ListModelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -438,7 +489,7 @@ func (x *ListModelsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListModelsResponse.ProtoReflect.Descriptor instead. func (*ListModelsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{6} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{7} } func (x *ListModelsResponse) GetModels() []*Model { @@ -471,7 +522,7 @@ type TuneModelRequest struct { func (x *TuneModelRequest) Reset() { *x = TuneModelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[7] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -484,7 +535,7 @@ func (x *TuneModelRequest) String() string { func (*TuneModelRequest) ProtoMessage() {} func (x *TuneModelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[7] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -497,7 +548,7 @@ func (x *TuneModelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TuneModelRequest.ProtoReflect.Descriptor instead. func (*TuneModelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{7} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{8} } func (x *TuneModelRequest) GetName() string { @@ -522,7 +573,7 @@ type CreateModelMetadata struct { func (x *CreateModelMetadata) Reset() { *x = CreateModelMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[8] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -535,7 +586,7 @@ func (x *CreateModelMetadata) String() string { func (*CreateModelMetadata) ProtoMessage() {} func (x *CreateModelMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[8] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -548,7 +599,7 @@ func (x *CreateModelMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateModelMetadata.ProtoReflect.Descriptor instead. func (*CreateModelMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{8} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{9} } func (x *CreateModelMetadata) GetModel() string { @@ -573,7 +624,7 @@ type TuneModelMetadata struct { func (x *TuneModelMetadata) Reset() { *x = TuneModelMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[9] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -586,7 +637,7 @@ func (x *TuneModelMetadata) String() string { func (*TuneModelMetadata) ProtoMessage() {} func (x *TuneModelMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[9] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -599,7 +650,7 @@ func (x *TuneModelMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use TuneModelMetadata.ProtoReflect.Descriptor instead. func (*TuneModelMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{9} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{10} } func (x *TuneModelMetadata) GetModel() string { @@ -619,7 +670,7 @@ type TuneModelResponse struct { func (x *TuneModelResponse) Reset() { *x = TuneModelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[10] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -632,7 +683,7 @@ func (x *TuneModelResponse) String() string { func (*TuneModelResponse) ProtoMessage() {} func (x *TuneModelResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[10] + mi := &file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -645,7 +696,7 @@ func (x *TuneModelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TuneModelResponse.ProtoReflect.Descriptor instead. func (*TuneModelResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{10} + return file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP(), []int{11} } var File_google_cloud_retail_v2alpha_model_service_proto protoreflect.FileDescriptor @@ -692,160 +743,176 @@ var file_google_cloud_retail_v2alpha_model_service_proto_rawDesc = []byte{ 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, 0x01, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x4c, 0x0a, 0x11, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x75, 0x6d, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x98, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, - 0x6c, 0x6f, 0x67, 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, 0x4d, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x78, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x4a, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1d, 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x11, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, + 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x22, 0x98, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 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, 0x4d, 0x0a, + 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x78, 0x0a, 0x12, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x10, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, + 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x22, 0x29, 0x0a, 0x11, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x13, 0x0a, 0x11, 0x54, + 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0xc2, 0x0d, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0xaf, 0x01, 0xca, 0x41, 0x54, 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x10, 0x54, 0x75, - 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, - 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x29, 0x0a, 0x11, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, - 0x13, 0x0a, 0x11, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x98, 0x0c, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, + 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x3a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x12, 0xa7, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb4, 0x01, + 0x0a, 0x0a, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x22, 0x52, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, + 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, + 0x61, 0x75, 0x73, 0x65, 0x12, 0xb7, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, + 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0xa1, + 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 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, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, + 0xc7, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x63, 0xda, 0x41, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, + 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x32, 0x40, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8e, 0x02, 0x0a, 0x09, 0x54, 0x75, + 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0xaf, 0x01, 0xca, 0x41, 0x54, 0x0a, 0x21, 0x67, 0x6f, 0x6f, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xca, 0x41, 0x5e, 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x3a, 0x2f, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0xb4, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x75, 0x73, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x52, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x12, 0xb7, - 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, - 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0xa1, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 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, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, - 0x2a, 0x3a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, - 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, - 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0xda, 0x41, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x63, - 0xda, 0x41, 0x11, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x05, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x32, 0x40, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 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, 0x63, - 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0x8e, 0x02, 0x0a, 0x09, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, - 0xb2, 0x01, 0xca, 0x41, 0x5e, 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 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, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, - 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x74, 0x75, 0x6e, 0x65, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, - 0xd5, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x42, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, - 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, - 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, - 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x75, 0x6e, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 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, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x75, 0x6e, 0x65, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0xd5, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x11, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, + 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, + 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -860,45 +927,48 @@ func file_google_cloud_retail_v2alpha_model_service_proto_rawDescGZIP() []byte { return file_google_cloud_retail_v2alpha_model_service_proto_rawDescData } -var file_google_cloud_retail_v2alpha_model_service_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_cloud_retail_v2alpha_model_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_retail_v2alpha_model_service_proto_goTypes = []interface{}{ (*CreateModelRequest)(nil), // 0: google.cloud.retail.v2alpha.CreateModelRequest (*UpdateModelRequest)(nil), // 1: google.cloud.retail.v2alpha.UpdateModelRequest - (*PauseModelRequest)(nil), // 2: google.cloud.retail.v2alpha.PauseModelRequest - (*ResumeModelRequest)(nil), // 3: google.cloud.retail.v2alpha.ResumeModelRequest - (*ListModelsRequest)(nil), // 4: google.cloud.retail.v2alpha.ListModelsRequest - (*DeleteModelRequest)(nil), // 5: google.cloud.retail.v2alpha.DeleteModelRequest - (*ListModelsResponse)(nil), // 6: google.cloud.retail.v2alpha.ListModelsResponse - (*TuneModelRequest)(nil), // 7: google.cloud.retail.v2alpha.TuneModelRequest - (*CreateModelMetadata)(nil), // 8: google.cloud.retail.v2alpha.CreateModelMetadata - (*TuneModelMetadata)(nil), // 9: google.cloud.retail.v2alpha.TuneModelMetadata - (*TuneModelResponse)(nil), // 10: google.cloud.retail.v2alpha.TuneModelResponse - (*Model)(nil), // 11: google.cloud.retail.v2alpha.Model - (*fieldmaskpb.FieldMask)(nil), // 12: google.protobuf.FieldMask - (*longrunningpb.Operation)(nil), // 13: google.longrunning.Operation - (*emptypb.Empty)(nil), // 14: google.protobuf.Empty + (*GetModelRequest)(nil), // 2: google.cloud.retail.v2alpha.GetModelRequest + (*PauseModelRequest)(nil), // 3: google.cloud.retail.v2alpha.PauseModelRequest + (*ResumeModelRequest)(nil), // 4: google.cloud.retail.v2alpha.ResumeModelRequest + (*ListModelsRequest)(nil), // 5: google.cloud.retail.v2alpha.ListModelsRequest + (*DeleteModelRequest)(nil), // 6: google.cloud.retail.v2alpha.DeleteModelRequest + (*ListModelsResponse)(nil), // 7: google.cloud.retail.v2alpha.ListModelsResponse + (*TuneModelRequest)(nil), // 8: google.cloud.retail.v2alpha.TuneModelRequest + (*CreateModelMetadata)(nil), // 9: google.cloud.retail.v2alpha.CreateModelMetadata + (*TuneModelMetadata)(nil), // 10: google.cloud.retail.v2alpha.TuneModelMetadata + (*TuneModelResponse)(nil), // 11: google.cloud.retail.v2alpha.TuneModelResponse + (*Model)(nil), // 12: google.cloud.retail.v2alpha.Model + (*fieldmaskpb.FieldMask)(nil), // 13: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 14: google.longrunning.Operation + (*emptypb.Empty)(nil), // 15: google.protobuf.Empty } var file_google_cloud_retail_v2alpha_model_service_proto_depIdxs = []int32{ - 11, // 0: google.cloud.retail.v2alpha.CreateModelRequest.model:type_name -> google.cloud.retail.v2alpha.Model - 11, // 1: google.cloud.retail.v2alpha.UpdateModelRequest.model:type_name -> google.cloud.retail.v2alpha.Model - 12, // 2: google.cloud.retail.v2alpha.UpdateModelRequest.update_mask:type_name -> google.protobuf.FieldMask - 11, // 3: google.cloud.retail.v2alpha.ListModelsResponse.models:type_name -> google.cloud.retail.v2alpha.Model + 12, // 0: google.cloud.retail.v2alpha.CreateModelRequest.model:type_name -> google.cloud.retail.v2alpha.Model + 12, // 1: google.cloud.retail.v2alpha.UpdateModelRequest.model:type_name -> google.cloud.retail.v2alpha.Model + 13, // 2: google.cloud.retail.v2alpha.UpdateModelRequest.update_mask:type_name -> google.protobuf.FieldMask + 12, // 3: google.cloud.retail.v2alpha.ListModelsResponse.models:type_name -> google.cloud.retail.v2alpha.Model 0, // 4: google.cloud.retail.v2alpha.ModelService.CreateModel:input_type -> google.cloud.retail.v2alpha.CreateModelRequest - 2, // 5: google.cloud.retail.v2alpha.ModelService.PauseModel:input_type -> google.cloud.retail.v2alpha.PauseModelRequest - 3, // 6: google.cloud.retail.v2alpha.ModelService.ResumeModel:input_type -> google.cloud.retail.v2alpha.ResumeModelRequest - 5, // 7: google.cloud.retail.v2alpha.ModelService.DeleteModel:input_type -> google.cloud.retail.v2alpha.DeleteModelRequest - 4, // 8: google.cloud.retail.v2alpha.ModelService.ListModels:input_type -> google.cloud.retail.v2alpha.ListModelsRequest - 1, // 9: google.cloud.retail.v2alpha.ModelService.UpdateModel:input_type -> google.cloud.retail.v2alpha.UpdateModelRequest - 7, // 10: google.cloud.retail.v2alpha.ModelService.TuneModel:input_type -> google.cloud.retail.v2alpha.TuneModelRequest - 13, // 11: google.cloud.retail.v2alpha.ModelService.CreateModel:output_type -> google.longrunning.Operation - 11, // 12: google.cloud.retail.v2alpha.ModelService.PauseModel:output_type -> google.cloud.retail.v2alpha.Model - 11, // 13: google.cloud.retail.v2alpha.ModelService.ResumeModel:output_type -> google.cloud.retail.v2alpha.Model - 14, // 14: google.cloud.retail.v2alpha.ModelService.DeleteModel:output_type -> google.protobuf.Empty - 6, // 15: google.cloud.retail.v2alpha.ModelService.ListModels:output_type -> google.cloud.retail.v2alpha.ListModelsResponse - 11, // 16: google.cloud.retail.v2alpha.ModelService.UpdateModel:output_type -> google.cloud.retail.v2alpha.Model - 13, // 17: google.cloud.retail.v2alpha.ModelService.TuneModel:output_type -> google.longrunning.Operation - 11, // [11:18] is the sub-list for method output_type - 4, // [4:11] is the sub-list for method input_type + 2, // 5: google.cloud.retail.v2alpha.ModelService.GetModel:input_type -> google.cloud.retail.v2alpha.GetModelRequest + 3, // 6: google.cloud.retail.v2alpha.ModelService.PauseModel:input_type -> google.cloud.retail.v2alpha.PauseModelRequest + 4, // 7: google.cloud.retail.v2alpha.ModelService.ResumeModel:input_type -> google.cloud.retail.v2alpha.ResumeModelRequest + 6, // 8: google.cloud.retail.v2alpha.ModelService.DeleteModel:input_type -> google.cloud.retail.v2alpha.DeleteModelRequest + 5, // 9: google.cloud.retail.v2alpha.ModelService.ListModels:input_type -> google.cloud.retail.v2alpha.ListModelsRequest + 1, // 10: google.cloud.retail.v2alpha.ModelService.UpdateModel:input_type -> google.cloud.retail.v2alpha.UpdateModelRequest + 8, // 11: google.cloud.retail.v2alpha.ModelService.TuneModel:input_type -> google.cloud.retail.v2alpha.TuneModelRequest + 14, // 12: google.cloud.retail.v2alpha.ModelService.CreateModel:output_type -> google.longrunning.Operation + 12, // 13: google.cloud.retail.v2alpha.ModelService.GetModel:output_type -> google.cloud.retail.v2alpha.Model + 12, // 14: google.cloud.retail.v2alpha.ModelService.PauseModel:output_type -> google.cloud.retail.v2alpha.Model + 12, // 15: google.cloud.retail.v2alpha.ModelService.ResumeModel:output_type -> google.cloud.retail.v2alpha.Model + 15, // 16: google.cloud.retail.v2alpha.ModelService.DeleteModel:output_type -> google.protobuf.Empty + 7, // 17: google.cloud.retail.v2alpha.ModelService.ListModels:output_type -> google.cloud.retail.v2alpha.ListModelsResponse + 12, // 18: google.cloud.retail.v2alpha.ModelService.UpdateModel:output_type -> google.cloud.retail.v2alpha.Model + 14, // 19: google.cloud.retail.v2alpha.ModelService.TuneModel:output_type -> google.longrunning.Operation + 12, // [12:20] is the sub-list for method output_type + 4, // [4:12] 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 @@ -936,7 +1006,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PauseModelRequest); i { + switch v := v.(*GetModelRequest); i { case 0: return &v.state case 1: @@ -948,7 +1018,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeModelRequest); i { + switch v := v.(*PauseModelRequest); i { case 0: return &v.state case 1: @@ -960,7 +1030,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModelsRequest); i { + switch v := v.(*ResumeModelRequest); i { case 0: return &v.state case 1: @@ -972,7 +1042,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteModelRequest); i { + switch v := v.(*ListModelsRequest); i { case 0: return &v.state case 1: @@ -984,7 +1054,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModelsResponse); i { + switch v := v.(*DeleteModelRequest); i { case 0: return &v.state case 1: @@ -996,7 +1066,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TuneModelRequest); i { + switch v := v.(*ListModelsResponse); i { case 0: return &v.state case 1: @@ -1008,7 +1078,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModelMetadata); i { + switch v := v.(*TuneModelRequest); i { case 0: return &v.state case 1: @@ -1020,7 +1090,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TuneModelMetadata); i { + switch v := v.(*CreateModelMetadata); i { case 0: return &v.state case 1: @@ -1032,6 +1102,18 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { } } file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TuneModelMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_model_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TuneModelResponse); i { case 0: return &v.state @@ -1050,7 +1132,7 @@ func file_google_cloud_retail_v2alpha_model_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_retail_v2alpha_model_service_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1078,6 +1160,8 @@ const _ = grpc.SupportPackageIsVersion6 type ModelServiceClient interface { // Creates a new model. CreateModel(ctx context.Context, in *CreateModelRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets a model. + GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) // Pauses the training of an existing model. PauseModel(ctx context.Context, in *PauseModelRequest, opts ...grpc.CallOption) (*Model, error) // Resumes the training of an existing model. @@ -1112,6 +1196,15 @@ func (c *modelServiceClient) CreateModel(ctx context.Context, in *CreateModelReq return out, nil } +func (c *modelServiceClient) GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) { + out := new(Model) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ModelService/GetModel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *modelServiceClient) PauseModel(ctx context.Context, in *PauseModelRequest, opts ...grpc.CallOption) (*Model, error) { out := new(Model) err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ModelService/PauseModel", in, out, opts...) @@ -1170,6 +1263,8 @@ func (c *modelServiceClient) TuneModel(ctx context.Context, in *TuneModelRequest type ModelServiceServer interface { // Creates a new model. CreateModel(context.Context, *CreateModelRequest) (*longrunningpb.Operation, error) + // Gets a model. + GetModel(context.Context, *GetModelRequest) (*Model, error) // Pauses the training of an existing model. PauseModel(context.Context, *PauseModelRequest) (*Model, error) // Resumes the training of an existing model. @@ -1194,6 +1289,9 @@ type UnimplementedModelServiceServer struct { func (*UnimplementedModelServiceServer) CreateModel(context.Context, *CreateModelRequest) (*longrunningpb.Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateModel not implemented") } +func (*UnimplementedModelServiceServer) GetModel(context.Context, *GetModelRequest) (*Model, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModel not implemented") +} func (*UnimplementedModelServiceServer) PauseModel(context.Context, *PauseModelRequest) (*Model, error) { return nil, status.Errorf(codes.Unimplemented, "method PauseModel not implemented") } @@ -1235,6 +1333,24 @@ func _ModelService_CreateModel_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _ModelService_GetModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ModelServiceServer).GetModel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ModelService/GetModel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ModelServiceServer).GetModel(ctx, req.(*GetModelRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ModelService_PauseModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PauseModelRequest) if err := dec(in); err != nil { @@ -1351,6 +1467,10 @@ var _ModelService_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateModel", Handler: _ModelService_CreateModel_Handler, }, + { + MethodName: "GetModel", + Handler: _ModelService_GetModel_Handler, + }, { MethodName: "PauseModel", Handler: _ModelService_PauseModel_Handler, diff --git a/retail/apiv2alpha/retailpb/prediction_service.pb.go b/retail/apiv2alpha/retailpb/prediction_service.pb.go index 6109dd516349..fa8c3b046419 100755 --- a/retail/apiv2alpha/retailpb/prediction_service.pb.go +++ b/retail/apiv2alpha/retailpb/prediction_service.pb.go @@ -122,6 +122,9 @@ type PredictRequest struct { // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones")) // * (availability: ANY("IN_STOCK")) AND // (colors: ANY("Red") OR categories: ANY("Phones")) + // + // For more information, see + // [Filter recommendations](https://cloud.google.com/retail/docs/filter-recs). Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` // Use validate only mode for this prediction query. If set to true, a // dummy model will be used that returns arbitrary products. diff --git a/retail/apiv2alpha/retailpb/product.pb.go b/retail/apiv2alpha/retailpb/product.pb.go index 32d8d7da5023..196f26e606ce 100755 --- a/retail/apiv2alpha/retailpb/product.pb.go +++ b/retail/apiv2alpha/retailpb/product.pb.go @@ -589,12 +589,11 @@ type Product struct { Variants []*Product `protobuf:"bytes,31,rep,name=variants,proto3" json:"variants,omitempty"` // Output only. A list of local inventories specific to different places. // - // This is only available for users who have Retail Search enabled, and it can - // be managed by + // This field can be managed by // [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] // and // [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] - // APIs. + // APIs if fine-grained, high-volume updates are necessary. LocalInventories []*LocalInventory `protobuf:"bytes,35,rep,name=local_inventories,json=localInventories,proto3" json:"local_inventories,omitempty"` } diff --git a/retail/apiv2alpha/retailpb/product_service.pb.go b/retail/apiv2alpha/retailpb/product_service.pb.go index 28b6cfac565a..b08aff4b7d61 100755 --- a/retail/apiv2alpha/retailpb/product_service.pb.go +++ b/retail/apiv2alpha/retailpb/product_service.pb.go @@ -310,6 +310,15 @@ type DeleteProductRequest struct { // All inventory information for the named // [Product][google.cloud.retail.v2alpha.Product] will be deleted. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // This value only applies to the case when the target product is of type + // PRIMARY. + // When deleting a product of VARIANT/COLLECTION type, this value + // will be ignored. + // When set to true, the subsequent variant products will be + // deleted. + // When set to false, if the primary product has active variant products, an + // error will be returned. + Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"` } func (x *DeleteProductRequest) Reset() { @@ -351,6 +360,13 @@ func (x *DeleteProductRequest) GetName() string { return "" } +func (x *DeleteProductRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + // Request message for // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts] // method. @@ -1705,122 +1721,60 @@ var file_google_cloud_retail_v2alpha_product_service_proto_rawDesc = []byte{ 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x51, + 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x67, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 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, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, - 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, - 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x73, 0x6b, 0x52, 0x07, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x35, 0x0a, 0x08, - 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x73, 0x65, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x49, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x16, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, - 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x64, 0x64, 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, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xcf, 0x02, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, - 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x35, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x64, 0x64, 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, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, - 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xe4, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 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, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x1e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x37, 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, + 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x53, + 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x47, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x0a, 0x08, 0x73, + 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x73, 0x65, 0x74, 0x4d, 0x61, + 0x73, 0x6b, 0x12, 0x35, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x07, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x16, + 0x0a, 0x14, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf5, + 0x01, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, @@ -1829,249 +1783,313 @@ var file_google_cloud_retail_v2alpha_product_service_proto_rawDesc = []byte{ 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 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, 0x52, 0x0a, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x21, 0x0a, 0x1f, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x32, 0x94, 0x1b, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x22, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x47, 0x2f, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, - 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x57, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x76, 0x32, 0x61, + 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x64, + 0x64, 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, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, + 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1e, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, + 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, 0x02, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x07, 0x61, 0x64, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x35, 0x0a, 0x08, + 0x61, 0x64, 0x64, 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, 0x52, 0x07, 0x61, 0x64, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4c, + 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x72, + 0x65, 0x6d, 0x6f, 0x76, 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, 0x52, 0x0a, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, + 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x20, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x73, + 0x12, 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 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, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x21, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x94, 0x1b, 0x0a, 0x0e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x22, 0x47, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0xbb, 0x01, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x22, 0x57, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, + 0x12, 0x48, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x58, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x49, 0x12, 0x47, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x77, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5b, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x32, 0x50, 0x2f, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xb3, + 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x57, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, - 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xa5, 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, - 0x77, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x07, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x32, 0x50, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, - 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xb3, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x57, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, - 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0xa5, - 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, - 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 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, 0xc1, 0x01, 0xca, 0x41, 0x66, 0x0a, 0x31, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, - 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x12, 0xa2, 0x02, 0x0a, + 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 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, 0xc1, 0x01, 0xca, 0x41, 0x66, 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0xca, 0x41, 0x60, 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x67, 0x6f, 0x6f, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, + 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0xc8, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01, 0xca, 0x41, 0x64, 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, - 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, - 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x12, 0xa2, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, - 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 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, 0xbc, 0x01, 0xca, - 0x41, 0x60, 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, + 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2c, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, + 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0xde, 0x02, 0x0a, + 0x14, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, - 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xc8, 0x02, 0x0a, 0x0c, - 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, - 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, - 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01, - 0xca, 0x41, 0x64, 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, - 0x6f, 0x72, 0x79, 0x2c, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x64, 0x3a, 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, - 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0xde, 0x02, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x46, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, - 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, 0xec, 0x01, 0xca, 0x41, 0x74, 0x0a, 0x38, + 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, + 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 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, 0xec, + 0x01, 0xca, 0x41, 0x74, 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x01, 0x2a, 0x22, 0x60, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0xed, 0x02, + 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, + 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, + 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 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, 0xf5, 0x01, 0xca, 0x41, 0x7a, 0x0a, 0x3b, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, + 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x65, 0x3a, 0x01, 0x2a, 0x22, 0x60, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, - 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, - 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0xed, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, - 0x63, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x01, 0x2a, 0x22, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, + 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0xd9, 0x02, + 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x69, 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, 0xe9, 0x01, + 0xca, 0x41, 0x72, 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, + 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x61, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0xe8, 0x02, 0x0a, 0x16, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 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, - 0xf5, 0x01, 0xca, 0x41, 0x7a, 0x0a, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0xf2, 0x01, 0xca, 0x41, 0x78, 0x0a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, - 0x01, 0x2a, 0x22, 0x63, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, - 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0xd9, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, - 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 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, 0xe9, 0x01, 0xca, 0x41, 0x72, 0x0a, 0x37, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, + 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x01, 0x2a, + 0x22, 0x62, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0xd7, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, - 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, - 0x01, 0x2a, 0x22, 0x5f, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, - 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, - 0x61, 0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x12, 0xe8, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x69, 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, 0xf2, 0x01, 0xca, 0x41, 0x78, 0x0a, - 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x01, 0x2a, 0x22, 0x62, 0x2f, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, - 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x49, - 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xd7, 0x01, 0x0a, 0x1f, 0x63, 0x6f, - 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, - 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, - 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x68, 0x61, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2544,10 +2562,15 @@ type ProductServiceClient interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates are not marked as [done][google.longrunning.Operation.done] until // they are obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. SetInventory(ctx context.Context, in *SetInventoryRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // It is recommended to use the + // [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] + // method instead of + // [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]. + // [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] + // achieves the same results but provides more fine-grained control over + // ingesting local inventory data. + // // Incrementally adds place IDs to // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]. // @@ -2569,10 +2592,15 @@ type ProductServiceClient interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. AddFulfillmentPlaces(ctx context.Context, in *AddFulfillmentPlacesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // It is recommended to use the + // [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] + // method instead of + // [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]. + // [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] + // achieves the same results but provides more fine-grained control over + // ingesting local inventory data. + // // Incrementally removes place IDs from a // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]. // @@ -2594,9 +2622,6 @@ type ProductServiceClient interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. RemoveFulfillmentPlaces(ctx context.Context, in *RemoveFulfillmentPlacesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Updates local inventory information for a // [Product][google.cloud.retail.v2alpha.Product] at a list of places, while @@ -2626,9 +2651,6 @@ type ProductServiceClient interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. AddLocalInventories(ctx context.Context, in *AddLocalInventoriesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Remove local inventory information for a // [Product][google.cloud.retail.v2alpha.Product] at a list of places at a @@ -2656,9 +2678,6 @@ type ProductServiceClient interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. RemoveLocalInventories(ctx context.Context, in *RemoveLocalInventoriesRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) } @@ -2865,10 +2884,15 @@ type ProductServiceServer interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates are not marked as [done][google.longrunning.Operation.done] until // they are obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. SetInventory(context.Context, *SetInventoryRequest) (*longrunningpb.Operation, error) + // It is recommended to use the + // [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] + // method instead of + // [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]. + // [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories] + // achieves the same results but provides more fine-grained control over + // ingesting local inventory data. + // // Incrementally adds place IDs to // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]. // @@ -2890,10 +2914,15 @@ type ProductServiceServer interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. AddFulfillmentPlaces(context.Context, *AddFulfillmentPlacesRequest) (*longrunningpb.Operation, error) + // It is recommended to use the + // [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] + // method instead of + // [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]. + // [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories] + // achieves the same results but provides more fine-grained control over + // ingesting local inventory data. + // // Incrementally removes place IDs from a // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]. // @@ -2915,9 +2944,6 @@ type ProductServiceServer interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. RemoveFulfillmentPlaces(context.Context, *RemoveFulfillmentPlacesRequest) (*longrunningpb.Operation, error) // Updates local inventory information for a // [Product][google.cloud.retail.v2alpha.Product] at a list of places, while @@ -2947,9 +2973,6 @@ type ProductServiceServer interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. AddLocalInventories(context.Context, *AddLocalInventoriesRequest) (*longrunningpb.Operation, error) // Remove local inventory information for a // [Product][google.cloud.retail.v2alpha.Product] at a list of places at a @@ -2977,9 +3000,6 @@ type ProductServiceServer interface { // [Operation][google.longrunning.Operation]s associated with the stale // updates will not be marked as [done][google.longrunning.Operation.done] // until being obsolete. - // - // This feature is only available for users who have Retail Search enabled. - // Enable Retail Search on Cloud Console before using this feature. RemoveLocalInventories(context.Context, *RemoveLocalInventoriesRequest) (*longrunningpb.Operation, error) } diff --git a/retail/apiv2alpha/retailpb/search_service.pb.go b/retail/apiv2alpha/retailpb/search_service.pb.go index 043c65971e65..194f05202aba 100755 --- a/retail/apiv2alpha/retailpb/search_service.pb.go +++ b/retail/apiv2alpha/retailpb/search_service.pb.go @@ -508,7 +508,7 @@ type SearchRequest struct { OrderBy string `protobuf:"bytes,11,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` // Facet specifications for faceted search. If empty, no facets are returned. // - // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error + // A maximum of 200 values are allowed. Otherwise, an INVALID_ARGUMENT error // is returned. FacetSpecs []*SearchRequest_FacetSpec `protobuf:"bytes,12,rep,name=facet_specs,json=facetSpecs,proto3" json:"facet_specs,omitempty"` // Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic @@ -622,7 +622,7 @@ type SearchRequest struct { // If this field is set to an invalid value other than these, an // INVALID_ARGUMENT error is returned. VariantRollupKeys []string `protobuf:"bytes,17,rep,name=variant_rollup_keys,json=variantRollupKeys,proto3" json:"variant_rollup_keys,omitempty"` - // The categories associated with a category page. Required for category + // The categories associated with a category page. Must be set for category // navigation queries to achieve good search quality. The format should be // the same as // [UserEvent.page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories]; @@ -670,6 +670,13 @@ type SearchRequest struct { // The spell correction specification that specifies the mode under // which spell correction will take effect. SpellCorrectionSpec *SearchRequest_SpellCorrectionSpec `protobuf:"bytes,35,opt,name=spell_correction_spec,json=spellCorrectionSpec,proto3,oneof" json:"spell_correction_spec,omitempty"` + // The entity for customers that may run multiple different entities, domains, + // sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, + // `google.com`, `youtube.com`, etc. + // If this is set, it should be exactly matched with + // [UserEvent.entity][google.cloud.retail.v2alpha.UserEvent.entity] to get + // search results boosted by entity. + Entity string `protobuf:"bytes,38,opt,name=entity,proto3" json:"entity,omitempty"` } func (x *SearchRequest) Reset() { @@ -859,6 +866,13 @@ func (x *SearchRequest) GetSpellCorrectionSpec() *SearchRequest_SpellCorrectionS return nil } +func (x *SearchRequest) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + // Response message for // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search] // method. @@ -905,6 +919,10 @@ type SearchResponse struct { // [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs] // that are not applied during serving. InvalidConditionBoostSpecs []*SearchRequest_BoostSpec_ConditionBoostSpec `protobuf:"bytes,14,rep,name=invalid_condition_boost_specs,json=invalidConditionBoostSpecs,proto3" json:"invalid_condition_boost_specs,omitempty"` + // Metadata related to A/B testing + // [Experiment][google.cloud.retail.v2alpha.Experiment] associated with this + // response. Only exists when an experiment is triggered. + ExperimentInfo []*ExperimentInfo `protobuf:"bytes,17,rep,name=experiment_info,json=experimentInfo,proto3" json:"experiment_info,omitempty"` } func (x *SearchResponse) Reset() { @@ -1009,6 +1027,95 @@ func (x *SearchResponse) GetInvalidConditionBoostSpecs() []*SearchRequest_BoostS return nil } +func (x *SearchResponse) GetExperimentInfo() []*ExperimentInfo { + if x != nil { + return x.ExperimentInfo + } + return nil +} + +// Metadata for active A/B testing [Experiments][]. +type ExperimentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Information associated with the specific experiment entity being recorded. + // + // Types that are assignable to ExperimentMetadata: + // *ExperimentInfo_ServingConfigExperiment_ + ExperimentMetadata isExperimentInfo_ExperimentMetadata `protobuf_oneof:"experiment_metadata"` + // The fully qualified resource name of the experiment that provides the + // serving config under test, should an active experiment exist. For example: + // `projects/*/locations/global/catalogs/default_catalog/experiments/experiment_id` + Experiment string `protobuf:"bytes,1,opt,name=experiment,proto3" json:"experiment,omitempty"` +} + +func (x *ExperimentInfo) Reset() { + *x = ExperimentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentInfo) ProtoMessage() {} + +func (x *ExperimentInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_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 ExperimentInfo.ProtoReflect.Descriptor instead. +func (*ExperimentInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{2} +} + +func (m *ExperimentInfo) GetExperimentMetadata() isExperimentInfo_ExperimentMetadata { + if m != nil { + return m.ExperimentMetadata + } + return nil +} + +func (x *ExperimentInfo) GetServingConfigExperiment() *ExperimentInfo_ServingConfigExperiment { + if x, ok := x.GetExperimentMetadata().(*ExperimentInfo_ServingConfigExperiment_); ok { + return x.ServingConfigExperiment + } + return nil +} + +func (x *ExperimentInfo) GetExperiment() string { + if x != nil { + return x.Experiment + } + return "" +} + +type isExperimentInfo_ExperimentMetadata interface { + isExperimentInfo_ExperimentMetadata() +} + +type ExperimentInfo_ServingConfigExperiment_ struct { + // A/B test between existing Cloud Retail Search + // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig]s. + ServingConfigExperiment *ExperimentInfo_ServingConfigExperiment `protobuf:"bytes,2,opt,name=serving_config_experiment,json=servingConfigExperiment,proto3,oneof"` +} + +func (*ExperimentInfo_ServingConfigExperiment_) isExperimentInfo_ExperimentMetadata() {} + // A facet specification to perform faceted search. type SearchRequest_FacetSpec struct { state protoimpl.MessageState @@ -1086,7 +1193,7 @@ type SearchRequest_FacetSpec struct { func (x *SearchRequest_FacetSpec) Reset() { *x = SearchRequest_FacetSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1099,7 +1206,7 @@ func (x *SearchRequest_FacetSpec) String() string { func (*SearchRequest_FacetSpec) ProtoMessage() {} func (x *SearchRequest_FacetSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1159,7 +1266,7 @@ type SearchRequest_DynamicFacetSpec struct { func (x *SearchRequest_DynamicFacetSpec) Reset() { *x = SearchRequest_DynamicFacetSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1172,7 +1279,7 @@ func (x *SearchRequest_DynamicFacetSpec) String() string { func (*SearchRequest_DynamicFacetSpec) ProtoMessage() {} func (x *SearchRequest_DynamicFacetSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1218,7 +1325,7 @@ type SearchRequest_BoostSpec struct { func (x *SearchRequest_BoostSpec) Reset() { *x = SearchRequest_BoostSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1231,7 +1338,7 @@ func (x *SearchRequest_BoostSpec) String() string { func (*SearchRequest_BoostSpec) ProtoMessage() {} func (x *SearchRequest_BoostSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1280,7 +1387,7 @@ type SearchRequest_QueryExpansionSpec struct { func (x *SearchRequest_QueryExpansionSpec) Reset() { *x = SearchRequest_QueryExpansionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1293,7 +1400,7 @@ func (x *SearchRequest_QueryExpansionSpec) String() string { func (*SearchRequest_QueryExpansionSpec) ProtoMessage() {} func (x *SearchRequest_QueryExpansionSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1337,7 +1444,7 @@ type SearchRequest_PersonalizationSpec struct { func (x *SearchRequest_PersonalizationSpec) Reset() { *x = SearchRequest_PersonalizationSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1457,7 @@ func (x *SearchRequest_PersonalizationSpec) String() string { func (*SearchRequest_PersonalizationSpec) ProtoMessage() {} func (x *SearchRequest_PersonalizationSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1388,7 +1495,7 @@ type SearchRequest_SpellCorrectionSpec struct { func (x *SearchRequest_SpellCorrectionSpec) Reset() { *x = SearchRequest_SpellCorrectionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1401,7 +1508,7 @@ func (x *SearchRequest_SpellCorrectionSpec) String() string { func (*SearchRequest_SpellCorrectionSpec) ProtoMessage() {} func (x *SearchRequest_SpellCorrectionSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1474,7 +1581,16 @@ type SearchRequest_FacetSpec_FacetKey struct { Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Set only if values should be bucketized into intervals. Must be set // for facets with numerical values. Must not be set for facet with text - // values. Maximum number of intervals is 30. + // values. Maximum number of intervals is 40. + // + // For all numerical facet keys that appear in the list of products from + // the catalog, the percentiles 0, 10, 30, 50, 70, 90 and 100 are + // computed from their distribution weekly. If the model assigns a high + // score to a numerical facet key and its intervals are not specified in + // the search request, these percentiles will become the bounds + // for its intervals and will be returned in the response. If the + // facet key intervals are specified in the request, then the specified + // intervals will be returned instead. Intervals []*Interval `protobuf:"bytes,2,rep,name=intervals,proto3" json:"intervals,omitempty"` // Only get facet for the given restricted values. For example, when using // "pickupInStore" as key and set restricted values to @@ -1572,7 +1688,7 @@ type SearchRequest_FacetSpec_FacetKey struct { func (x *SearchRequest_FacetSpec_FacetKey) Reset() { *x = SearchRequest_FacetSpec_FacetKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[9] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1585,7 +1701,7 @@ func (x *SearchRequest_FacetSpec_FacetKey) String() string { func (*SearchRequest_FacetSpec_FacetKey) ProtoMessage() {} func (x *SearchRequest_FacetSpec_FacetKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[9] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1706,7 +1822,7 @@ type SearchRequest_BoostSpec_ConditionBoostSpec struct { func (x *SearchRequest_BoostSpec_ConditionBoostSpec) Reset() { *x = SearchRequest_BoostSpec_ConditionBoostSpec{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1719,7 +1835,7 @@ func (x *SearchRequest_BoostSpec_ConditionBoostSpec) String() string { func (*SearchRequest_BoostSpec_ConditionBoostSpec) ProtoMessage() {} func (x *SearchRequest_BoostSpec_ConditionBoostSpec) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1841,7 +1957,7 @@ type SearchResponse_SearchResult struct { func (x *SearchResponse_SearchResult) Reset() { *x = SearchResponse_SearchResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1854,7 +1970,7 @@ func (x *SearchResponse_SearchResult) String() string { func (*SearchResponse_SearchResult) ProtoMessage() {} func (x *SearchResponse_SearchResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1930,7 +2046,7 @@ type SearchResponse_Facet struct { func (x *SearchResponse_Facet) Reset() { *x = SearchResponse_Facet{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1943,7 +2059,7 @@ func (x *SearchResponse_Facet) String() string { func (*SearchResponse_Facet) ProtoMessage() {} func (x *SearchResponse_Facet) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1999,7 +2115,7 @@ type SearchResponse_QueryExpansionInfo struct { func (x *SearchResponse_QueryExpansionInfo) Reset() { *x = SearchResponse_QueryExpansionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2012,7 +2128,7 @@ func (x *SearchResponse_QueryExpansionInfo) String() string { func (*SearchResponse_QueryExpansionInfo) ProtoMessage() {} func (x *SearchResponse_QueryExpansionInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2073,7 +2189,7 @@ type SearchResponse_Facet_FacetValue struct { func (x *SearchResponse_Facet_FacetValue) Reset() { *x = SearchResponse_Facet_FacetValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[16] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2086,7 +2202,7 @@ func (x *SearchResponse_Facet_FacetValue) String() string { func (*SearchResponse_Facet_FacetValue) ProtoMessage() {} func (x *SearchResponse_Facet_FacetValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[16] + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2162,6 +2278,70 @@ func (*SearchResponse_Facet_FacetValue_Value) isSearchResponse_Facet_FacetValue_ func (*SearchResponse_Facet_FacetValue_Interval) isSearchResponse_Facet_FacetValue_FacetValue() {} +// Metadata for active serving config A/B tests. +type ExperimentInfo_ServingConfigExperiment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fully qualified resource name of the original + // [SearchRequest.placement][google.cloud.retail.v2alpha.SearchRequest.placement] + // in the search request prior to reassignment by experiment API. For + // example: `projects/*/locations/*/catalogs/*/servingConfigs/*`. + OriginalServingConfig string `protobuf:"bytes,1,opt,name=original_serving_config,json=originalServingConfig,proto3" json:"original_serving_config,omitempty"` + // The fully qualified resource name of the serving config + // [VariantArm.serving_config_id][] responsible for generating the search + // response. For example: + // `projects/*/locations/*/catalogs/*/servingConfigs/*`. + ExperimentServingConfig string `protobuf:"bytes,2,opt,name=experiment_serving_config,json=experimentServingConfig,proto3" json:"experiment_serving_config,omitempty"` +} + +func (x *ExperimentInfo_ServingConfigExperiment) Reset() { + *x = ExperimentInfo_ServingConfigExperiment{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExperimentInfo_ServingConfigExperiment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExperimentInfo_ServingConfigExperiment) ProtoMessage() {} + +func (x *ExperimentInfo_ServingConfigExperiment) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExperimentInfo_ServingConfigExperiment.ProtoReflect.Descriptor instead. +func (*ExperimentInfo_ServingConfigExperiment) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *ExperimentInfo_ServingConfigExperiment) GetOriginalServingConfig() string { + if x != nil { + return x.OriginalServingConfig + } + return "" +} + +func (x *ExperimentInfo_ServingConfigExperiment) GetExperimentServingConfig() string { + if x != nil { + return x.ExperimentServingConfig + } + return "" +} + var File_google_cloud_retail_v2alpha_search_service_proto protoreflect.FileDescriptor var file_google_cloud_retail_v2alpha_search_service_proto_rawDesc = []byte{ @@ -2186,7 +2366,7 @@ var file_google_cloud_retail_v2alpha_search_service_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x80, 0x1a, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x1a, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x06, @@ -2275,276 +2455,320 @@ var file_google_cloud_retail_v2alpha_search_service_proto_rawDesc = []byte{ 0x73, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x13, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x88, 0x01, 0x01, - 0x1a, 0xbc, 0x04, 0x0a, 0x09, 0x46, 0x61, 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, - 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x4b, 0x65, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, - 0xcd, 0x02, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x74, - 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, - 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x1a, - 0xa1, 0x01, 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x61, 0x63, 0x65, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, - 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x61, 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x37, 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, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x1a, 0xb3, 0x02, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x7b, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, - 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x40, - 0x0a, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, - 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x17, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x1a, 0x48, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, - 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, - 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xf1, 0x01, 0x0a, 0x12, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x65, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, - 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x5f, 0x75, - 0x6e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x70, 0x69, 0x6e, 0x55, 0x6e, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3e, 0x0a, - 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, - 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x03, 0x1a, 0xa4, 0x01, - 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x34, - 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, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, - 0x45, 0x44, 0x10, 0x02, 0x1a, 0xab, 0x01, 0x0a, 0x13, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, - 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0xbc, 0x04, 0x0a, 0x09, 0x46, 0x61, 0x63, + 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5f, 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x46, 0x61, 0x63, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, + 0x61, 0x63, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x30, 0x0a, + 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x50, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xcd, 0x02, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, + 0x74, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x09, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, + 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, + 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x63, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, + 0x6d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x1a, 0xa1, 0x01, 0x0a, 0x10, 0x44, 0x79, 0x6e, 0x61, + 0x6d, 0x69, 0x63, 0x46, 0x61, 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3b, 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, 0x13, 0x0a, 0x0f, 0x53, 0x55, 0x47, 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, - 0x10, 0x02, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, - 0x12, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x43, 0x45, - 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, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x07, - 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x57, 0x45, 0x53, - 0x54, 0x10, 0x04, 0x22, 0x5b, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, - 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x43, 0x45, 0x54, - 0x45, 0x44, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x84, 0x0e, 0x0a, 0x0e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, - 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, 0x65, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, - 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, - 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x29, - 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x1d, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, - 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x1a, 0x69, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, - 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x99, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x46, 0x61, + 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x22, 0x37, 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, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, + 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x1a, 0xb3, 0x02, 0x0a, 0x09, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x7b, 0x0a, 0x15, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, - 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8b, 0x01, - 0x0a, 0x17, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x15, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x1a, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, + 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x17, 0x73, 0x6b, + 0x69, 0x70, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x48, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62, 0x6f, 0x6f, + 0x73, 0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x73, + 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0xf1, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x64, 0x0a, 0x1a, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 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, 0x30, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x18, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, - 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 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, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0xdf, 0x02, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, - 0x74, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, - 0x66, 0x61, 0x63, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x79, 0x6e, - 0x61, 0x6d, 0x69, 0x63, 0x46, 0x61, 0x63, 0x65, 0x74, 0x1a, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x61, - 0x63, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x43, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, + 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x34, 0x0a, 0x16, 0x70, 0x69, 0x6e, 0x5f, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x70, 0x69, 0x6e, 0x55, 0x6e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3e, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, + 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, + 0x55, 0x54, 0x4f, 0x10, 0x03, 0x1a, 0xa4, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, + 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x34, 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, 0x0c, + 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x1a, 0xab, 0x01, 0x0a, + 0x13, 0x53, 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, - 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x6b, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, - 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x32, 0xec, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xab, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa4, - 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, - 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, - 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x4a, 0x2f, 0x76, 0x32, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 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, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, - 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 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, 0xd6, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, + 0x70, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, + 0x65, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3b, 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, 0x13, 0x0a, 0x0f, 0x53, + 0x55, 0x47, 0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x02, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x12, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x52, + 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x43, 0x45, 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, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, + 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, + 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, 0x04, 0x22, 0x5b, 0x0a, 0x0a, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41, + 0x52, 0x43, 0x48, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, + 0x54, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, + 0x17, 0x0a, 0x13, 0x46, 0x41, 0x43, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, + 0x48, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x70, 0x65, + 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x22, 0xda, 0x0e, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x42, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, - 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, + 0x63, 0x65, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x1d, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, + 0x65, 0x63, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x1a, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x54, + 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x99, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x17, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x15, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x64, 0x0a, 0x1a, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 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, 0x30, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x5e, 0x0a, 0x18, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, + 0x70, 0x56, 0x61, 0x6c, 0x75, 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, 0x2c, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 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, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0xdf, 0x02, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x2e, + 0x46, 0x61, 0x63, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x66, 0x61, + 0x63, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, + 0x69, 0x63, 0x46, 0x61, 0x63, 0x65, 0x74, 0x1a, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x61, 0x63, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, + 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x69, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x1a, 0x6b, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x2e, 0x0a, 0x13, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x69, + 0x6e, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0xd6, 0x03, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x17, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, + 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0xe1, 0x01, + 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x17, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, + 0x23, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x19, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, + 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x15, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xec, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8f, 0x02, 0x0a, 0x06, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xab, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa4, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x53, 0x3a, 0x01, 0x2a, + 0x22, 0x4e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x6d, 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, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x22, 0x4a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x6d, 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, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x49, 0xca, 0x41, + 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0xd0, 0x02, 0xea, 0x41, 0x77, 0x0a, 0x20, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x7d, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -2560,7 +2784,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP() []byte } var file_google_cloud_retail_v2alpha_search_service_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_google_cloud_retail_v2alpha_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_google_cloud_retail_v2alpha_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_google_cloud_retail_v2alpha_search_service_proto_goTypes = []interface{}{ (SearchRequest_RelevanceThreshold)(0), // 0: google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold (SearchRequest_SearchMode)(0), // 1: google.cloud.retail.v2alpha.SearchRequest.SearchMode @@ -2570,63 +2794,67 @@ var file_google_cloud_retail_v2alpha_search_service_proto_goTypes = []interface{ (SearchRequest_SpellCorrectionSpec_Mode)(0), // 5: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode (*SearchRequest)(nil), // 6: google.cloud.retail.v2alpha.SearchRequest (*SearchResponse)(nil), // 7: google.cloud.retail.v2alpha.SearchResponse - (*SearchRequest_FacetSpec)(nil), // 8: google.cloud.retail.v2alpha.SearchRequest.FacetSpec - (*SearchRequest_DynamicFacetSpec)(nil), // 9: google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec - (*SearchRequest_BoostSpec)(nil), // 10: google.cloud.retail.v2alpha.SearchRequest.BoostSpec - (*SearchRequest_QueryExpansionSpec)(nil), // 11: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec - (*SearchRequest_PersonalizationSpec)(nil), // 12: google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec - (*SearchRequest_SpellCorrectionSpec)(nil), // 13: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec - nil, // 14: google.cloud.retail.v2alpha.SearchRequest.LabelsEntry - (*SearchRequest_FacetSpec_FacetKey)(nil), // 15: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey - (*SearchRequest_BoostSpec_ConditionBoostSpec)(nil), // 16: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec - (*SearchResponse_SearchResult)(nil), // 17: google.cloud.retail.v2alpha.SearchResponse.SearchResult - (*SearchResponse_Facet)(nil), // 18: google.cloud.retail.v2alpha.SearchResponse.Facet - (*SearchResponse_QueryExpansionInfo)(nil), // 19: google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo - nil, // 20: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry - nil, // 21: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry - (*SearchResponse_Facet_FacetValue)(nil), // 22: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue - (*UserInfo)(nil), // 23: google.cloud.retail.v2alpha.UserInfo - (*Interval)(nil), // 24: google.cloud.retail.v2alpha.Interval - (*Product)(nil), // 25: google.cloud.retail.v2alpha.Product - (*fieldmaskpb.FieldMask)(nil), // 26: google.protobuf.FieldMask - (*structpb.Value)(nil), // 27: google.protobuf.Value + (*ExperimentInfo)(nil), // 8: google.cloud.retail.v2alpha.ExperimentInfo + (*SearchRequest_FacetSpec)(nil), // 9: google.cloud.retail.v2alpha.SearchRequest.FacetSpec + (*SearchRequest_DynamicFacetSpec)(nil), // 10: google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec + (*SearchRequest_BoostSpec)(nil), // 11: google.cloud.retail.v2alpha.SearchRequest.BoostSpec + (*SearchRequest_QueryExpansionSpec)(nil), // 12: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec + (*SearchRequest_PersonalizationSpec)(nil), // 13: google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec + (*SearchRequest_SpellCorrectionSpec)(nil), // 14: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec + nil, // 15: google.cloud.retail.v2alpha.SearchRequest.LabelsEntry + (*SearchRequest_FacetSpec_FacetKey)(nil), // 16: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey + (*SearchRequest_BoostSpec_ConditionBoostSpec)(nil), // 17: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec + (*SearchResponse_SearchResult)(nil), // 18: google.cloud.retail.v2alpha.SearchResponse.SearchResult + (*SearchResponse_Facet)(nil), // 19: google.cloud.retail.v2alpha.SearchResponse.Facet + (*SearchResponse_QueryExpansionInfo)(nil), // 20: google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo + nil, // 21: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry + nil, // 22: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry + (*SearchResponse_Facet_FacetValue)(nil), // 23: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue + (*ExperimentInfo_ServingConfigExperiment)(nil), // 24: google.cloud.retail.v2alpha.ExperimentInfo.ServingConfigExperiment + (*UserInfo)(nil), // 25: google.cloud.retail.v2alpha.UserInfo + (*Interval)(nil), // 26: google.cloud.retail.v2alpha.Interval + (*Product)(nil), // 27: google.cloud.retail.v2alpha.Product + (*fieldmaskpb.FieldMask)(nil), // 28: google.protobuf.FieldMask + (*structpb.Value)(nil), // 29: google.protobuf.Value } var file_google_cloud_retail_v2alpha_search_service_proto_depIdxs = []int32{ - 23, // 0: google.cloud.retail.v2alpha.SearchRequest.user_info:type_name -> google.cloud.retail.v2alpha.UserInfo - 8, // 1: google.cloud.retail.v2alpha.SearchRequest.facet_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.FacetSpec - 9, // 2: google.cloud.retail.v2alpha.SearchRequest.dynamic_facet_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec - 10, // 3: google.cloud.retail.v2alpha.SearchRequest.boost_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec - 11, // 4: google.cloud.retail.v2alpha.SearchRequest.query_expansion_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec + 25, // 0: google.cloud.retail.v2alpha.SearchRequest.user_info:type_name -> google.cloud.retail.v2alpha.UserInfo + 9, // 1: google.cloud.retail.v2alpha.SearchRequest.facet_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.FacetSpec + 10, // 2: google.cloud.retail.v2alpha.SearchRequest.dynamic_facet_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec + 11, // 3: google.cloud.retail.v2alpha.SearchRequest.boost_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec + 12, // 4: google.cloud.retail.v2alpha.SearchRequest.query_expansion_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec 0, // 5: google.cloud.retail.v2alpha.SearchRequest.relevance_threshold:type_name -> google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold 1, // 6: google.cloud.retail.v2alpha.SearchRequest.search_mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.SearchMode - 12, // 7: google.cloud.retail.v2alpha.SearchRequest.personalization_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec - 14, // 8: google.cloud.retail.v2alpha.SearchRequest.labels:type_name -> google.cloud.retail.v2alpha.SearchRequest.LabelsEntry - 13, // 9: google.cloud.retail.v2alpha.SearchRequest.spell_correction_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec - 17, // 10: google.cloud.retail.v2alpha.SearchResponse.results:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult - 18, // 11: google.cloud.retail.v2alpha.SearchResponse.facets:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet - 19, // 12: google.cloud.retail.v2alpha.SearchResponse.query_expansion_info:type_name -> google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo - 16, // 13: google.cloud.retail.v2alpha.SearchResponse.invalid_condition_boost_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec - 15, // 14: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.facet_key:type_name -> google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey - 2, // 15: google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode - 16, // 16: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec - 3, // 17: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.condition:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition - 4, // 18: google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode - 5, // 19: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode - 24, // 20: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.intervals:type_name -> google.cloud.retail.v2alpha.Interval - 25, // 21: google.cloud.retail.v2alpha.SearchResponse.SearchResult.product:type_name -> google.cloud.retail.v2alpha.Product - 20, // 22: google.cloud.retail.v2alpha.SearchResponse.SearchResult.matching_variant_fields:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry - 21, // 23: google.cloud.retail.v2alpha.SearchResponse.SearchResult.variant_rollup_values:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry - 22, // 24: google.cloud.retail.v2alpha.SearchResponse.Facet.values:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue - 26, // 25: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry.value:type_name -> google.protobuf.FieldMask - 27, // 26: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry.value:type_name -> google.protobuf.Value - 24, // 27: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.interval:type_name -> google.cloud.retail.v2alpha.Interval - 6, // 28: google.cloud.retail.v2alpha.SearchService.Search:input_type -> google.cloud.retail.v2alpha.SearchRequest - 7, // 29: google.cloud.retail.v2alpha.SearchService.Search:output_type -> google.cloud.retail.v2alpha.SearchResponse - 29, // [29:30] is the sub-list for method output_type - 28, // [28:29] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 13, // 7: google.cloud.retail.v2alpha.SearchRequest.personalization_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec + 15, // 8: google.cloud.retail.v2alpha.SearchRequest.labels:type_name -> google.cloud.retail.v2alpha.SearchRequest.LabelsEntry + 14, // 9: google.cloud.retail.v2alpha.SearchRequest.spell_correction_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec + 18, // 10: google.cloud.retail.v2alpha.SearchResponse.results:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult + 19, // 11: google.cloud.retail.v2alpha.SearchResponse.facets:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet + 20, // 12: google.cloud.retail.v2alpha.SearchResponse.query_expansion_info:type_name -> google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo + 17, // 13: google.cloud.retail.v2alpha.SearchResponse.invalid_condition_boost_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec + 8, // 14: google.cloud.retail.v2alpha.SearchResponse.experiment_info:type_name -> google.cloud.retail.v2alpha.ExperimentInfo + 24, // 15: google.cloud.retail.v2alpha.ExperimentInfo.serving_config_experiment:type_name -> google.cloud.retail.v2alpha.ExperimentInfo.ServingConfigExperiment + 16, // 16: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.facet_key:type_name -> google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey + 2, // 17: google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode + 17, // 18: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec + 3, // 19: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.condition:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition + 4, // 20: google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode + 5, // 21: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.mode:type_name -> google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode + 26, // 22: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.intervals:type_name -> google.cloud.retail.v2alpha.Interval + 27, // 23: google.cloud.retail.v2alpha.SearchResponse.SearchResult.product:type_name -> google.cloud.retail.v2alpha.Product + 21, // 24: google.cloud.retail.v2alpha.SearchResponse.SearchResult.matching_variant_fields:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry + 22, // 25: google.cloud.retail.v2alpha.SearchResponse.SearchResult.variant_rollup_values:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry + 23, // 26: google.cloud.retail.v2alpha.SearchResponse.Facet.values:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue + 28, // 27: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry.value:type_name -> google.protobuf.FieldMask + 29, // 28: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry.value:type_name -> google.protobuf.Value + 26, // 29: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.interval:type_name -> google.cloud.retail.v2alpha.Interval + 6, // 30: google.cloud.retail.v2alpha.SearchService.Search:input_type -> google.cloud.retail.v2alpha.SearchRequest + 7, // 31: google.cloud.retail.v2alpha.SearchService.Search:output_type -> google.cloud.retail.v2alpha.SearchResponse + 31, // [31:32] is the sub-list for method output_type + 30, // [30:31] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_google_cloud_retail_v2alpha_search_service_proto_init() } @@ -2662,7 +2890,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRequest_FacetSpec); i { + switch v := v.(*ExperimentInfo); i { case 0: return &v.state case 1: @@ -2674,7 +2902,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRequest_DynamicFacetSpec); i { + switch v := v.(*SearchRequest_FacetSpec); i { case 0: return &v.state case 1: @@ -2686,7 +2914,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRequest_BoostSpec); i { + switch v := v.(*SearchRequest_DynamicFacetSpec); i { case 0: return &v.state case 1: @@ -2698,7 +2926,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRequest_QueryExpansionSpec); i { + switch v := v.(*SearchRequest_BoostSpec); i { case 0: return &v.state case 1: @@ -2710,7 +2938,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchRequest_PersonalizationSpec); i { + switch v := v.(*SearchRequest_QueryExpansionSpec); i { case 0: return &v.state case 1: @@ -2722,6 +2950,18 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest_PersonalizationSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest_SpellCorrectionSpec); i { case 0: return &v.state @@ -2733,7 +2973,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest_FacetSpec_FacetKey); i { case 0: return &v.state @@ -2745,7 +2985,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchRequest_BoostSpec_ConditionBoostSpec); i { case 0: return &v.state @@ -2757,7 +2997,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_SearchResult); i { case 0: return &v.state @@ -2769,7 +3009,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Facet); i { case 0: return &v.state @@ -2781,7 +3021,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_QueryExpansionInfo); i { case 0: return &v.state @@ -2793,7 +3033,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchResponse_Facet_FacetValue); i { case 0: return &v.state @@ -2805,10 +3045,25 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { return nil } } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExperimentInfo_ServingConfigExperiment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*ExperimentInfo_ServingConfigExperiment_)(nil), + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5].OneofWrappers = []interface{}{} + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[17].OneofWrappers = []interface{}{ (*SearchResponse_Facet_FacetValue_Value)(nil), (*SearchResponse_Facet_FacetValue_Interval)(nil), } @@ -2818,7 +3073,7 @@ func file_google_cloud_retail_v2alpha_search_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_retail_v2alpha_search_service_proto_rawDesc, NumEnums: 6, - NumMessages: 17, + NumMessages: 19, NumExtensions: 0, NumServices: 1, }, diff --git a/retail/apiv2alpha/retailpb/serving_config.pb.go b/retail/apiv2alpha/retailpb/serving_config.pb.go index 05f227e09fe4..8d51a0e95360 100755 --- a/retail/apiv2alpha/retailpb/serving_config.pb.go +++ b/retail/apiv2alpha/retailpb/serving_config.pb.go @@ -37,7 +37,6 @@ const ( ) // What type of diversity - data or rule based. -// If none is specified, default to rule based. type ServingConfig_DiversityType int32 const ( @@ -126,7 +125,7 @@ type ServingConfig struct { // Allowed values are: // // * `no-price-reranking` - // * `low-price-raranking` + // * `low-price-reranking` // * `medium-price-reranking` // * `high-price-reranking` // @@ -265,7 +264,9 @@ type ServingConfig struct { // is // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION]. DiversityLevel string `protobuf:"bytes,8,opt,name=diversity_level,json=diversityLevel,proto3" json:"diversity_level,omitempty"` - // What kind of diversity to use - data driven or rule based. + // What kind of diversity to use - data driven or rule based. If unset, the + // server behavior defaults to + // [RULE_BASED_DIVERSITY][google.cloud.retail.v2alpha.ServingConfig.DiversityType.RULE_BASED_DIVERSITY]. DiversityType ServingConfig_DiversityType `protobuf:"varint,20,opt,name=diversity_type,json=diversityType,proto3,enum=google.cloud.retail.v2alpha.ServingConfig_DiversityType" json:"diversity_type,omitempty"` // Whether to add additional category filters on the `similar-items` model. // If not specified, we enable it by default. diff --git a/retail/apiv2alpha/retailpb/user_event.pb.go b/retail/apiv2alpha/retailpb/user_event.pb.go index 9a73cfb5ba15..b068c1707abe 100755 --- a/retail/apiv2alpha/retailpb/user_event.pb.go +++ b/retail/apiv2alpha/retailpb/user_event.pb.go @@ -262,6 +262,12 @@ type UserEvent struct { // When using the client side event reporting with JavaScript pixel and Google // Tag Manager, this value is filled in automatically. PageViewId string `protobuf:"bytes,15,opt,name=page_view_id,json=pageViewId,proto3" json:"page_view_id,omitempty"` + // The entity for customers that may run multiple different entities, domains, + // sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, + // `google.com`, `youtube.com`, etc. + // It is recommended to set this field to get better per-entity search, + // completion and prediction results. + Entity string `protobuf:"bytes,23,opt,name=entity,proto3" json:"entity,omitempty"` } func (x *UserEvent) Reset() { @@ -436,6 +442,13 @@ func (x *UserEvent) GetPageViewId() string { return "" } +func (x *UserEvent) GetEntity() string { + if x != nil { + return x.Entity + } + return "" +} + // Detailed product information associated with a user event. type ProductDetail struct { state protoimpl.MessageState @@ -700,7 +713,7 @@ var file_google_cloud_retail_v2alpha_user_event_proto_rawDesc = []byte{ 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xa7, 0x08, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x74, 0x6f, 0x22, 0xbf, 0x08, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, @@ -759,58 +772,59 @@ var file_google_cloud_retail_v2alpha_user_event_proto_rawDesc = []byte{ 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x1a, - 0x6b, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 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, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, - 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x43, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, - 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, - 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x76, - 0x65, 0x6e, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x74, 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, - 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x28, - 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x42, 0xd2, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x55, 0x73, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, - 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, - 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x6b, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 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, 0x42, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x50, 0x75, + 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x74, + 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x42, 0xd2, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, + 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, + 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/retail/apiv2alpha/retailpb/user_event_service.pb.go b/retail/apiv2alpha/retailpb/user_event_service.pb.go index e4889b19c971..1e00ccb26759 100755 --- a/retail/apiv2alpha/retailpb/user_event_service.pb.go +++ b/retail/apiv2alpha/retailpb/user_event_service.pb.go @@ -294,7 +294,7 @@ type isCollectUserEventRequest_ConversionRule interface { type CollectUserEventRequest_PrebuiltRule struct { // The prebuilt rule name that can convert a specific type of raw_json. - // For example: "default_schema/v1.0" + // For example: "ga4_bq" rule for the GA4 user event schema. PrebuiltRule string `protobuf:"bytes,6,opt,name=prebuilt_rule,json=prebuiltRule,proto3,oneof"` } diff --git a/workstations/apiv1/doc.go b/workstations/apiv1/doc.go new file mode 100755 index 000000000000..22afec3c2f0d --- /dev/null +++ b/workstations/apiv1/doc.go @@ -0,0 +1,193 @@ +// 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 +// +// 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 workstations is an auto-generated package for the +// Cloud Workstations API. +// +// NOTE: This package is in beta. It is not stable, and may be subject to changes. +// +// # General documentation +// +// For information about setting deadlines, reusing contexts, and more +// please visit https://pkg.go.dev/cloud.google.com/go. +// +// # Example usage +// +// To get started with this package, create a client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := workstations.NewClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// The client will use your default application credentials. Clients should be reused instead of created as needed. +// The methods of Client are safe for concurrent use by multiple goroutines. +// The returned client must be Closed when it is done being used. +// +// # Using the Client +// +// The following is an example of making an API call with the newly created client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := workstations.NewClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// req := &workstationspb.GetWorkstationClusterRequest{ +// // TODO: Fill request struct fields. +// // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#GetWorkstationClusterRequest. +// } +// resp, err := c.GetWorkstationCluster(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// // TODO: Use resp. +// _ = resp +// +// # Use of Context +// +// The ctx passed to NewClient is used for authentication requests and +// for creating the underlying connection, but is not used for subsequent calls. +// Individual methods on the client use the ctx given to them. +// +// To close the open connection, use the Close() method. +package workstations // import "cloud.google.com/go/workstations/apiv1" + +import ( + "context" + "fmt" + "net/http" + "os" + "runtime" + "strconv" + "strings" + "unicode" + + "google.golang.org/api/option" + "google.golang.org/grpc/metadata" +) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context { + out, _ := metadata.FromOutgoingContext(ctx) + out = out.Copy() + for _, md := range mds { + for k, v := range md { + out[k] = append(out[k], v...) + } + } + return metadata.NewOutgoingContext(ctx, out) +} + +func checkDisableDeadlines() (bool, error) { + raw, ok := os.LookupEnv("GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE") + if !ok { + return false, nil + } + + b, err := strconv.ParseBool(raw) + return b, err +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + } +} + +// versionGo returns the Go runtime version. The returned string +// has no whitespace, suitable for reporting in header. +func versionGo() string { + const develPrefix = "devel +" + + s := runtime.Version() + if strings.HasPrefix(s, develPrefix) { + s = s[len(develPrefix):] + if p := strings.IndexFunc(s, unicode.IsSpace); p >= 0 { + s = s[:p] + } + return s + } + + notSemverRune := func(r rune) bool { + return !strings.ContainsRune("0123456789.", r) + } + + if strings.HasPrefix(s, "go1") { + s = s[2:] + var prerelease string + if p := strings.IndexFunc(s, notSemverRune); p >= 0 { + s, prerelease = s[:p], s[p:] + } + if strings.HasSuffix(s, ".") { + s += "0" + } else if strings.Count(s, ".") < 2 { + s += ".0" + } + if prerelease != "" { + s += "-" + prerelease + } + return s + } + return "UNKNOWN" +} + +// maybeUnknownEnum wraps the given proto-JSON parsing error if it is the result +// of receiving an unknown enum value. +func maybeUnknownEnum(err error) error { + if strings.Contains(err.Error(), "invalid value for enum type") { + err = fmt.Errorf("received an unknown enum value; a later version of the library may support it: %w", err) + } + return err +} + +// buildHeaders extracts metadata from the outgoing context, joins it with any other +// given metadata, and converts them into a http.Header. +func buildHeaders(ctx context.Context, mds ...metadata.MD) http.Header { + if cmd, ok := metadata.FromOutgoingContext(ctx); ok { + mds = append(mds, cmd) + } + md := metadata.Join(mds...) + return http.Header(md) +} diff --git a/workstations/apiv1/gapic_metadata.json b/workstations/apiv1/gapic_metadata.json new file mode 100644 index 000000000000..766c27607282 --- /dev/null +++ b/workstations/apiv1/gapic_metadata.json @@ -0,0 +1,397 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods.", + "language": "go", + "protoPackage": "google.cloud.workstations.v1", + "libraryPackage": "cloud.google.com/go/workstations/apiv1", + "services": { + "Locations": { + "clients": { + "grpc": { + "libraryClient": "LocationsClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + }, + "rest": { + "libraryClient": "LocationsClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + } + } + }, + "Workstations": { + "clients": { + "grpc": { + "libraryClient": "Client", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateWorkstation": { + "methods": [ + "CreateWorkstation" + ] + }, + "CreateWorkstationCluster": { + "methods": [ + "CreateWorkstationCluster" + ] + }, + "CreateWorkstationConfig": { + "methods": [ + "CreateWorkstationConfig" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteWorkstation": { + "methods": [ + "DeleteWorkstation" + ] + }, + "DeleteWorkstationCluster": { + "methods": [ + "DeleteWorkstationCluster" + ] + }, + "DeleteWorkstationConfig": { + "methods": [ + "DeleteWorkstationConfig" + ] + }, + "GenerateAccessToken": { + "methods": [ + "GenerateAccessToken" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetWorkstation": { + "methods": [ + "GetWorkstation" + ] + }, + "GetWorkstationCluster": { + "methods": [ + "GetWorkstationCluster" + ] + }, + "GetWorkstationConfig": { + "methods": [ + "GetWorkstationConfig" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListUsableWorkstationConfigs": { + "methods": [ + "ListUsableWorkstationConfigs" + ] + }, + "ListUsableWorkstations": { + "methods": [ + "ListUsableWorkstations" + ] + }, + "ListWorkstationClusters": { + "methods": [ + "ListWorkstationClusters" + ] + }, + "ListWorkstationConfigs": { + "methods": [ + "ListWorkstationConfigs" + ] + }, + "ListWorkstations": { + "methods": [ + "ListWorkstations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "StartWorkstation": { + "methods": [ + "StartWorkstation" + ] + }, + "StopWorkstation": { + "methods": [ + "StopWorkstation" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpdateWorkstation": { + "methods": [ + "UpdateWorkstation" + ] + }, + "UpdateWorkstationCluster": { + "methods": [ + "UpdateWorkstationCluster" + ] + }, + "UpdateWorkstationConfig": { + "methods": [ + "UpdateWorkstationConfig" + ] + } + } + }, + "rest": { + "libraryClient": "Client", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateWorkstation": { + "methods": [ + "CreateWorkstation" + ] + }, + "CreateWorkstationCluster": { + "methods": [ + "CreateWorkstationCluster" + ] + }, + "CreateWorkstationConfig": { + "methods": [ + "CreateWorkstationConfig" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteWorkstation": { + "methods": [ + "DeleteWorkstation" + ] + }, + "DeleteWorkstationCluster": { + "methods": [ + "DeleteWorkstationCluster" + ] + }, + "DeleteWorkstationConfig": { + "methods": [ + "DeleteWorkstationConfig" + ] + }, + "GenerateAccessToken": { + "methods": [ + "GenerateAccessToken" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetWorkstation": { + "methods": [ + "GetWorkstation" + ] + }, + "GetWorkstationCluster": { + "methods": [ + "GetWorkstationCluster" + ] + }, + "GetWorkstationConfig": { + "methods": [ + "GetWorkstationConfig" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListUsableWorkstationConfigs": { + "methods": [ + "ListUsableWorkstationConfigs" + ] + }, + "ListUsableWorkstations": { + "methods": [ + "ListUsableWorkstations" + ] + }, + "ListWorkstationClusters": { + "methods": [ + "ListWorkstationClusters" + ] + }, + "ListWorkstationConfigs": { + "methods": [ + "ListWorkstationConfigs" + ] + }, + "ListWorkstations": { + "methods": [ + "ListWorkstations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "StartWorkstation": { + "methods": [ + "StartWorkstation" + ] + }, + "StopWorkstation": { + "methods": [ + "StopWorkstation" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, + "UpdateWorkstation": { + "methods": [ + "UpdateWorkstation" + ] + }, + "UpdateWorkstationCluster": { + "methods": [ + "UpdateWorkstationCluster" + ] + }, + "UpdateWorkstationConfig": { + "methods": [ + "UpdateWorkstationConfig" + ] + } + } + } + } + } + } +} diff --git a/workstations/apiv1/locations_client.go b/workstations/apiv1/locations_client.go new file mode 100755 index 000000000000..511e57ab95de --- /dev/null +++ b/workstations/apiv1/locations_client.go @@ -0,0 +1,1197 @@ +// 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 +// +// 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 workstations + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + + 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/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newLocationsClientHook clientHook + +// LocationsCallOptions contains the retry settings for each method of LocationsClient. +type LocationsCallOptions struct { + ListLocations []gax.CallOption + GetLocation []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultLocationsGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("cloud.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("cloud.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://cloud.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultLocationsCallOptions() *LocationsCallOptions { + return &LocationsCallOptions{ + ListLocations: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultLocationsRESTCallOptions() *LocationsCallOptions { + return &LocationsCallOptions{ + ListLocations: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalLocationsClient is an interface that defines the methods available from Cloud Workstations API. +type internalLocationsClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + 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 +} + +// LocationsClient is a client for interacting with Cloud Workstations API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +type LocationsClient struct { + // The internal transport-dependent client. + internalClient internalLocationsClient + + // The call options for this service. + CallOptions *LocationsCallOptions +} + +// 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ListLocations lists information about the supported locations for this service. +func (c *LocationsClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *LocationsClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// locationsGRPCClient is a client for interacting with Cloud Workstations API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type locationsGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing LocationsClient + CallOptions **LocationsCallOptions + + // The gRPC API client. + locationsClient locationpb.LocationsClient + + operationsClient longrunningpb.OperationsClient + + iamPolicyClient iampb.IAMPolicyClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewLocationsClient creates a new locations client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +func NewLocationsClient(ctx context.Context, opts ...option.ClientOption) (*LocationsClient, error) { + clientOpts := defaultLocationsGRPCClientOptions() + if newLocationsClientHook != nil { + hookOpts, err := newLocationsClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := LocationsClient{CallOptions: defaultLocationsCallOptions()} + + c := &locationsGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + locationsClient: locationpb.NewLocationsClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(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 *locationsGRPCClient) 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 *locationsGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *locationsGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type locationsRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing LocationsClient + CallOptions **LocationsCallOptions +} + +// NewLocationsRESTClient creates a new locations rest client. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +func NewLocationsRESTClient(ctx context.Context, opts ...option.ClientOption) (*LocationsClient, error) { + clientOpts := append(defaultLocationsRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultLocationsRESTCallOptions() + c := &locationsRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &LocationsClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultLocationsRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://cloud.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://cloud.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://cloud.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 *locationsRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *locationsRESTClient) 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 *locationsRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *locationsGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// ListLocations lists information about the supported locations for this service. +func (c *locationsRESTClient) 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("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// GetLocation gets information about a location. +func (c *locationsRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *locationsRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetOptions().GetRequestedPolicyVersion() != 0 { + params.Add("options.requestedPolicyVersion", fmt.Sprintf("%v", req.GetOptions().GetRequestedPolicyVersion())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *locationsRESTClient) 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("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *locationsRESTClient) 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("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *locationsRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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(), 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() + + // 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 *locationsRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *locationsRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *locationsRESTClient) 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("/v1/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// LocationIterator manages a stream of *locationpb.Location. +type LocationIterator struct { + items []*locationpb.Location + 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 []*locationpb.Location, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *LocationIterator) 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 *LocationIterator) Next() (*locationpb.Location, error) { + var item *locationpb.Location + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LocationIterator) bufLen() int { + return len(it.items) +} + +func (it *LocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/workstations/apiv1/locations_client_example_test.go b/workstations/apiv1/locations_client_example_test.go new file mode 100644 index 000000000000..b80b9aab2f8a --- /dev/null +++ b/workstations/apiv1/locations_client_example_test.go @@ -0,0 +1,294 @@ +// 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 +// +// 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 workstations_test + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + workstations "cloud.google.com/go/workstations/apiv1" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewLocationsClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewLocationsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewLocationsRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewLocationsRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleLocationsClient_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 := workstations.NewLocationsClient(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 + } +} + +func ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 + } +} diff --git a/workstations/apiv1/version.go b/workstations/apiv1/version.go new file mode 100644 index 000000000000..8be25cd9333d --- /dev/null +++ b/workstations/apiv1/version.go @@ -0,0 +1,23 @@ +// 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 gapicgen. DO NOT EDIT. + +package workstations + +import "cloud.google.com/go/workstations/internal" + +func init() { + versionClient = internal.Version +} diff --git a/workstations/apiv1/workstations_client.go b/workstations/apiv1/workstations_client.go new file mode 100755 index 000000000000..1b554703202f --- /dev/null +++ b/workstations/apiv1/workstations_client.go @@ -0,0 +1,4545 @@ +// 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 +// +// 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 workstations + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + "time" + + 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" + workstationspb "cloud.google.com/go/workstations/apiv1/workstationspb" + 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/grpc/codes" + "google.golang.org/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newClientHook clientHook + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + GetWorkstationCluster []gax.CallOption + ListWorkstationClusters []gax.CallOption + CreateWorkstationCluster []gax.CallOption + UpdateWorkstationCluster []gax.CallOption + DeleteWorkstationCluster []gax.CallOption + GetWorkstationConfig []gax.CallOption + ListWorkstationConfigs []gax.CallOption + ListUsableWorkstationConfigs []gax.CallOption + CreateWorkstationConfig []gax.CallOption + UpdateWorkstationConfig []gax.CallOption + DeleteWorkstationConfig []gax.CallOption + GetWorkstation []gax.CallOption + ListWorkstations []gax.CallOption + ListUsableWorkstations []gax.CallOption + CreateWorkstation []gax.CallOption + UpdateWorkstation []gax.CallOption + DeleteWorkstation []gax.CallOption + StartWorkstation []gax.CallOption + StopWorkstation []gax.CallOption + GenerateAccessToken []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("workstations.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("workstations.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://workstations.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultCallOptions() *CallOptions { + return &CallOptions{ + GetWorkstationCluster: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListWorkstationClusters: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateWorkstationCluster: []gax.CallOption{}, + UpdateWorkstationCluster: []gax.CallOption{}, + DeleteWorkstationCluster: []gax.CallOption{}, + GetWorkstationConfig: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListWorkstationConfigs: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListUsableWorkstationConfigs: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateWorkstationConfig: []gax.CallOption{}, + UpdateWorkstationConfig: []gax.CallOption{}, + DeleteWorkstationConfig: []gax.CallOption{}, + GetWorkstation: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListWorkstations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListUsableWorkstations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateWorkstation: []gax.CallOption{}, + UpdateWorkstation: []gax.CallOption{}, + DeleteWorkstation: []gax.CallOption{}, + StartWorkstation: []gax.CallOption{}, + StopWorkstation: []gax.CallOption{}, + GenerateAccessToken: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.Unavailable, + }, gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultRESTCallOptions() *CallOptions { + return &CallOptions{ + GetWorkstationCluster: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListWorkstationClusters: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateWorkstationCluster: []gax.CallOption{}, + UpdateWorkstationCluster: []gax.CallOption{}, + DeleteWorkstationCluster: []gax.CallOption{}, + GetWorkstationConfig: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListWorkstationConfigs: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListUsableWorkstationConfigs: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateWorkstationConfig: []gax.CallOption{}, + UpdateWorkstationConfig: []gax.CallOption{}, + DeleteWorkstationConfig: []gax.CallOption{}, + GetWorkstation: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListWorkstations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListUsableWorkstations: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateWorkstation: []gax.CallOption{}, + UpdateWorkstation: []gax.CallOption{}, + DeleteWorkstation: []gax.CallOption{}, + StartWorkstation: []gax.CallOption{}, + StopWorkstation: []gax.CallOption{}, + GenerateAccessToken: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalClient is an interface that defines the methods available from Cloud Workstations API. +type internalClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + GetWorkstationCluster(context.Context, *workstationspb.GetWorkstationClusterRequest, ...gax.CallOption) (*workstationspb.WorkstationCluster, error) + ListWorkstationClusters(context.Context, *workstationspb.ListWorkstationClustersRequest, ...gax.CallOption) *WorkstationClusterIterator + CreateWorkstationCluster(context.Context, *workstationspb.CreateWorkstationClusterRequest, ...gax.CallOption) (*CreateWorkstationClusterOperation, error) + CreateWorkstationClusterOperation(name string) *CreateWorkstationClusterOperation + UpdateWorkstationCluster(context.Context, *workstationspb.UpdateWorkstationClusterRequest, ...gax.CallOption) (*UpdateWorkstationClusterOperation, error) + UpdateWorkstationClusterOperation(name string) *UpdateWorkstationClusterOperation + DeleteWorkstationCluster(context.Context, *workstationspb.DeleteWorkstationClusterRequest, ...gax.CallOption) (*DeleteWorkstationClusterOperation, error) + DeleteWorkstationClusterOperation(name string) *DeleteWorkstationClusterOperation + GetWorkstationConfig(context.Context, *workstationspb.GetWorkstationConfigRequest, ...gax.CallOption) (*workstationspb.WorkstationConfig, error) + ListWorkstationConfigs(context.Context, *workstationspb.ListWorkstationConfigsRequest, ...gax.CallOption) *WorkstationConfigIterator + ListUsableWorkstationConfigs(context.Context, *workstationspb.ListUsableWorkstationConfigsRequest, ...gax.CallOption) *WorkstationConfigIterator + CreateWorkstationConfig(context.Context, *workstationspb.CreateWorkstationConfigRequest, ...gax.CallOption) (*CreateWorkstationConfigOperation, error) + CreateWorkstationConfigOperation(name string) *CreateWorkstationConfigOperation + UpdateWorkstationConfig(context.Context, *workstationspb.UpdateWorkstationConfigRequest, ...gax.CallOption) (*UpdateWorkstationConfigOperation, error) + UpdateWorkstationConfigOperation(name string) *UpdateWorkstationConfigOperation + DeleteWorkstationConfig(context.Context, *workstationspb.DeleteWorkstationConfigRequest, ...gax.CallOption) (*DeleteWorkstationConfigOperation, error) + DeleteWorkstationConfigOperation(name string) *DeleteWorkstationConfigOperation + GetWorkstation(context.Context, *workstationspb.GetWorkstationRequest, ...gax.CallOption) (*workstationspb.Workstation, error) + ListWorkstations(context.Context, *workstationspb.ListWorkstationsRequest, ...gax.CallOption) *WorkstationIterator + ListUsableWorkstations(context.Context, *workstationspb.ListUsableWorkstationsRequest, ...gax.CallOption) *WorkstationIterator + CreateWorkstation(context.Context, *workstationspb.CreateWorkstationRequest, ...gax.CallOption) (*CreateWorkstationOperation, error) + CreateWorkstationOperation(name string) *CreateWorkstationOperation + UpdateWorkstation(context.Context, *workstationspb.UpdateWorkstationRequest, ...gax.CallOption) (*UpdateWorkstationOperation, error) + UpdateWorkstationOperation(name string) *UpdateWorkstationOperation + DeleteWorkstation(context.Context, *workstationspb.DeleteWorkstationRequest, ...gax.CallOption) (*DeleteWorkstationOperation, error) + DeleteWorkstationOperation(name string) *DeleteWorkstationOperation + StartWorkstation(context.Context, *workstationspb.StartWorkstationRequest, ...gax.CallOption) (*StartWorkstationOperation, error) + StartWorkstationOperation(name string) *StartWorkstationOperation + StopWorkstation(context.Context, *workstationspb.StopWorkstationRequest, ...gax.CallOption) (*StopWorkstationOperation, error) + StopWorkstationOperation(name string) *StopWorkstationOperation + GenerateAccessToken(context.Context, *workstationspb.GenerateAccessTokenRequest, ...gax.CallOption) (*workstationspb.GenerateAccessTokenResponse, error) + 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 +} + +// Client is a client for interacting with Cloud Workstations API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// Service for interacting with Cloud Workstations. +type Client struct { + // The internal transport-dependent client. + internalClient internalClient + + // The call options for this service. + CallOptions *CallOptions + + // 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 *Client) 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 *Client) 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 *Client) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// GetWorkstationCluster returns the requested workstation cluster. +func (c *Client) GetWorkstationCluster(ctx context.Context, req *workstationspb.GetWorkstationClusterRequest, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + return c.internalClient.GetWorkstationCluster(ctx, req, opts...) +} + +// ListWorkstationClusters returns all workstation clusters in the specified location. +func (c *Client) ListWorkstationClusters(ctx context.Context, req *workstationspb.ListWorkstationClustersRequest, opts ...gax.CallOption) *WorkstationClusterIterator { + return c.internalClient.ListWorkstationClusters(ctx, req, opts...) +} + +// CreateWorkstationCluster creates a new workstation cluster. +func (c *Client) CreateWorkstationCluster(ctx context.Context, req *workstationspb.CreateWorkstationClusterRequest, opts ...gax.CallOption) (*CreateWorkstationClusterOperation, error) { + return c.internalClient.CreateWorkstationCluster(ctx, req, opts...) +} + +// CreateWorkstationClusterOperation returns a new CreateWorkstationClusterOperation from a given name. +// The name must be that of a previously created CreateWorkstationClusterOperation, possibly from a different process. +func (c *Client) CreateWorkstationClusterOperation(name string) *CreateWorkstationClusterOperation { + return c.internalClient.CreateWorkstationClusterOperation(name) +} + +// UpdateWorkstationCluster updates an existing workstation cluster. +func (c *Client) UpdateWorkstationCluster(ctx context.Context, req *workstationspb.UpdateWorkstationClusterRequest, opts ...gax.CallOption) (*UpdateWorkstationClusterOperation, error) { + return c.internalClient.UpdateWorkstationCluster(ctx, req, opts...) +} + +// UpdateWorkstationClusterOperation returns a new UpdateWorkstationClusterOperation from a given name. +// The name must be that of a previously created UpdateWorkstationClusterOperation, possibly from a different process. +func (c *Client) UpdateWorkstationClusterOperation(name string) *UpdateWorkstationClusterOperation { + return c.internalClient.UpdateWorkstationClusterOperation(name) +} + +// DeleteWorkstationCluster deletes the specified workstation cluster. +func (c *Client) DeleteWorkstationCluster(ctx context.Context, req *workstationspb.DeleteWorkstationClusterRequest, opts ...gax.CallOption) (*DeleteWorkstationClusterOperation, error) { + return c.internalClient.DeleteWorkstationCluster(ctx, req, opts...) +} + +// DeleteWorkstationClusterOperation returns a new DeleteWorkstationClusterOperation from a given name. +// The name must be that of a previously created DeleteWorkstationClusterOperation, possibly from a different process. +func (c *Client) DeleteWorkstationClusterOperation(name string) *DeleteWorkstationClusterOperation { + return c.internalClient.DeleteWorkstationClusterOperation(name) +} + +// GetWorkstationConfig returns the requested workstation configuration. +func (c *Client) GetWorkstationConfig(ctx context.Context, req *workstationspb.GetWorkstationConfigRequest, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + return c.internalClient.GetWorkstationConfig(ctx, req, opts...) +} + +// ListWorkstationConfigs returns all WorkstationConfigs in the specified cluster. +func (c *Client) ListWorkstationConfigs(ctx context.Context, req *workstationspb.ListWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + return c.internalClient.ListWorkstationConfigs(ctx, req, opts...) +} + +// ListUsableWorkstationConfigs returns all workstation configurations in the specified cluster on which +// the caller has the “workstations.workstation.create” permission. +func (c *Client) ListUsableWorkstationConfigs(ctx context.Context, req *workstationspb.ListUsableWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + return c.internalClient.ListUsableWorkstationConfigs(ctx, req, opts...) +} + +// CreateWorkstationConfig creates a new workstation configuration. +func (c *Client) CreateWorkstationConfig(ctx context.Context, req *workstationspb.CreateWorkstationConfigRequest, opts ...gax.CallOption) (*CreateWorkstationConfigOperation, error) { + return c.internalClient.CreateWorkstationConfig(ctx, req, opts...) +} + +// CreateWorkstationConfigOperation returns a new CreateWorkstationConfigOperation from a given name. +// The name must be that of a previously created CreateWorkstationConfigOperation, possibly from a different process. +func (c *Client) CreateWorkstationConfigOperation(name string) *CreateWorkstationConfigOperation { + return c.internalClient.CreateWorkstationConfigOperation(name) +} + +// UpdateWorkstationConfig updates an existing workstation configuration. +func (c *Client) UpdateWorkstationConfig(ctx context.Context, req *workstationspb.UpdateWorkstationConfigRequest, opts ...gax.CallOption) (*UpdateWorkstationConfigOperation, error) { + return c.internalClient.UpdateWorkstationConfig(ctx, req, opts...) +} + +// UpdateWorkstationConfigOperation returns a new UpdateWorkstationConfigOperation from a given name. +// The name must be that of a previously created UpdateWorkstationConfigOperation, possibly from a different process. +func (c *Client) UpdateWorkstationConfigOperation(name string) *UpdateWorkstationConfigOperation { + return c.internalClient.UpdateWorkstationConfigOperation(name) +} + +// DeleteWorkstationConfig deletes the specified workstation configuration. +func (c *Client) DeleteWorkstationConfig(ctx context.Context, req *workstationspb.DeleteWorkstationConfigRequest, opts ...gax.CallOption) (*DeleteWorkstationConfigOperation, error) { + return c.internalClient.DeleteWorkstationConfig(ctx, req, opts...) +} + +// DeleteWorkstationConfigOperation returns a new DeleteWorkstationConfigOperation from a given name. +// The name must be that of a previously created DeleteWorkstationConfigOperation, possibly from a different process. +func (c *Client) DeleteWorkstationConfigOperation(name string) *DeleteWorkstationConfigOperation { + return c.internalClient.DeleteWorkstationConfigOperation(name) +} + +// GetWorkstation returns the requested workstation. +func (c *Client) GetWorkstation(ctx context.Context, req *workstationspb.GetWorkstationRequest, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + return c.internalClient.GetWorkstation(ctx, req, opts...) +} + +// ListWorkstations returns all Workstations using the specified config. +func (c *Client) ListWorkstations(ctx context.Context, req *workstationspb.ListWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + return c.internalClient.ListWorkstations(ctx, req, opts...) +} + +// ListUsableWorkstations returns all Workstations using the specified config on which the caller has +// the “workstations.workstations.use” permission. +func (c *Client) ListUsableWorkstations(ctx context.Context, req *workstationspb.ListUsableWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + return c.internalClient.ListUsableWorkstations(ctx, req, opts...) +} + +// CreateWorkstation creates a new workstation. +func (c *Client) CreateWorkstation(ctx context.Context, req *workstationspb.CreateWorkstationRequest, opts ...gax.CallOption) (*CreateWorkstationOperation, error) { + return c.internalClient.CreateWorkstation(ctx, req, opts...) +} + +// CreateWorkstationOperation returns a new CreateWorkstationOperation from a given name. +// The name must be that of a previously created CreateWorkstationOperation, possibly from a different process. +func (c *Client) CreateWorkstationOperation(name string) *CreateWorkstationOperation { + return c.internalClient.CreateWorkstationOperation(name) +} + +// UpdateWorkstation updates an existing workstation. +func (c *Client) UpdateWorkstation(ctx context.Context, req *workstationspb.UpdateWorkstationRequest, opts ...gax.CallOption) (*UpdateWorkstationOperation, error) { + return c.internalClient.UpdateWorkstation(ctx, req, opts...) +} + +// UpdateWorkstationOperation returns a new UpdateWorkstationOperation from a given name. +// The name must be that of a previously created UpdateWorkstationOperation, possibly from a different process. +func (c *Client) UpdateWorkstationOperation(name string) *UpdateWorkstationOperation { + return c.internalClient.UpdateWorkstationOperation(name) +} + +// DeleteWorkstation deletes the specified workstation. +func (c *Client) DeleteWorkstation(ctx context.Context, req *workstationspb.DeleteWorkstationRequest, opts ...gax.CallOption) (*DeleteWorkstationOperation, error) { + return c.internalClient.DeleteWorkstation(ctx, req, opts...) +} + +// DeleteWorkstationOperation returns a new DeleteWorkstationOperation from a given name. +// The name must be that of a previously created DeleteWorkstationOperation, possibly from a different process. +func (c *Client) DeleteWorkstationOperation(name string) *DeleteWorkstationOperation { + return c.internalClient.DeleteWorkstationOperation(name) +} + +// StartWorkstation starts running a workstation so that users can connect to it. +func (c *Client) StartWorkstation(ctx context.Context, req *workstationspb.StartWorkstationRequest, opts ...gax.CallOption) (*StartWorkstationOperation, error) { + return c.internalClient.StartWorkstation(ctx, req, opts...) +} + +// StartWorkstationOperation returns a new StartWorkstationOperation from a given name. +// The name must be that of a previously created StartWorkstationOperation, possibly from a different process. +func (c *Client) StartWorkstationOperation(name string) *StartWorkstationOperation { + return c.internalClient.StartWorkstationOperation(name) +} + +// StopWorkstation stops running a workstation, reducing costs. +func (c *Client) StopWorkstation(ctx context.Context, req *workstationspb.StopWorkstationRequest, opts ...gax.CallOption) (*StopWorkstationOperation, error) { + return c.internalClient.StopWorkstation(ctx, req, opts...) +} + +// StopWorkstationOperation returns a new StopWorkstationOperation from a given name. +// The name must be that of a previously created StopWorkstationOperation, possibly from a different process. +func (c *Client) StopWorkstationOperation(name string) *StopWorkstationOperation { + return c.internalClient.StopWorkstationOperation(name) +} + +// GenerateAccessToken returns a short-lived credential that can be used to send authenticated and +// authorized traffic to a workstation. +func (c *Client) GenerateAccessToken(ctx context.Context, req *workstationspb.GenerateAccessTokenRequest, opts ...gax.CallOption) (*workstationspb.GenerateAccessTokenResponse, error) { + return c.internalClient.GenerateAccessToken(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 *Client) 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 *Client) 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 *Client) 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 *Client) 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 *Client) 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 *Client) 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 *Client) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// gRPCClient is a client for interacting with Cloud Workstations API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type gRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions + + // The gRPC API client. + client workstationspb.WorkstationsClient + + // 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 + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewClient creates a new workstations client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Service for interacting with Cloud Workstations. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := defaultGRPCClientOptions() + if newClientHook != nil { + hookOpts, err := newClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := Client{CallOptions: defaultCallOptions()} + + c := &gRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + client: workstationspb.NewWorkstationsClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(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 *gRPCClient) 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 *gRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *gRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type restClient 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-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions +} + +// NewRESTClient creates a new workstations rest client. +// +// Service for interacting with Cloud Workstations. +func NewRESTClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := append(defaultRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultRESTCallOptions() + c := &restClient{ + 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 &Client{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://workstations.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://workstations.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://workstations.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 *restClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *restClient) 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 *restClient) Connection() *grpc.ClientConn { + return nil +} +func (c *gRPCClient) GetWorkstationCluster(ctx context.Context, req *workstationspb.GetWorkstationClusterRequest, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GetWorkstationCluster[0:len((*c.CallOptions).GetWorkstationCluster):len((*c.CallOptions).GetWorkstationCluster)], opts...) + var resp *workstationspb.WorkstationCluster + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetWorkstationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListWorkstationClusters(ctx context.Context, req *workstationspb.ListWorkstationClustersRequest, opts ...gax.CallOption) *WorkstationClusterIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListWorkstationClusters[0:len((*c.CallOptions).ListWorkstationClusters):len((*c.CallOptions).ListWorkstationClusters)], opts...) + it := &WorkstationClusterIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationClustersRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationCluster, string, error) { + resp := &workstationspb.ListWorkstationClustersResponse{} + 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.client.ListWorkstationClusters(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetWorkstationClusters(), 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 *gRPCClient) CreateWorkstationCluster(ctx context.Context, req *workstationspb.CreateWorkstationClusterRequest, opts ...gax.CallOption) (*CreateWorkstationClusterOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).CreateWorkstationCluster[0:len((*c.CallOptions).CreateWorkstationCluster):len((*c.CallOptions).CreateWorkstationCluster)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateWorkstationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateWorkstationCluster(ctx context.Context, req *workstationspb.UpdateWorkstationClusterRequest, opts ...gax.CallOption) (*UpdateWorkstationClusterOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation_cluster.name", url.QueryEscape(req.GetWorkstationCluster().GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).UpdateWorkstationCluster[0:len((*c.CallOptions).UpdateWorkstationCluster):len((*c.CallOptions).UpdateWorkstationCluster)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateWorkstationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteWorkstationCluster(ctx context.Context, req *workstationspb.DeleteWorkstationClusterRequest, opts ...gax.CallOption) (*DeleteWorkstationClusterOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).DeleteWorkstationCluster[0:len((*c.CallOptions).DeleteWorkstationCluster):len((*c.CallOptions).DeleteWorkstationCluster)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteWorkstationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetWorkstationConfig(ctx context.Context, req *workstationspb.GetWorkstationConfigRequest, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GetWorkstationConfig[0:len((*c.CallOptions).GetWorkstationConfig):len((*c.CallOptions).GetWorkstationConfig)], opts...) + var resp *workstationspb.WorkstationConfig + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetWorkstationConfig(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListWorkstationConfigs(ctx context.Context, req *workstationspb.ListWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListWorkstationConfigs[0:len((*c.CallOptions).ListWorkstationConfigs):len((*c.CallOptions).ListWorkstationConfigs)], opts...) + it := &WorkstationConfigIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationConfigsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationConfig, string, error) { + resp := &workstationspb.ListWorkstationConfigsResponse{} + 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.client.ListWorkstationConfigs(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetWorkstationConfigs(), 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 *gRPCClient) ListUsableWorkstationConfigs(ctx context.Context, req *workstationspb.ListUsableWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListUsableWorkstationConfigs[0:len((*c.CallOptions).ListUsableWorkstationConfigs):len((*c.CallOptions).ListUsableWorkstationConfigs)], opts...) + it := &WorkstationConfigIterator{} + req = proto.Clone(req).(*workstationspb.ListUsableWorkstationConfigsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationConfig, string, error) { + resp := &workstationspb.ListUsableWorkstationConfigsResponse{} + 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.client.ListUsableWorkstationConfigs(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetWorkstationConfigs(), 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 *gRPCClient) CreateWorkstationConfig(ctx context.Context, req *workstationspb.CreateWorkstationConfigRequest, opts ...gax.CallOption) (*CreateWorkstationConfigOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).CreateWorkstationConfig[0:len((*c.CallOptions).CreateWorkstationConfig):len((*c.CallOptions).CreateWorkstationConfig)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateWorkstationConfig(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateWorkstationConfig(ctx context.Context, req *workstationspb.UpdateWorkstationConfigRequest, opts ...gax.CallOption) (*UpdateWorkstationConfigOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation_config.name", url.QueryEscape(req.GetWorkstationConfig().GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).UpdateWorkstationConfig[0:len((*c.CallOptions).UpdateWorkstationConfig):len((*c.CallOptions).UpdateWorkstationConfig)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateWorkstationConfig(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteWorkstationConfig(ctx context.Context, req *workstationspb.DeleteWorkstationConfigRequest, opts ...gax.CallOption) (*DeleteWorkstationConfigOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).DeleteWorkstationConfig[0:len((*c.CallOptions).DeleteWorkstationConfig):len((*c.CallOptions).DeleteWorkstationConfig)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteWorkstationConfig(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetWorkstation(ctx context.Context, req *workstationspb.GetWorkstationRequest, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GetWorkstation[0:len((*c.CallOptions).GetWorkstation):len((*c.CallOptions).GetWorkstation)], opts...) + var resp *workstationspb.Workstation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListWorkstations(ctx context.Context, req *workstationspb.ListWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListWorkstations[0:len((*c.CallOptions).ListWorkstations):len((*c.CallOptions).ListWorkstations)], opts...) + it := &WorkstationIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.Workstation, string, error) { + resp := &workstationspb.ListWorkstationsResponse{} + 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.client.ListWorkstations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetWorkstations(), 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 *gRPCClient) ListUsableWorkstations(ctx context.Context, req *workstationspb.ListUsableWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).ListUsableWorkstations[0:len((*c.CallOptions).ListUsableWorkstations):len((*c.CallOptions).ListUsableWorkstations)], opts...) + it := &WorkstationIterator{} + req = proto.Clone(req).(*workstationspb.ListUsableWorkstationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.Workstation, string, error) { + resp := &workstationspb.ListUsableWorkstationsResponse{} + 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.client.ListUsableWorkstations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetWorkstations(), 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 *gRPCClient) CreateWorkstation(ctx context.Context, req *workstationspb.CreateWorkstationRequest, opts ...gax.CallOption) (*CreateWorkstationOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).CreateWorkstation[0:len((*c.CallOptions).CreateWorkstation):len((*c.CallOptions).CreateWorkstation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateWorkstation(ctx context.Context, req *workstationspb.UpdateWorkstationRequest, opts ...gax.CallOption) (*UpdateWorkstationOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation.name", url.QueryEscape(req.GetWorkstation().GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).UpdateWorkstation[0:len((*c.CallOptions).UpdateWorkstation):len((*c.CallOptions).UpdateWorkstation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteWorkstation(ctx context.Context, req *workstationspb.DeleteWorkstationRequest, opts ...gax.CallOption) (*DeleteWorkstationOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).DeleteWorkstation[0:len((*c.CallOptions).DeleteWorkstation):len((*c.CallOptions).DeleteWorkstation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) StartWorkstation(ctx context.Context, req *workstationspb.StartWorkstationRequest, opts ...gax.CallOption) (*StartWorkstationOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).StartWorkstation[0:len((*c.CallOptions).StartWorkstation):len((*c.CallOptions).StartWorkstation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.StartWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &StartWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) StopWorkstation(ctx context.Context, req *workstationspb.StopWorkstationRequest, opts ...gax.CallOption) (*StopWorkstationOperation, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).StopWorkstation[0:len((*c.CallOptions).StopWorkstation):len((*c.CallOptions).StopWorkstation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.StopWorkstation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &StopWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GenerateAccessToken(ctx context.Context, req *workstationspb.GenerateAccessTokenRequest, opts ...gax.CallOption) (*workstationspb.GenerateAccessTokenResponse, error) { + if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { + cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) + defer cancel() + ctx = cctx + } + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation", url.QueryEscape(req.GetWorkstation()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + opts = append((*c.CallOptions).GenerateAccessToken[0:len((*c.CallOptions).GenerateAccessToken):len((*c.CallOptions).GenerateAccessToken)], opts...) + var resp *workstationspb.GenerateAccessTokenResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GenerateAccessToken(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// GetWorkstationCluster returns the requested workstation cluster. +func (c *restClient) GetWorkstationCluster(ctx context.Context, req *workstationspb.GetWorkstationClusterRequest, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GetWorkstationCluster[0:len((*c.CallOptions).GetWorkstationCluster):len((*c.CallOptions).GetWorkstationCluster)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &workstationspb.WorkstationCluster{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListWorkstationClusters returns all workstation clusters in the specified location. +func (c *restClient) ListWorkstationClusters(ctx context.Context, req *workstationspb.ListWorkstationClustersRequest, opts ...gax.CallOption) *WorkstationClusterIterator { + it := &WorkstationClusterIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationClustersRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationCluster, string, error) { + resp := &workstationspb.ListWorkstationClustersResponse{} + 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("/v1/%v/workstationClusters", req.GetParent()) + + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetWorkstationClusters(), 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 +} + +// CreateWorkstationCluster creates a new workstation cluster. +func (c *restClient) CreateWorkstationCluster(ctx context.Context, req *workstationspb.CreateWorkstationClusterRequest, opts ...gax.CallOption) (*CreateWorkstationClusterOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstationCluster() + 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("/v1/%v/workstationClusters", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + params.Add("workstationClusterId", fmt.Sprintf("%v", req.GetWorkstationClusterId())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateWorkstationCluster updates an existing workstation cluster. +func (c *restClient) UpdateWorkstationCluster(ctx context.Context, req *workstationspb.UpdateWorkstationClusterRequest, opts ...gax.CallOption) (*UpdateWorkstationClusterOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstationCluster() + 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("/v1/%v", req.GetWorkstationCluster().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAllowMissing() { + params.Add("allowMissing", fmt.Sprintf("%v", req.GetAllowMissing())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask)) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation_cluster.name", url.QueryEscape(req.GetWorkstationCluster().GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("PATCH", 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteWorkstationCluster deletes the specified workstation cluster. +func (c *restClient) DeleteWorkstationCluster(ctx context.Context, req *workstationspb.DeleteWorkstationClusterRequest, opts ...gax.CallOption) (*DeleteWorkstationClusterOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetWorkstationConfig returns the requested workstation configuration. +func (c *restClient) GetWorkstationConfig(ctx context.Context, req *workstationspb.GetWorkstationConfigRequest, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GetWorkstationConfig[0:len((*c.CallOptions).GetWorkstationConfig):len((*c.CallOptions).GetWorkstationConfig)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &workstationspb.WorkstationConfig{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListWorkstationConfigs returns all WorkstationConfigs in the specified cluster. +func (c *restClient) ListWorkstationConfigs(ctx context.Context, req *workstationspb.ListWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + it := &WorkstationConfigIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationConfigsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationConfig, string, error) { + resp := &workstationspb.ListWorkstationConfigsResponse{} + 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("/v1/%v/workstationConfigs", req.GetParent()) + + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetWorkstationConfigs(), 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 +} + +// ListUsableWorkstationConfigs returns all workstation configurations in the specified cluster on which +// the caller has the “workstations.workstation.create” permission. +func (c *restClient) ListUsableWorkstationConfigs(ctx context.Context, req *workstationspb.ListUsableWorkstationConfigsRequest, opts ...gax.CallOption) *WorkstationConfigIterator { + it := &WorkstationConfigIterator{} + req = proto.Clone(req).(*workstationspb.ListUsableWorkstationConfigsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.WorkstationConfig, string, error) { + resp := &workstationspb.ListUsableWorkstationConfigsResponse{} + 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("/v1/%v/workstationConfigs:listUsable", req.GetParent()) + + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetWorkstationConfigs(), 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 +} + +// CreateWorkstationConfig creates a new workstation configuration. +func (c *restClient) CreateWorkstationConfig(ctx context.Context, req *workstationspb.CreateWorkstationConfigRequest, opts ...gax.CallOption) (*CreateWorkstationConfigOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstationConfig() + 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("/v1/%v/workstationConfigs", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + params.Add("workstationConfigId", fmt.Sprintf("%v", req.GetWorkstationConfigId())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateWorkstationConfig updates an existing workstation configuration. +func (c *restClient) UpdateWorkstationConfig(ctx context.Context, req *workstationspb.UpdateWorkstationConfigRequest, opts ...gax.CallOption) (*UpdateWorkstationConfigOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstationConfig() + 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("/v1/%v", req.GetWorkstationConfig().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAllowMissing() { + params.Add("allowMissing", fmt.Sprintf("%v", req.GetAllowMissing())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask)) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation_config.name", url.QueryEscape(req.GetWorkstationConfig().GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("PATCH", 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteWorkstationConfig deletes the specified workstation configuration. +func (c *restClient) DeleteWorkstationConfig(ctx context.Context, req *workstationspb.DeleteWorkstationConfigRequest, opts ...gax.CallOption) (*DeleteWorkstationConfigOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetWorkstation returns the requested workstation. +func (c *restClient) GetWorkstation(ctx context.Context, req *workstationspb.GetWorkstationRequest, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GetWorkstation[0:len((*c.CallOptions).GetWorkstation):len((*c.CallOptions).GetWorkstation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &workstationspb.Workstation{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListWorkstations returns all Workstations using the specified config. +func (c *restClient) ListWorkstations(ctx context.Context, req *workstationspb.ListWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + it := &WorkstationIterator{} + req = proto.Clone(req).(*workstationspb.ListWorkstationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.Workstation, string, error) { + resp := &workstationspb.ListWorkstationsResponse{} + 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("/v1/%v/workstations", req.GetParent()) + + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetWorkstations(), 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 +} + +// ListUsableWorkstations returns all Workstations using the specified config on which the caller has +// the “workstations.workstations.use” permission. +func (c *restClient) ListUsableWorkstations(ctx context.Context, req *workstationspb.ListUsableWorkstationsRequest, opts ...gax.CallOption) *WorkstationIterator { + it := &WorkstationIterator{} + req = proto.Clone(req).(*workstationspb.ListUsableWorkstationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*workstationspb.Workstation, string, error) { + resp := &workstationspb.ListUsableWorkstationsResponse{} + 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("/v1/%v/workstations:listUsable", req.GetParent()) + + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetWorkstations(), 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 +} + +// CreateWorkstation creates a new workstation. +func (c *restClient) CreateWorkstation(ctx context.Context, req *workstationspb.CreateWorkstationRequest, opts ...gax.CallOption) (*CreateWorkstationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstation() + 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("/v1/%v/workstations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + params.Add("workstationId", fmt.Sprintf("%v", req.GetWorkstationId())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateWorkstation updates an existing workstation. +func (c *restClient) UpdateWorkstation(ctx context.Context, req *workstationspb.UpdateWorkstationRequest, opts ...gax.CallOption) (*UpdateWorkstationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetWorkstation() + 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("/v1/%v", req.GetWorkstation().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAllowMissing() { + params.Add("allowMissing", fmt.Sprintf("%v", req.GetAllowMissing())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask)) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation.name", url.QueryEscape(req.GetWorkstation().GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("PATCH", 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteWorkstation deletes the specified workstation. +func (c *restClient) DeleteWorkstation(ctx context.Context, req *workstationspb.DeleteWorkstationRequest, opts ...gax.CallOption) (*DeleteWorkstationOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// StartWorkstation starts running a workstation so that users can connect to it. +func (c *restClient) StartWorkstation(ctx context.Context, req *workstationspb.StartWorkstationRequest, opts ...gax.CallOption) (*StartWorkstationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:start", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &StartWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// StopWorkstation stops running a workstation, reducing costs. +func (c *restClient) StopWorkstation(ctx context.Context, req *workstationspb.StopWorkstationRequest, opts ...gax.CallOption) (*StopWorkstationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:stop", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &StopWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GenerateAccessToken returns a short-lived credential that can be used to send authenticated and +// authorized traffic to a workstation. +func (c *restClient) GenerateAccessToken(ctx context.Context, req *workstationspb.GenerateAccessTokenRequest, opts ...gax.CallOption) (*workstationspb.GenerateAccessTokenResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:generateAccessToken", req.GetWorkstation()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "workstation", url.QueryEscape(req.GetWorkstation()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + opts = append((*c.CallOptions).GenerateAccessToken[0:len((*c.CallOptions).GenerateAccessToken):len((*c.CallOptions).GenerateAccessToken)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &workstationspb.GenerateAccessTokenResponse{} + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *restClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetOptions().GetRequestedPolicyVersion() != 0 { + params.Add("options.requestedPolicyVersion", fmt.Sprintf("%v", req.GetOptions().GetRequestedPolicyVersion())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *restClient) 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("/v1/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *restClient) 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("/v1/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *restClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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(), 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() + + // 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 *restClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *restClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *restClient) 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("/v1/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// CreateWorkstationOperation manages a long-running operation from CreateWorkstation. +type CreateWorkstationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// CreateWorkstationOperation returns a new CreateWorkstationOperation from a given name. +// The name must be that of a previously created CreateWorkstationOperation, possibly from a different process. +func (c *gRPCClient) CreateWorkstationOperation(name string) *CreateWorkstationOperation { + return &CreateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateWorkstationOperation returns a new CreateWorkstationOperation from a given name. +// The name must be that of a previously created CreateWorkstationOperation, possibly from a different process. +func (c *restClient) CreateWorkstationOperation(name string) *CreateWorkstationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *CreateWorkstationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *CreateWorkstationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *CreateWorkstationOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateWorkstationOperation) 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 *CreateWorkstationOperation) Name() string { + return op.lro.Name() +} + +// CreateWorkstationClusterOperation manages a long-running operation from CreateWorkstationCluster. +type CreateWorkstationClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// CreateWorkstationClusterOperation returns a new CreateWorkstationClusterOperation from a given name. +// The name must be that of a previously created CreateWorkstationClusterOperation, possibly from a different process. +func (c *gRPCClient) CreateWorkstationClusterOperation(name string) *CreateWorkstationClusterOperation { + return &CreateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateWorkstationClusterOperation returns a new CreateWorkstationClusterOperation from a given name. +// The name must be that of a previously created CreateWorkstationClusterOperation, possibly from a different process. +func (c *restClient) CreateWorkstationClusterOperation(name string) *CreateWorkstationClusterOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *CreateWorkstationClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *CreateWorkstationClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *CreateWorkstationClusterOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateWorkstationClusterOperation) 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 *CreateWorkstationClusterOperation) Name() string { + return op.lro.Name() +} + +// CreateWorkstationConfigOperation manages a long-running operation from CreateWorkstationConfig. +type CreateWorkstationConfigOperation struct { + lro *longrunning.Operation + pollPath string +} + +// CreateWorkstationConfigOperation returns a new CreateWorkstationConfigOperation from a given name. +// The name must be that of a previously created CreateWorkstationConfigOperation, possibly from a different process. +func (c *gRPCClient) CreateWorkstationConfigOperation(name string) *CreateWorkstationConfigOperation { + return &CreateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateWorkstationConfigOperation returns a new CreateWorkstationConfigOperation from a given name. +// The name must be that of a previously created CreateWorkstationConfigOperation, possibly from a different process. +func (c *restClient) CreateWorkstationConfigOperation(name string) *CreateWorkstationConfigOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *CreateWorkstationConfigOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *CreateWorkstationConfigOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *CreateWorkstationConfigOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateWorkstationConfigOperation) 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 *CreateWorkstationConfigOperation) Name() string { + return op.lro.Name() +} + +// DeleteWorkstationOperation manages a long-running operation from DeleteWorkstation. +type DeleteWorkstationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// DeleteWorkstationOperation returns a new DeleteWorkstationOperation from a given name. +// The name must be that of a previously created DeleteWorkstationOperation, possibly from a different process. +func (c *gRPCClient) DeleteWorkstationOperation(name string) *DeleteWorkstationOperation { + return &DeleteWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteWorkstationOperation returns a new DeleteWorkstationOperation from a given name. +// The name must be that of a previously created DeleteWorkstationOperation, possibly from a different process. +func (c *restClient) DeleteWorkstationOperation(name string) *DeleteWorkstationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *DeleteWorkstationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *DeleteWorkstationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *DeleteWorkstationOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteWorkstationOperation) 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 *DeleteWorkstationOperation) Name() string { + return op.lro.Name() +} + +// DeleteWorkstationClusterOperation manages a long-running operation from DeleteWorkstationCluster. +type DeleteWorkstationClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// DeleteWorkstationClusterOperation returns a new DeleteWorkstationClusterOperation from a given name. +// The name must be that of a previously created DeleteWorkstationClusterOperation, possibly from a different process. +func (c *gRPCClient) DeleteWorkstationClusterOperation(name string) *DeleteWorkstationClusterOperation { + return &DeleteWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteWorkstationClusterOperation returns a new DeleteWorkstationClusterOperation from a given name. +// The name must be that of a previously created DeleteWorkstationClusterOperation, possibly from a different process. +func (c *restClient) DeleteWorkstationClusterOperation(name string) *DeleteWorkstationClusterOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *DeleteWorkstationClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *DeleteWorkstationClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *DeleteWorkstationClusterOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteWorkstationClusterOperation) 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 *DeleteWorkstationClusterOperation) Name() string { + return op.lro.Name() +} + +// DeleteWorkstationConfigOperation manages a long-running operation from DeleteWorkstationConfig. +type DeleteWorkstationConfigOperation struct { + lro *longrunning.Operation + pollPath string +} + +// DeleteWorkstationConfigOperation returns a new DeleteWorkstationConfigOperation from a given name. +// The name must be that of a previously created DeleteWorkstationConfigOperation, possibly from a different process. +func (c *gRPCClient) DeleteWorkstationConfigOperation(name string) *DeleteWorkstationConfigOperation { + return &DeleteWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteWorkstationConfigOperation returns a new DeleteWorkstationConfigOperation from a given name. +// The name must be that of a previously created DeleteWorkstationConfigOperation, possibly from a different process. +func (c *restClient) DeleteWorkstationConfigOperation(name string) *DeleteWorkstationConfigOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *DeleteWorkstationConfigOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *DeleteWorkstationConfigOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *DeleteWorkstationConfigOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteWorkstationConfigOperation) 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 *DeleteWorkstationConfigOperation) Name() string { + return op.lro.Name() +} + +// StartWorkstationOperation manages a long-running operation from StartWorkstation. +type StartWorkstationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// StartWorkstationOperation returns a new StartWorkstationOperation from a given name. +// The name must be that of a previously created StartWorkstationOperation, possibly from a different process. +func (c *gRPCClient) StartWorkstationOperation(name string) *StartWorkstationOperation { + return &StartWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// StartWorkstationOperation returns a new StartWorkstationOperation from a given name. +// The name must be that of a previously created StartWorkstationOperation, possibly from a different process. +func (c *restClient) StartWorkstationOperation(name string) *StartWorkstationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &StartWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *StartWorkstationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *StartWorkstationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *StartWorkstationOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *StartWorkstationOperation) 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 *StartWorkstationOperation) Name() string { + return op.lro.Name() +} + +// StopWorkstationOperation manages a long-running operation from StopWorkstation. +type StopWorkstationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// StopWorkstationOperation returns a new StopWorkstationOperation from a given name. +// The name must be that of a previously created StopWorkstationOperation, possibly from a different process. +func (c *gRPCClient) StopWorkstationOperation(name string) *StopWorkstationOperation { + return &StopWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// StopWorkstationOperation returns a new StopWorkstationOperation from a given name. +// The name must be that of a previously created StopWorkstationOperation, possibly from a different process. +func (c *restClient) StopWorkstationOperation(name string) *StopWorkstationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &StopWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *StopWorkstationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *StopWorkstationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *StopWorkstationOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *StopWorkstationOperation) 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 *StopWorkstationOperation) Name() string { + return op.lro.Name() +} + +// UpdateWorkstationOperation manages a long-running operation from UpdateWorkstation. +type UpdateWorkstationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// UpdateWorkstationOperation returns a new UpdateWorkstationOperation from a given name. +// The name must be that of a previously created UpdateWorkstationOperation, possibly from a different process. +func (c *gRPCClient) UpdateWorkstationOperation(name string) *UpdateWorkstationOperation { + return &UpdateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateWorkstationOperation returns a new UpdateWorkstationOperation from a given name. +// The name must be that of a previously created UpdateWorkstationOperation, possibly from a different process. +func (c *restClient) UpdateWorkstationOperation(name string) *UpdateWorkstationOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateWorkstationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *UpdateWorkstationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *UpdateWorkstationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.Workstation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.Workstation + 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 *UpdateWorkstationOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateWorkstationOperation) 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 *UpdateWorkstationOperation) Name() string { + return op.lro.Name() +} + +// UpdateWorkstationClusterOperation manages a long-running operation from UpdateWorkstationCluster. +type UpdateWorkstationClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// UpdateWorkstationClusterOperation returns a new UpdateWorkstationClusterOperation from a given name. +// The name must be that of a previously created UpdateWorkstationClusterOperation, possibly from a different process. +func (c *gRPCClient) UpdateWorkstationClusterOperation(name string) *UpdateWorkstationClusterOperation { + return &UpdateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateWorkstationClusterOperation returns a new UpdateWorkstationClusterOperation from a given name. +// The name must be that of a previously created UpdateWorkstationClusterOperation, possibly from a different process. +func (c *restClient) UpdateWorkstationClusterOperation(name string) *UpdateWorkstationClusterOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateWorkstationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *UpdateWorkstationClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *UpdateWorkstationClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationCluster + 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 *UpdateWorkstationClusterOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateWorkstationClusterOperation) 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 *UpdateWorkstationClusterOperation) Name() string { + return op.lro.Name() +} + +// UpdateWorkstationConfigOperation manages a long-running operation from UpdateWorkstationConfig. +type UpdateWorkstationConfigOperation struct { + lro *longrunning.Operation + pollPath string +} + +// UpdateWorkstationConfigOperation returns a new UpdateWorkstationConfigOperation from a given name. +// The name must be that of a previously created UpdateWorkstationConfigOperation, possibly from a different process. +func (c *gRPCClient) UpdateWorkstationConfigOperation(name string) *UpdateWorkstationConfigOperation { + return &UpdateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateWorkstationConfigOperation returns a new UpdateWorkstationConfigOperation from a given name. +// The name must be that of a previously created UpdateWorkstationConfigOperation, possibly from a different process. +func (c *restClient) UpdateWorkstationConfigOperation(name string) *UpdateWorkstationConfigOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateWorkstationConfigOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// 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 *UpdateWorkstationConfigOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *UpdateWorkstationConfigOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*workstationspb.WorkstationConfig, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp workstationspb.WorkstationConfig + 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 *UpdateWorkstationConfigOperation) Metadata() (*workstationspb.OperationMetadata, error) { + var meta workstationspb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateWorkstationConfigOperation) 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 *UpdateWorkstationConfigOperation) Name() string { + return op.lro.Name() +} + +// OperationIterator manages a stream of *longrunningpb.Operation. +type OperationIterator struct { + items []*longrunningpb.Operation + 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 []*longrunningpb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationIterator) 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 *OperationIterator) Next() (*longrunningpb.Operation, error) { + var item *longrunningpb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// WorkstationClusterIterator manages a stream of *workstationspb.WorkstationCluster. +type WorkstationClusterIterator struct { + items []*workstationspb.WorkstationCluster + 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 []*workstationspb.WorkstationCluster, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *WorkstationClusterIterator) 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 *WorkstationClusterIterator) Next() (*workstationspb.WorkstationCluster, error) { + var item *workstationspb.WorkstationCluster + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *WorkstationClusterIterator) bufLen() int { + return len(it.items) +} + +func (it *WorkstationClusterIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// WorkstationConfigIterator manages a stream of *workstationspb.WorkstationConfig. +type WorkstationConfigIterator struct { + items []*workstationspb.WorkstationConfig + 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 []*workstationspb.WorkstationConfig, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *WorkstationConfigIterator) 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 *WorkstationConfigIterator) Next() (*workstationspb.WorkstationConfig, error) { + var item *workstationspb.WorkstationConfig + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *WorkstationConfigIterator) bufLen() int { + return len(it.items) +} + +func (it *WorkstationConfigIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// WorkstationIterator manages a stream of *workstationspb.Workstation. +type WorkstationIterator struct { + items []*workstationspb.Workstation + 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 []*workstationspb.Workstation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *WorkstationIterator) 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 *WorkstationIterator) Next() (*workstationspb.Workstation, error) { + var item *workstationspb.Workstation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *WorkstationIterator) bufLen() int { + return len(it.items) +} + +func (it *WorkstationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/workstations/apiv1/workstations_client_example_test.go b/workstations/apiv1/workstations_client_example_test.go new file mode 100644 index 000000000000..8389e268c17f --- /dev/null +++ b/workstations/apiv1/workstations_client_example_test.go @@ -0,0 +1,823 @@ +// 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 +// +// 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 workstations_test + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + workstations "cloud.google.com/go/workstations/apiv1" + workstationspb "cloud.google.com/go/workstations/apiv1/workstationspb" + "google.golang.org/api/iterator" +) + +func ExampleNewClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleClient_GetWorkstationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.GetWorkstationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#GetWorkstationClusterRequest. + } + resp, err := c.GetWorkstationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListWorkstationClusters() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.ListWorkstationClustersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#ListWorkstationClustersRequest. + } + it := c.ListWorkstationClusters(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_CreateWorkstationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.CreateWorkstationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#CreateWorkstationClusterRequest. + } + op, err := c.CreateWorkstationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateWorkstationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.UpdateWorkstationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#UpdateWorkstationClusterRequest. + } + op, err := c.UpdateWorkstationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteWorkstationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.DeleteWorkstationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#DeleteWorkstationClusterRequest. + } + op, err := c.DeleteWorkstationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetWorkstationConfig() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.GetWorkstationConfigRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#GetWorkstationConfigRequest. + } + resp, err := c.GetWorkstationConfig(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListWorkstationConfigs() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.ListWorkstationConfigsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#ListWorkstationConfigsRequest. + } + it := c.ListWorkstationConfigs(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListUsableWorkstationConfigs() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.ListUsableWorkstationConfigsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#ListUsableWorkstationConfigsRequest. + } + it := c.ListUsableWorkstationConfigs(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_CreateWorkstationConfig() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.CreateWorkstationConfigRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#CreateWorkstationConfigRequest. + } + op, err := c.CreateWorkstationConfig(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateWorkstationConfig() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.UpdateWorkstationConfigRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#UpdateWorkstationConfigRequest. + } + op, err := c.UpdateWorkstationConfig(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteWorkstationConfig() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.DeleteWorkstationConfigRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#DeleteWorkstationConfigRequest. + } + op, err := c.DeleteWorkstationConfig(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.GetWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#GetWorkstationRequest. + } + resp, err := c.GetWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListWorkstations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.ListWorkstationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#ListWorkstationsRequest. + } + it := c.ListWorkstations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListUsableWorkstations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.ListUsableWorkstationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#ListUsableWorkstationsRequest. + } + it := c.ListUsableWorkstations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_CreateWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.CreateWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#CreateWorkstationRequest. + } + op, err := c.CreateWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.UpdateWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#UpdateWorkstationRequest. + } + op, err := c.UpdateWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.DeleteWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#DeleteWorkstationRequest. + } + op, err := c.DeleteWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_StartWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.StartWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#StartWorkstationRequest. + } + op, err := c.StartWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_StopWorkstation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.StopWorkstationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#StopWorkstationRequest. + } + op, err := c.StopWorkstation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GenerateAccessToken() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &workstationspb.GenerateAccessTokenRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/workstations/apiv1/workstationspb#GenerateAccessTokenRequest. + } + resp, err := c.GenerateAccessToken(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 ExampleClient_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 := workstations.NewClient(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 + } +} diff --git a/workstations/apiv1/workstationspb/workstations.pb.go b/workstations/apiv1/workstationspb/workstations.pb.go new file mode 100755 index 000000000000..28ef5ae065c0 --- /dev/null +++ b/workstations/apiv1/workstationspb/workstations.pb.go @@ -0,0 +1,5943 @@ +// 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.30.0 +// protoc v3.21.12 +// source: google/cloud/workstations/v1/workstations.proto + +package workstationspb + +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" + durationpb "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + 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) +) + +// Value representing what should happen to the disk after the workstation +// is deleted. +type WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy int32 + +const ( + // Do not use. + WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_RECLAIM_POLICY_UNSPECIFIED WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy = 0 + // The persistent disk will be deleted with the workstation. + WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_DELETE WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy = 1 + // The persistent disk will be remain after the workstation is deleted, + // and the administrator must manually delete the disk. + WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_RETAIN WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy = 2 +) + +// Enum value maps for WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy. +var ( + WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy_name = map[int32]string{ + 0: "RECLAIM_POLICY_UNSPECIFIED", + 1: "DELETE", + 2: "RETAIN", + } + WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy_value = map[string]int32{ + "RECLAIM_POLICY_UNSPECIFIED": 0, + "DELETE": 1, + "RETAIN": 2, + } +) + +func (x WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) Enum() *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy { + p := new(WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) + *p = x + return p +} + +func (x WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_workstations_v1_workstations_proto_enumTypes[0].Descriptor() +} + +func (WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) Type() protoreflect.EnumType { + return &file_google_cloud_workstations_v1_workstations_proto_enumTypes[0] +} + +func (x WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy.Descriptor instead. +func (WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 1, 0, 0} +} + +// Whether a workstation is running and ready to receive user requests. +type Workstation_State int32 + +const ( + // Do not use. + Workstation_STATE_UNSPECIFIED Workstation_State = 0 + // The workstation is not yet ready to accept requests from users but will + // be soon. + Workstation_STATE_STARTING Workstation_State = 1 + // The workstation is ready to accept requests from users. + Workstation_STATE_RUNNING Workstation_State = 2 + // The workstation is being stopped. + Workstation_STATE_STOPPING Workstation_State = 3 + // The workstation is stopped and will not be able to receive requests until + // it is started. + Workstation_STATE_STOPPED Workstation_State = 4 +) + +// Enum value maps for Workstation_State. +var ( + Workstation_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "STATE_STARTING", + 2: "STATE_RUNNING", + 3: "STATE_STOPPING", + 4: "STATE_STOPPED", + } + Workstation_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "STATE_STARTING": 1, + "STATE_RUNNING": 2, + "STATE_STOPPING": 3, + "STATE_STOPPED": 4, + } +) + +func (x Workstation_State) Enum() *Workstation_State { + p := new(Workstation_State) + *p = x + return p +} + +func (x Workstation_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Workstation_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_workstations_v1_workstations_proto_enumTypes[1].Descriptor() +} + +func (Workstation_State) Type() protoreflect.EnumType { + return &file_google_cloud_workstations_v1_workstations_proto_enumTypes[1] +} + +func (x Workstation_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Workstation_State.Descriptor instead. +func (Workstation_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{2, 0} +} + +// A grouping of workstation configurations and the associated workstations +// +// in that region. +type WorkstationCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full name of this resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human-readable name for this resource. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. A system-assigned unique identified for this resource. + Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` + // Output only. Indicates whether this resource is currently being updated to + // match its intended state. + Reconciling bool `protobuf:"varint,4,opt,name=reconciling,proto3" json:"reconciling,omitempty"` + // Client-specified annotations. + Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Client-specified labels that are applied to the resource and that are also + // propagated to the underlying Compute Engine resources. + 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"` + // Output only. Time when this resource was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when this resource was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Time when this resource was soft-deleted. + DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` + // Checksum computed by the server. May be sent on update and delete requests + // to ensure that the client has an up-to-date value before proceeding. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // Immutable. Name of the Compute Engine network in which instances associated + // with this cluster will be created. + Network string `protobuf:"bytes,10,opt,name=network,proto3" json:"network,omitempty"` + // Immutable. Name of the Compute Engine subnetwork in which instances + // associated with this cluster will be created. Must be part of the + // subnetwork specified for this cluster. + Subnetwork string `protobuf:"bytes,11,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"` + // Configuration for private cluster. + PrivateClusterConfig *WorkstationCluster_PrivateClusterConfig `protobuf:"bytes,12,opt,name=private_cluster_config,json=privateClusterConfig,proto3" json:"private_cluster_config,omitempty"` + // Output only. Whether this resource is in degraded mode, in which case it + // may require user action to restore full functionality. Details can be found + // in the `conditions` field. + Degraded bool `protobuf:"varint,13,opt,name=degraded,proto3" json:"degraded,omitempty"` + // Output only. Status conditions describing the current resource state. + Conditions []*status.Status `protobuf:"bytes,14,rep,name=conditions,proto3" json:"conditions,omitempty"` +} + +func (x *WorkstationCluster) Reset() { + *x = WorkstationCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationCluster) ProtoMessage() {} + +func (x *WorkstationCluster) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 WorkstationCluster.ProtoReflect.Descriptor instead. +func (*WorkstationCluster) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkstationCluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkstationCluster) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *WorkstationCluster) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *WorkstationCluster) GetReconciling() bool { + if x != nil { + return x.Reconciling + } + return false +} + +func (x *WorkstationCluster) GetAnnotations() map[string]string { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *WorkstationCluster) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *WorkstationCluster) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkstationCluster) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *WorkstationCluster) GetDeleteTime() *timestamppb.Timestamp { + if x != nil { + return x.DeleteTime + } + return nil +} + +func (x *WorkstationCluster) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *WorkstationCluster) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *WorkstationCluster) GetSubnetwork() string { + if x != nil { + return x.Subnetwork + } + return "" +} + +func (x *WorkstationCluster) GetPrivateClusterConfig() *WorkstationCluster_PrivateClusterConfig { + if x != nil { + return x.PrivateClusterConfig + } + return nil +} + +func (x *WorkstationCluster) GetDegraded() bool { + if x != nil { + return x.Degraded + } + return false +} + +func (x *WorkstationCluster) GetConditions() []*status.Status { + if x != nil { + return x.Conditions + } + return nil +} + +// A set of configuration options describing how a workstation will be run. +// Workstation configurations are intended to be shared across multiple +// workstations. +type WorkstationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full name of this resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human-readable name for this resource. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. A system-assigned unique identified for this resource. + Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` + // Output only. Indicates whether this resource is currently being updated to + // match its intended state. + Reconciling bool `protobuf:"varint,4,opt,name=reconciling,proto3" json:"reconciling,omitempty"` + // Client-specified annotations. + Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Client-specified labels that are applied to the resource and that are also + // propagated to the underlying Compute Engine resources. + Labels map[string]string `protobuf:"bytes,18,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. Time when this resource was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when this resource was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Time when this resource was soft-deleted. + DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` + // Checksum computed by the server. May be sent on update and delete requests + // to ensure that the client has an up-to-date value before proceeding. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // How long to wait before automatically stopping an instance that hasn't + // received any user traffic. A value of 0 indicates that this instance + // should never time out due to idleness. Defaults to 20 minutes. + IdleTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` + // How long to wait before automatically stopping a workstation after it + // started. A value of 0 indicates that workstations using this configuration + // should never time out. Must be greater than 0 and less than 24 hours if + // encryption_key is set. Defaults to 12 hours. + RunningTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=running_timeout,json=runningTimeout,proto3" json:"running_timeout,omitempty"` + // Runtime host for the workstation. + Host *WorkstationConfig_Host `protobuf:"bytes,12,opt,name=host,proto3" json:"host,omitempty"` + // Directories to persist across workstation sessions. + PersistentDirectories []*WorkstationConfig_PersistentDirectory `protobuf:"bytes,13,rep,name=persistent_directories,json=persistentDirectories,proto3" json:"persistent_directories,omitempty"` + // Container that will be run for each workstation using this configuration + // when that workstation is started. + Container *WorkstationConfig_Container `protobuf:"bytes,14,opt,name=container,proto3" json:"container,omitempty"` + // Encrypts resources of this workstation configuration using a + // customer-managed encryption key. + // + // If specified, the boot disk of the Compute Engine instance and the + // persistent disk are encrypted using this encryption key. If + // this field is not set, the disks are encrypted using a generated + // key. Customer-managed encryption keys do not protect disk metadata. + // + // If the customer-managed encryption key is rotated, when the workstation + // instance is stopped, the system attempts to recreate the + // persistent disk with the new version of the key. Be sure to keep + // older versions of the key until the persistent disk is recreated. + // Otherwise, data on the persistent disk will be lost. + // + // If the encryption key is revoked, the workstation session will + // automatically be stopped within 7 hours. + EncryptionKey *WorkstationConfig_CustomerEncryptionKey `protobuf:"bytes,17,opt,name=encryption_key,json=encryptionKey,proto3" json:"encryption_key,omitempty"` + // Output only. Whether this resource is degraded, in which case it may + // require user action to restore full functionality. See also the + // `conditions` field. + Degraded bool `protobuf:"varint,15,opt,name=degraded,proto3" json:"degraded,omitempty"` + // Output only. Status conditions describing the current resource state. + Conditions []*status.Status `protobuf:"bytes,16,rep,name=conditions,proto3" json:"conditions,omitempty"` +} + +func (x *WorkstationConfig) Reset() { + *x = WorkstationConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig) ProtoMessage() {} + +func (x *WorkstationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 WorkstationConfig.ProtoReflect.Descriptor instead. +func (*WorkstationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkstationConfig) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkstationConfig) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *WorkstationConfig) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *WorkstationConfig) GetReconciling() bool { + if x != nil { + return x.Reconciling + } + return false +} + +func (x *WorkstationConfig) GetAnnotations() map[string]string { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *WorkstationConfig) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *WorkstationConfig) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkstationConfig) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *WorkstationConfig) GetDeleteTime() *timestamppb.Timestamp { + if x != nil { + return x.DeleteTime + } + return nil +} + +func (x *WorkstationConfig) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *WorkstationConfig) GetIdleTimeout() *durationpb.Duration { + if x != nil { + return x.IdleTimeout + } + return nil +} + +func (x *WorkstationConfig) GetRunningTimeout() *durationpb.Duration { + if x != nil { + return x.RunningTimeout + } + return nil +} + +func (x *WorkstationConfig) GetHost() *WorkstationConfig_Host { + if x != nil { + return x.Host + } + return nil +} + +func (x *WorkstationConfig) GetPersistentDirectories() []*WorkstationConfig_PersistentDirectory { + if x != nil { + return x.PersistentDirectories + } + return nil +} + +func (x *WorkstationConfig) GetContainer() *WorkstationConfig_Container { + if x != nil { + return x.Container + } + return nil +} + +func (x *WorkstationConfig) GetEncryptionKey() *WorkstationConfig_CustomerEncryptionKey { + if x != nil { + return x.EncryptionKey + } + return nil +} + +func (x *WorkstationConfig) GetDegraded() bool { + if x != nil { + return x.Degraded + } + return false +} + +func (x *WorkstationConfig) GetConditions() []*status.Status { + if x != nil { + return x.Conditions + } + return nil +} + +// A single instance of a developer workstation with its own persistent storage. +type Workstation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Full name of this resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human-readable name for this resource. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. A system-assigned unique identified for this resource. + Uid string `protobuf:"bytes,3,opt,name=uid,proto3" json:"uid,omitempty"` + // Output only. Indicates whether this resource is currently being updated to + // match its intended state. + Reconciling bool `protobuf:"varint,4,opt,name=reconciling,proto3" json:"reconciling,omitempty"` + // Client-specified annotations. + Annotations map[string]string `protobuf:"bytes,5,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Client-specified labels that are applied to the resource and that are also + // propagated to the underlying Compute Engine resources. + Labels map[string]string `protobuf:"bytes,13,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. Time when this resource was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time when this resource was most recently updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Time when this resource was soft-deleted. + DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` + // Checksum computed by the server. May be sent on update and delete requests + // to ensure that the client has an up-to-date value before proceeding. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. Current state of the workstation. + State Workstation_State `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.workstations.v1.Workstation_State" json:"state,omitempty"` + // Output only. Host to which clients can send HTTPS traffic that will be + // received by the workstation. Authorized traffic will be received to the + // workstation as HTTP on port 80. To send traffic to a different port, + // clients may prefix the host with the destination port in the format + // `{port}-{host}`. + Host string `protobuf:"bytes,11,opt,name=host,proto3" json:"host,omitempty"` +} + +func (x *Workstation) Reset() { + *x = Workstation{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Workstation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Workstation) ProtoMessage() {} + +func (x *Workstation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 Workstation.ProtoReflect.Descriptor instead. +func (*Workstation) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{2} +} + +func (x *Workstation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Workstation) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Workstation) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *Workstation) GetReconciling() bool { + if x != nil { + return x.Reconciling + } + return false +} + +func (x *Workstation) GetAnnotations() map[string]string { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *Workstation) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Workstation) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Workstation) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Workstation) GetDeleteTime() *timestamppb.Timestamp { + if x != nil { + return x.DeleteTime + } + return nil +} + +func (x *Workstation) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Workstation) GetState() Workstation_State { + if x != nil { + return x.State + } + return Workstation_STATE_UNSPECIFIED +} + +func (x *Workstation) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +// Request message for GetWorkstationCluster. +type GetWorkstationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the requested resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetWorkstationClusterRequest) Reset() { + *x = GetWorkstationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWorkstationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkstationClusterRequest) ProtoMessage() {} + +func (x *GetWorkstationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 GetWorkstationClusterRequest.ProtoReflect.Descriptor instead. +func (*GetWorkstationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{3} +} + +func (x *GetWorkstationClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for ListWorkstationClusters. +type ListWorkstationClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of items to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListWorkstationClustersRequest) Reset() { + *x = ListWorkstationClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationClustersRequest) ProtoMessage() {} + +func (x *ListWorkstationClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListWorkstationClustersRequest.ProtoReflect.Descriptor instead. +func (*ListWorkstationClustersRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{4} +} + +func (x *ListWorkstationClustersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListWorkstationClustersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkstationClustersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListWorkstationClusters. +type ListWorkstationClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested workstation clusters. + WorkstationClusters []*WorkstationCluster `protobuf:"bytes,1,rep,name=workstation_clusters,json=workstationClusters,proto3" json:"workstation_clusters,omitempty"` + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListWorkstationClustersResponse) Reset() { + *x = ListWorkstationClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationClustersResponse) ProtoMessage() {} + +func (x *ListWorkstationClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListWorkstationClustersResponse.ProtoReflect.Descriptor instead. +func (*ListWorkstationClustersResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{5} +} + +func (x *ListWorkstationClustersResponse) GetWorkstationClusters() []*WorkstationCluster { + if x != nil { + return x.WorkstationClusters + } + return nil +} + +func (x *ListWorkstationClustersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListWorkstationClustersResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Message for creating a CreateWorkstationCluster. +type CreateWorkstationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. ID to use for the workstation cluster. + WorkstationClusterId string `protobuf:"bytes,2,opt,name=workstation_cluster_id,json=workstationClusterId,proto3" json:"workstation_cluster_id,omitempty"` + // Required. Workstation cluster to create. + WorkstationCluster *WorkstationCluster `protobuf:"bytes,3,opt,name=workstation_cluster,json=workstationCluster,proto3" json:"workstation_cluster,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *CreateWorkstationClusterRequest) Reset() { + *x = CreateWorkstationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateWorkstationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkstationClusterRequest) ProtoMessage() {} + +func (x *CreateWorkstationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 CreateWorkstationClusterRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkstationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateWorkstationClusterRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateWorkstationClusterRequest) GetWorkstationClusterId() string { + if x != nil { + return x.WorkstationClusterId + } + return "" +} + +func (x *CreateWorkstationClusterRequest) GetWorkstationCluster() *WorkstationCluster { + if x != nil { + return x.WorkstationCluster + } + return nil +} + +func (x *CreateWorkstationClusterRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// Request message for UpdateWorkstationCluster. +type UpdateWorkstationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Workstation cluster to update. + WorkstationCluster *WorkstationCluster `protobuf:"bytes,1,opt,name=workstation_cluster,json=workstationCluster,proto3" json:"workstation_cluster,omitempty"` + // Required. Mask that specifies which fields in the workstation cluster + // should be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, and the workstation cluster is not found, a new workstation + // cluster will be created. In this situation, update_mask is ignored. + AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateWorkstationClusterRequest) Reset() { + *x = UpdateWorkstationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkstationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkstationClusterRequest) ProtoMessage() {} + +func (x *UpdateWorkstationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 UpdateWorkstationClusterRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkstationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateWorkstationClusterRequest) GetWorkstationCluster() *WorkstationCluster { + if x != nil { + return x.WorkstationCluster + } + return nil +} + +func (x *UpdateWorkstationClusterRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateWorkstationClusterRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *UpdateWorkstationClusterRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Message for deleting a workstation cluster. +type DeleteWorkstationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the workstation cluster to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set, validate the request and preview the review, but do not apply it. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, the request will be rejected if the latest version of the + // workstation cluster on the server does not have this etag. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` + // If set, any workstation configurations and workstations in the + // workstation cluster are also deleted. Otherwise, the request only + // works if the workstation cluster has no configurations or workstations. + Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteWorkstationClusterRequest) Reset() { + *x = DeleteWorkstationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteWorkstationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkstationClusterRequest) ProtoMessage() {} + +func (x *DeleteWorkstationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 DeleteWorkstationClusterRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkstationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{8} +} + +func (x *DeleteWorkstationClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteWorkstationClusterRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *DeleteWorkstationClusterRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *DeleteWorkstationClusterRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for GetWorkstationConfig. +type GetWorkstationConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the requested resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetWorkstationConfigRequest) Reset() { + *x = GetWorkstationConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWorkstationConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkstationConfigRequest) ProtoMessage() {} + +func (x *GetWorkstationConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 GetWorkstationConfigRequest.ProtoReflect.Descriptor instead. +func (*GetWorkstationConfigRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{9} +} + +func (x *GetWorkstationConfigRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for ListWorkstationConfigs. +type ListWorkstationConfigsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of items to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListWorkstationConfigsRequest) Reset() { + *x = ListWorkstationConfigsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationConfigsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationConfigsRequest) ProtoMessage() {} + +func (x *ListWorkstationConfigsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListWorkstationConfigsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkstationConfigsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{10} +} + +func (x *ListWorkstationConfigsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListWorkstationConfigsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkstationConfigsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListWorkstationConfigs. +type ListWorkstationConfigsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested configs. + WorkstationConfigs []*WorkstationConfig `protobuf:"bytes,1,rep,name=workstation_configs,json=workstationConfigs,proto3" json:"workstation_configs,omitempty"` + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListWorkstationConfigsResponse) Reset() { + *x = ListWorkstationConfigsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationConfigsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationConfigsResponse) ProtoMessage() {} + +func (x *ListWorkstationConfigsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListWorkstationConfigsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkstationConfigsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{11} +} + +func (x *ListWorkstationConfigsResponse) GetWorkstationConfigs() []*WorkstationConfig { + if x != nil { + return x.WorkstationConfigs + } + return nil +} + +func (x *ListWorkstationConfigsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListWorkstationConfigsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for ListUsableWorkstationConfigs. +type ListUsableWorkstationConfigsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of items to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListUsableWorkstationConfigsRequest) Reset() { + *x = ListUsableWorkstationConfigsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableWorkstationConfigsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableWorkstationConfigsRequest) ProtoMessage() {} + +func (x *ListUsableWorkstationConfigsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListUsableWorkstationConfigsRequest.ProtoReflect.Descriptor instead. +func (*ListUsableWorkstationConfigsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{12} +} + +func (x *ListUsableWorkstationConfigsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListUsableWorkstationConfigsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListUsableWorkstationConfigsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListUsableWorkstationConfigs. +type ListUsableWorkstationConfigsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested configs. + WorkstationConfigs []*WorkstationConfig `protobuf:"bytes,1,rep,name=workstation_configs,json=workstationConfigs,proto3" json:"workstation_configs,omitempty"` + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListUsableWorkstationConfigsResponse) Reset() { + *x = ListUsableWorkstationConfigsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableWorkstationConfigsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableWorkstationConfigsResponse) ProtoMessage() {} + +func (x *ListUsableWorkstationConfigsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListUsableWorkstationConfigsResponse.ProtoReflect.Descriptor instead. +func (*ListUsableWorkstationConfigsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{13} +} + +func (x *ListUsableWorkstationConfigsResponse) GetWorkstationConfigs() []*WorkstationConfig { + if x != nil { + return x.WorkstationConfigs + } + return nil +} + +func (x *ListUsableWorkstationConfigsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListUsableWorkstationConfigsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Message for creating a CreateWorkstationConfig. +type CreateWorkstationConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. ID to use for the config. + WorkstationConfigId string `protobuf:"bytes,2,opt,name=workstation_config_id,json=workstationConfigId,proto3" json:"workstation_config_id,omitempty"` + // Required. Config to create. + WorkstationConfig *WorkstationConfig `protobuf:"bytes,3,opt,name=workstation_config,json=workstationConfig,proto3" json:"workstation_config,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *CreateWorkstationConfigRequest) Reset() { + *x = CreateWorkstationConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateWorkstationConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkstationConfigRequest) ProtoMessage() {} + +func (x *CreateWorkstationConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 CreateWorkstationConfigRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkstationConfigRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateWorkstationConfigRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateWorkstationConfigRequest) GetWorkstationConfigId() string { + if x != nil { + return x.WorkstationConfigId + } + return "" +} + +func (x *CreateWorkstationConfigRequest) GetWorkstationConfig() *WorkstationConfig { + if x != nil { + return x.WorkstationConfig + } + return nil +} + +func (x *CreateWorkstationConfigRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// Request message for UpdateWorkstationConfig. +type UpdateWorkstationConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Config to update. + WorkstationConfig *WorkstationConfig `protobuf:"bytes,1,opt,name=workstation_config,json=workstationConfig,proto3" json:"workstation_config,omitempty"` + // Required. Mask specifying which fields in the config should be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, and the config is not found, a new config will be created. + // In this situation, update_mask is ignored. + AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateWorkstationConfigRequest) Reset() { + *x = UpdateWorkstationConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkstationConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkstationConfigRequest) ProtoMessage() {} + +func (x *UpdateWorkstationConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 UpdateWorkstationConfigRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkstationConfigRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{15} +} + +func (x *UpdateWorkstationConfigRequest) GetWorkstationConfig() *WorkstationConfig { + if x != nil { + return x.WorkstationConfig + } + return nil +} + +func (x *UpdateWorkstationConfigRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateWorkstationConfigRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *UpdateWorkstationConfigRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Message for deleting a workstation configuration. +type DeleteWorkstationConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the config to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, the request will be rejected if the latest version of the config on + // the server does not have this etag. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` + // If set, any Workstations in the config will also be deleted. Otherwise, + // the request will work only if the config has no workstations. + Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *DeleteWorkstationConfigRequest) Reset() { + *x = DeleteWorkstationConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteWorkstationConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkstationConfigRequest) ProtoMessage() {} + +func (x *DeleteWorkstationConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 DeleteWorkstationConfigRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkstationConfigRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{16} +} + +func (x *DeleteWorkstationConfigRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteWorkstationConfigRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *DeleteWorkstationConfigRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *DeleteWorkstationConfigRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Request message for GetWorkstation. +type GetWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the requested resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetWorkstationRequest) Reset() { + *x = GetWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkstationRequest) ProtoMessage() {} + +func (x *GetWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 GetWorkstationRequest.ProtoReflect.Descriptor instead. +func (*GetWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{17} +} + +func (x *GetWorkstationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for ListWorkstations. +type ListWorkstationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of items to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListWorkstationsRequest) Reset() { + *x = ListWorkstationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationsRequest) ProtoMessage() {} + +func (x *ListWorkstationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkstationsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkstationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{18} +} + +func (x *ListWorkstationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListWorkstationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkstationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListWorkstations. +type ListWorkstationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested workstations. + Workstations []*Workstation `protobuf:"bytes,1,rep,name=workstations,proto3" json:"workstations,omitempty"` + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListWorkstationsResponse) Reset() { + *x = ListWorkstationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListWorkstationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkstationsResponse) ProtoMessage() {} + +func (x *ListWorkstationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkstationsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkstationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{19} +} + +func (x *ListWorkstationsResponse) GetWorkstations() []*Workstation { + if x != nil { + return x.Workstations + } + return nil +} + +func (x *ListWorkstationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListWorkstationsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for ListUsableWorkstations. +type ListUsableWorkstationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of items to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListUsableWorkstationsRequest) Reset() { + *x = ListUsableWorkstationsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableWorkstationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableWorkstationsRequest) ProtoMessage() {} + +func (x *ListUsableWorkstationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListUsableWorkstationsRequest.ProtoReflect.Descriptor instead. +func (*ListUsableWorkstationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{20} +} + +func (x *ListUsableWorkstationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListUsableWorkstationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListUsableWorkstationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for ListUsableWorkstations. +type ListUsableWorkstationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The requested workstations. + Workstations []*Workstation `protobuf:"bytes,1,rep,name=workstations,proto3" json:"workstations,omitempty"` + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListUsableWorkstationsResponse) Reset() { + *x = ListUsableWorkstationsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableWorkstationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableWorkstationsResponse) ProtoMessage() {} + +func (x *ListUsableWorkstationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 ListUsableWorkstationsResponse.ProtoReflect.Descriptor instead. +func (*ListUsableWorkstationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{21} +} + +func (x *ListUsableWorkstationsResponse) GetWorkstations() []*Workstation { + if x != nil { + return x.Workstations + } + return nil +} + +func (x *ListUsableWorkstationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListUsableWorkstationsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Message for creating a CreateWorkstation. +type CreateWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent resource name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. ID to use for the workstation. + WorkstationId string `protobuf:"bytes,2,opt,name=workstation_id,json=workstationId,proto3" json:"workstation_id,omitempty"` + // Required. Workstation to create. + Workstation *Workstation `protobuf:"bytes,3,opt,name=workstation,proto3" json:"workstation,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *CreateWorkstationRequest) Reset() { + *x = CreateWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkstationRequest) ProtoMessage() {} + +func (x *CreateWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkstationRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{22} +} + +func (x *CreateWorkstationRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateWorkstationRequest) GetWorkstationId() string { + if x != nil { + return x.WorkstationId + } + return "" +} + +func (x *CreateWorkstationRequest) GetWorkstation() *Workstation { + if x != nil { + return x.Workstation + } + return nil +} + +func (x *CreateWorkstationRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// Request message for UpdateWorkstation. +type UpdateWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Workstation to update. + Workstation *Workstation `protobuf:"bytes,1,opt,name=workstation,proto3" json:"workstation,omitempty"` + // Required. Mask specifying which fields in the config should be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, and the config is not found, a new config will be created. + // In this situation, update_mask is ignored. + AllowMissing bool `protobuf:"varint,4,opt,name=allow_missing,json=allowMissing,proto3" json:"allow_missing,omitempty"` +} + +func (x *UpdateWorkstationRequest) Reset() { + *x = UpdateWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkstationRequest) ProtoMessage() {} + +func (x *UpdateWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkstationRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{23} +} + +func (x *UpdateWorkstationRequest) GetWorkstation() *Workstation { + if x != nil { + return x.Workstation + } + return nil +} + +func (x *UpdateWorkstationRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateWorkstationRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *UpdateWorkstationRequest) GetAllowMissing() bool { + if x != nil { + return x.AllowMissing + } + return false +} + +// Request message for DeleteWorkstation. +type DeleteWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the workstation to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, the request will be rejected if the latest version of the + // workstation on the server does not have this etag. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteWorkstationRequest) Reset() { + *x = DeleteWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkstationRequest) ProtoMessage() {} + +func (x *DeleteWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkstationRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{24} +} + +func (x *DeleteWorkstationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteWorkstationRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *DeleteWorkstationRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for StartWorkstation. +type StartWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the workstation to start. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, the request will be rejected if the latest version of the + // workstation on the server does not have this etag. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *StartWorkstationRequest) Reset() { + *x = StartWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StartWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartWorkstationRequest) ProtoMessage() {} + +func (x *StartWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartWorkstationRequest.ProtoReflect.Descriptor instead. +func (*StartWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{25} +} + +func (x *StartWorkstationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StartWorkstationRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *StartWorkstationRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for StopWorkstation. +type StopWorkstationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the workstation to stop. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // If set, validate the request and preview the review, but do not actually + // apply it. + ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // If set, the request will be rejected if the latest version of the + // workstation on the server does not have this etag. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *StopWorkstationRequest) Reset() { + *x = StopWorkstationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopWorkstationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopWorkstationRequest) ProtoMessage() {} + +func (x *StopWorkstationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopWorkstationRequest.ProtoReflect.Descriptor instead. +func (*StopWorkstationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{26} +} + +func (x *StopWorkstationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StopWorkstationRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *StopWorkstationRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for GenerateAccessToken. +type GenerateAccessTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Desired expiration or lifetime of the access token. + // + // Types that are assignable to Expiration: + // *GenerateAccessTokenRequest_ExpireTime + // *GenerateAccessTokenRequest_Ttl + Expiration isGenerateAccessTokenRequest_Expiration `protobuf_oneof:"expiration"` + // Required. Name of the workstation for which the access token should be + // generated. + Workstation string `protobuf:"bytes,1,opt,name=workstation,proto3" json:"workstation,omitempty"` +} + +func (x *GenerateAccessTokenRequest) Reset() { + *x = GenerateAccessTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateAccessTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAccessTokenRequest) ProtoMessage() {} + +func (x *GenerateAccessTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAccessTokenRequest.ProtoReflect.Descriptor instead. +func (*GenerateAccessTokenRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{27} +} + +func (m *GenerateAccessTokenRequest) GetExpiration() isGenerateAccessTokenRequest_Expiration { + if m != nil { + return m.Expiration + } + return nil +} + +func (x *GenerateAccessTokenRequest) GetExpireTime() *timestamppb.Timestamp { + if x, ok := x.GetExpiration().(*GenerateAccessTokenRequest_ExpireTime); ok { + return x.ExpireTime + } + return nil +} + +func (x *GenerateAccessTokenRequest) GetTtl() *durationpb.Duration { + if x, ok := x.GetExpiration().(*GenerateAccessTokenRequest_Ttl); ok { + return x.Ttl + } + return nil +} + +func (x *GenerateAccessTokenRequest) GetWorkstation() string { + if x != nil { + return x.Workstation + } + return "" +} + +type isGenerateAccessTokenRequest_Expiration interface { + isGenerateAccessTokenRequest_Expiration() +} + +type GenerateAccessTokenRequest_ExpireTime struct { + // Desired expiration time of the access token. This value must + // be at most 24 hours in the future. If a value is not specified, the + // token's expiration time will be set to a default value of 1 hour in the + // future. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3,oneof"` +} + +type GenerateAccessTokenRequest_Ttl struct { + // Desired lifetime duration of the access token. This value must + // be at most 24 hours. If a value is not specified, the token's lifetime + // will be set to a default value of 1 hour. + Ttl *durationpb.Duration `protobuf:"bytes,3,opt,name=ttl,proto3,oneof"` +} + +func (*GenerateAccessTokenRequest_ExpireTime) isGenerateAccessTokenRequest_Expiration() {} + +func (*GenerateAccessTokenRequest_Ttl) isGenerateAccessTokenRequest_Expiration() {} + +// Response message for GenerateAccessToken. +type GenerateAccessTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The generated bearer access token. To use this token, include it in an + // Authorization header of an HTTP request sent to the associated + // workstation's hostname, for example, `Authorization: Bearer + // `. + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + // Time at which the generated token will expire. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` +} + +func (x *GenerateAccessTokenResponse) Reset() { + *x = GenerateAccessTokenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenerateAccessTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAccessTokenResponse) ProtoMessage() {} + +func (x *GenerateAccessTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAccessTokenResponse.ProtoReflect.Descriptor instead. +func (*GenerateAccessTokenResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{28} +} + +func (x *GenerateAccessTokenResponse) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *GenerateAccessTokenResponse) GetExpireTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpireTime + } + return nil +} + +// Metadata for long-running operations. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Time that the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Time that the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Server-defined resource path for the target of the operation. + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // Output only. Name of the verb executed by the operation. + Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation + // of the operation. + RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` + // Output only. API version used to start the operation. + ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{29} +} + +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +// Configuration options for private clusters. +type WorkstationCluster_PrivateClusterConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Whether Workstations endpoint is private. + EnablePrivateEndpoint bool `protobuf:"varint,1,opt,name=enable_private_endpoint,json=enablePrivateEndpoint,proto3" json:"enable_private_endpoint,omitempty"` + // Output only. Hostname for the workstation cluster. This field will be + // populated only when private endpoint is enabled. To access workstations + // in the cluster, create a new DNS zone mapping this domain name to an + // internal IP address and a forwarding rule mapping that address to the + // service attachment. + ClusterHostname string `protobuf:"bytes,2,opt,name=cluster_hostname,json=clusterHostname,proto3" json:"cluster_hostname,omitempty"` + // Output only. Service attachment URI for the workstation cluster. The + // service attachemnt is created when private endpoint is enabled. To access + // workstations in the cluster, configure access to the managed service + // using [Private Service + // Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services). + ServiceAttachmentUri string `protobuf:"bytes,3,opt,name=service_attachment_uri,json=serviceAttachmentUri,proto3" json:"service_attachment_uri,omitempty"` + // Additional projects that are allowed to attach to the workstation + // cluster's service attachment. By default, the workstation cluster's + // project and the VPC host project (if different) are allowed. + AllowedProjects []string `protobuf:"bytes,4,rep,name=allowed_projects,json=allowedProjects,proto3" json:"allowed_projects,omitempty"` +} + +func (x *WorkstationCluster_PrivateClusterConfig) Reset() { + *x = WorkstationCluster_PrivateClusterConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationCluster_PrivateClusterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationCluster_PrivateClusterConfig) ProtoMessage() {} + +func (x *WorkstationCluster_PrivateClusterConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationCluster_PrivateClusterConfig.ProtoReflect.Descriptor instead. +func (*WorkstationCluster_PrivateClusterConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WorkstationCluster_PrivateClusterConfig) GetEnablePrivateEndpoint() bool { + if x != nil { + return x.EnablePrivateEndpoint + } + return false +} + +func (x *WorkstationCluster_PrivateClusterConfig) GetClusterHostname() string { + if x != nil { + return x.ClusterHostname + } + return "" +} + +func (x *WorkstationCluster_PrivateClusterConfig) GetServiceAttachmentUri() string { + if x != nil { + return x.ServiceAttachmentUri + } + return "" +} + +func (x *WorkstationCluster_PrivateClusterConfig) GetAllowedProjects() []string { + if x != nil { + return x.AllowedProjects + } + return nil +} + +// Runtime host for a workstation. +type WorkstationConfig_Host struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Type of host that will be used for the workstation's runtime. + // + // Types that are assignable to Config: + // *WorkstationConfig_Host_GceInstance_ + Config isWorkstationConfig_Host_Config `protobuf_oneof:"config"` +} + +func (x *WorkstationConfig_Host) Reset() { + *x = WorkstationConfig_Host{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_Host) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_Host) ProtoMessage() {} + +func (x *WorkstationConfig_Host) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_Host.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_Host) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 0} +} + +func (m *WorkstationConfig_Host) GetConfig() isWorkstationConfig_Host_Config { + if m != nil { + return m.Config + } + return nil +} + +func (x *WorkstationConfig_Host) GetGceInstance() *WorkstationConfig_Host_GceInstance { + if x, ok := x.GetConfig().(*WorkstationConfig_Host_GceInstance_); ok { + return x.GceInstance + } + return nil +} + +type isWorkstationConfig_Host_Config interface { + isWorkstationConfig_Host_Config() +} + +type WorkstationConfig_Host_GceInstance_ struct { + // Specifies a Compute Engine instance as the host. + GceInstance *WorkstationConfig_Host_GceInstance `protobuf:"bytes,1,opt,name=gce_instance,json=gceInstance,proto3,oneof"` +} + +func (*WorkstationConfig_Host_GceInstance_) isWorkstationConfig_Host_Config() {} + +// A directory to persist across workstation sessions. +type WorkstationConfig_PersistentDirectory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // How a persistent directory should be implemented. + // + // Types that are assignable to DirectoryType: + // *WorkstationConfig_PersistentDirectory_GcePd + DirectoryType isWorkstationConfig_PersistentDirectory_DirectoryType `protobuf_oneof:"directory_type"` + // Location of this directory in the running workstation. + MountPath string `protobuf:"bytes,1,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` +} + +func (x *WorkstationConfig_PersistentDirectory) Reset() { + *x = WorkstationConfig_PersistentDirectory{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_PersistentDirectory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_PersistentDirectory) ProtoMessage() {} + +func (x *WorkstationConfig_PersistentDirectory) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_PersistentDirectory.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_PersistentDirectory) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 1} +} + +func (m *WorkstationConfig_PersistentDirectory) GetDirectoryType() isWorkstationConfig_PersistentDirectory_DirectoryType { + if m != nil { + return m.DirectoryType + } + return nil +} + +func (x *WorkstationConfig_PersistentDirectory) GetGcePd() *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk { + if x, ok := x.GetDirectoryType().(*WorkstationConfig_PersistentDirectory_GcePd); ok { + return x.GcePd + } + return nil +} + +func (x *WorkstationConfig_PersistentDirectory) GetMountPath() string { + if x != nil { + return x.MountPath + } + return "" +} + +type isWorkstationConfig_PersistentDirectory_DirectoryType interface { + isWorkstationConfig_PersistentDirectory_DirectoryType() +} + +type WorkstationConfig_PersistentDirectory_GcePd struct { + // A PersistentDirectory backed by a Compute Engine persistent disk. + GcePd *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk `protobuf:"bytes,2,opt,name=gce_pd,json=gcePd,proto3,oneof"` +} + +func (*WorkstationConfig_PersistentDirectory_GcePd) isWorkstationConfig_PersistentDirectory_DirectoryType() { +} + +// A Docker container. +type WorkstationConfig_Container struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Docker image defining the container. This image must be accessible by the + // config's service account. + Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` + // If set, overrides the default ENTRYPOINT specified by the image. + Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"` + // Arguments passed to the entrypoint. + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + // Environment variables passed to the container. + Env map[string]string `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If set, overrides the default DIR specified by the image. + WorkingDir string `protobuf:"bytes,5,opt,name=working_dir,json=workingDir,proto3" json:"working_dir,omitempty"` + // If set, overrides the USER specified in the image with the given uid. + RunAsUser int32 `protobuf:"varint,6,opt,name=run_as_user,json=runAsUser,proto3" json:"run_as_user,omitempty"` +} + +func (x *WorkstationConfig_Container) Reset() { + *x = WorkstationConfig_Container{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_Container) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_Container) ProtoMessage() {} + +func (x *WorkstationConfig_Container) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_Container.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_Container) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *WorkstationConfig_Container) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *WorkstationConfig_Container) GetCommand() []string { + if x != nil { + return x.Command + } + return nil +} + +func (x *WorkstationConfig_Container) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *WorkstationConfig_Container) GetEnv() map[string]string { + if x != nil { + return x.Env + } + return nil +} + +func (x *WorkstationConfig_Container) GetWorkingDir() string { + if x != nil { + return x.WorkingDir + } + return "" +} + +func (x *WorkstationConfig_Container) GetRunAsUser() int32 { + if x != nil { + return x.RunAsUser + } + return 0 +} + +// A customer-managed encryption key for the Compute Engine resources +// of this workstation configuration. +type WorkstationConfig_CustomerEncryptionKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the Google Cloud KMS encryption key. For example, + // `projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME`. + KmsKey string `protobuf:"bytes,1,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"` + // The service account to use with the specified + // KMS key. We recommend that you use a separate service account + // and follow KMS best practices. For more information, see + // [Separation of + // duties](https://cloud.google.com/kms/docs/separation-of-duties) and + // `gcloud kms keys add-iam-policy-binding` + // [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member). + KmsKeyServiceAccount string `protobuf:"bytes,2,opt,name=kms_key_service_account,json=kmsKeyServiceAccount,proto3" json:"kms_key_service_account,omitempty"` +} + +func (x *WorkstationConfig_CustomerEncryptionKey) Reset() { + *x = WorkstationConfig_CustomerEncryptionKey{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_CustomerEncryptionKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_CustomerEncryptionKey) ProtoMessage() {} + +func (x *WorkstationConfig_CustomerEncryptionKey) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_CustomerEncryptionKey.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_CustomerEncryptionKey) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *WorkstationConfig_CustomerEncryptionKey) GetKmsKey() string { + if x != nil { + return x.KmsKey + } + return "" +} + +func (x *WorkstationConfig_CustomerEncryptionKey) GetKmsKeyServiceAccount() string { + if x != nil { + return x.KmsKeyServiceAccount + } + return "" +} + +// A runtime using a Compute Engine instance. +type WorkstationConfig_Host_GceInstance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of a Compute Engine machine type. + MachineType string `protobuf:"bytes,1,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` + // Email address of the service account that will be used on VM instances + // used to support this config. If not set, VMs will run with a + // Google-managed service account. This service account must have + // permission to pull the specified container image, otherwise the image + // must be publicly accessible. + ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Network tags to add to the Compute Engine machines backing the + // Workstations. + Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + // Number of instances to pool for faster workstation starup. + PoolSize int32 `protobuf:"varint,5,opt,name=pool_size,json=poolSize,proto3" json:"pool_size,omitempty"` + // Whether instances have no public IP address. + DisablePublicIpAddresses bool `protobuf:"varint,6,opt,name=disable_public_ip_addresses,json=disablePublicIpAddresses,proto3" json:"disable_public_ip_addresses,omitempty"` + // Whether to enable nested virtualization on instances. + EnableNestedVirtualization bool `protobuf:"varint,7,opt,name=enable_nested_virtualization,json=enableNestedVirtualization,proto3" json:"enable_nested_virtualization,omitempty"` + // A set of Compute Engine Shielded instance options. + ShieldedInstanceConfig *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig `protobuf:"bytes,8,opt,name=shielded_instance_config,json=shieldedInstanceConfig,proto3" json:"shielded_instance_config,omitempty"` + // A set of Compute Engine Confidential VM instance options. + ConfidentialInstanceConfig *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig `protobuf:"bytes,10,opt,name=confidential_instance_config,json=confidentialInstanceConfig,proto3" json:"confidential_instance_config,omitempty"` + // Size of the boot disk in GB. Defaults to 50. + BootDiskSizeGb int32 `protobuf:"varint,9,opt,name=boot_disk_size_gb,json=bootDiskSizeGb,proto3" json:"boot_disk_size_gb,omitempty"` +} + +func (x *WorkstationConfig_Host_GceInstance) Reset() { + *x = WorkstationConfig_Host_GceInstance{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_Host_GceInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_Host_GceInstance) ProtoMessage() {} + +func (x *WorkstationConfig_Host_GceInstance) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 WorkstationConfig_Host_GceInstance.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_Host_GceInstance) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 0, 0} +} + +func (x *WorkstationConfig_Host_GceInstance) GetMachineType() string { + if x != nil { + return x.MachineType + } + return "" +} + +func (x *WorkstationConfig_Host_GceInstance) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *WorkstationConfig_Host_GceInstance) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *WorkstationConfig_Host_GceInstance) GetPoolSize() int32 { + if x != nil { + return x.PoolSize + } + return 0 +} + +func (x *WorkstationConfig_Host_GceInstance) GetDisablePublicIpAddresses() bool { + if x != nil { + return x.DisablePublicIpAddresses + } + return false +} + +func (x *WorkstationConfig_Host_GceInstance) GetEnableNestedVirtualization() bool { + if x != nil { + return x.EnableNestedVirtualization + } + return false +} + +func (x *WorkstationConfig_Host_GceInstance) GetShieldedInstanceConfig() *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig { + if x != nil { + return x.ShieldedInstanceConfig + } + return nil +} + +func (x *WorkstationConfig_Host_GceInstance) GetConfidentialInstanceConfig() *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig { + if x != nil { + return x.ConfidentialInstanceConfig + } + return nil +} + +func (x *WorkstationConfig_Host_GceInstance) GetBootDiskSizeGb() int32 { + if x != nil { + return x.BootDiskSizeGb + } + return 0 +} + +// A set of Compute Engine Shielded instance options. +type WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether the instance has Secure Boot enabled. + EnableSecureBoot bool `protobuf:"varint,1,opt,name=enable_secure_boot,json=enableSecureBoot,proto3" json:"enable_secure_boot,omitempty"` + // Whether the instance has the vTPM enabled. + EnableVtpm bool `protobuf:"varint,2,opt,name=enable_vtpm,json=enableVtpm,proto3" json:"enable_vtpm,omitempty"` + // Whether the instance has integrity monitoring enabled. + EnableIntegrityMonitoring bool `protobuf:"varint,3,opt,name=enable_integrity_monitoring,json=enableIntegrityMonitoring,proto3" json:"enable_integrity_monitoring,omitempty"` +} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) Reset() { + *x = WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) ProtoMessage() {} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_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 WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 0, 0, 0} +} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) GetEnableSecureBoot() bool { + if x != nil { + return x.EnableSecureBoot + } + return false +} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) GetEnableVtpm() bool { + if x != nil { + return x.EnableVtpm + } + return false +} + +func (x *WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig) GetEnableIntegrityMonitoring() bool { + if x != nil { + return x.EnableIntegrityMonitoring + } + return false +} + +// A set of Compute Engine Confidential VM instance options. +type WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether the instance has confidential compute enabled. + EnableConfidentialCompute bool `protobuf:"varint,1,opt,name=enable_confidential_compute,json=enableConfidentialCompute,proto3" json:"enable_confidential_compute,omitempty"` +} + +func (x *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) Reset() { + *x = WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) ProtoMessage() {} + +func (x *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 0, 0, 1} +} + +func (x *WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig) GetEnableConfidentialCompute() bool { + if x != nil { + return x.EnableConfidentialCompute + } + return false +} + +// A PersistentDirectory backed by a Compute Engine regional persistent +// disk. +type WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Size of the disk in GB. Must be empty if source_snapshot is set. + // Defaults to 200. + SizeGb int32 `protobuf:"varint,1,opt,name=size_gb,json=sizeGb,proto3" json:"size_gb,omitempty"` + // Type of file system that the disk should be formatted with. The + // workstation image must support this file system type. Must be empty + // if source_snapshot is set. Defaults to ext4. + FsType string `protobuf:"bytes,2,opt,name=fs_type,json=fsType,proto3" json:"fs_type,omitempty"` + // Type of the disk to use. Defaults to pd-standard. + DiskType string `protobuf:"bytes,3,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` + // Name of the snapshot to use as the source for the disk. If set, + // size_gb and fs_type must be empty. + SourceSnapshot string `protobuf:"bytes,5,opt,name=source_snapshot,json=sourceSnapshot,proto3" json:"source_snapshot,omitempty"` + // What should happen to the disk after the workstation is deleted. + // Defaults to DELETE. + ReclaimPolicy WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy `protobuf:"varint,4,opt,name=reclaim_policy,json=reclaimPolicy,proto3,enum=google.cloud.workstations.v1.WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy" json:"reclaim_policy,omitempty"` +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) Reset() { + *x = WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) ProtoMessage() {} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_workstations_v1_workstations_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk.ProtoReflect.Descriptor instead. +func (*WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) Descriptor() ([]byte, []int) { + return file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP(), []int{1, 1, 0} +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) GetSizeGb() int32 { + if x != nil { + return x.SizeGb + } + return 0 +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) GetFsType() string { + if x != nil { + return x.FsType + } + return "" +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) GetDiskType() string { + if x != nil { + return x.DiskType + } + return "" +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) GetSourceSnapshot() string { + if x != nil { + return x.SourceSnapshot + } + return "" +} + +func (x *WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk) GetReclaimPolicy() WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy { + if x != nil { + return x.ReclaimPolicy + } + return WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_RECLAIM_POLICY_UNSPECIFIED +} + +var File_google_cloud_workstations_v1_workstations_proto protoreflect.FileDescriptor + +var file_google_cloud_workstations_v1_workstations_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0xad, 0x0a, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, + 0x63, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x40, + 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x7b, 0x0a, 0x16, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x64, 0x65, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 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, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0xe9, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x15, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x73, + 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x72, 0x69, + 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 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, 0x8a, 0x01, 0xea, 0x41, 0x86, 0x01, 0x0a, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, + 0x52, 0x01, 0x01, 0x22, 0xed, 0x1a, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, + 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x62, + 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 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, 0x40, 0x0a, 0x0b, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x18, 0x0a, 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, 0x0b, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, + 0x42, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x0b, 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, 0x0e, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x7a, 0x0a, + 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x15, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x10, 0x20, 0x03, 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, 0x0a, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xf8, 0x07, 0x0a, 0x04, 0x48, + 0x6f, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x0c, 0x67, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x2e, + 0x47, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x67, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0xfe, 0x06, 0x0a, 0x0b, 0x47, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x94, 0x01, 0x0a, 0x18, 0x73, 0x68, 0x69, + 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6f, 0x73, + 0x74, 0x2e, 0x47, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x63, + 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, + 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0xa0, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x47, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x47, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x62, + 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x1a, 0xaa, 0x01, + 0x0a, 0x19, 0x47, 0x63, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 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, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x74, 0x70, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x74, 0x70, 0x6d, 0x12, 0x3e, 0x0a, 0x1b, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x5f, 0x0a, 0x1d, 0x47, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x1b, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xb2, 0x04, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x76, 0x0a, + 0x06, 0x67, 0x63, 0x65, 0x5f, 0x70, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x2e, 0x47, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, + 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x05, + 0x67, 0x63, 0x65, 0x50, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x1a, 0xf1, 0x02, 0x0a, 0x19, 0x47, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x12, 0x17, 0x0a, 0x07, 0x66, + 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x72, + 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x6b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x47, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, + 0x73, 0x6b, 0x2e, 0x52, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x0d, 0x72, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, + 0x47, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, 0x49, + 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x45, 0x54, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x9e, 0x02, 0x0a, 0x09, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 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, 0x54, 0x0a, 0x03, + 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x65, + 0x6e, 0x76, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x55, + 0x73, 0x65, 0x72, 0x1a, 0x36, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x15, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x35, 0x0a, + 0x17, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 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, + 0xb1, 0x01, 0xea, 0x41, 0xad, 0x01, 0x0a, 0x2d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 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, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x7d, + 0x52, 0x01, 0x01, 0x22, 0xa1, 0x08, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x5c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 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, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, + 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x68, + 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 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, + 0x6c, 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, + 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, + 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x04, 0x3a, 0xc7, 0x01, + 0xea, 0x41, 0xc3, 0x01, 0x0a, 0x27, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x94, 0x01, + 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x52, 0x01, 0x01, 0x22, 0x6a, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x12, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb9, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x30, 0x12, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x66, 0x0a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, + 0x79, 0x22, 0x95, 0x02, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x12, + 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xbc, 0x01, 0x0a, 0x1f, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x68, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xcc, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, + 0xb1, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x0a, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x91, + 0x02, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x63, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x11, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, + 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, + 0x5c, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x01, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2f, 0x0a, 0x2d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x4c, + 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 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, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x2a, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x0b, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, + 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, + 0x6c, 0x79, 0x22, 0xf8, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x50, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 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, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x98, 0x01, + 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, + 0x0a, 0x27, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xeb, 0x01, 0x0a, 0x1a, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x03, 0x74, 0x74, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x51, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x1b, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, + 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, + 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, + 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, + 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x32, 0x9b, 0x2a, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xe0, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0xad, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, + 0xb2, 0x01, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0xaf, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, + 0xb4, 0x01, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 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, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x70, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 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, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x1c, 0x4c, + 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x68, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xbc, 0x02, 0x0a, + 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4c, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xbe, 0x02, 0x0a, 0x17, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x1e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x5f, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfd, 0x01, 0x0a, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x2a, 0x4c, + 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x6a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, + 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x10, + 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x6c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, + 0x12, 0x5b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8c, 0x02, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x77, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x68, 0x12, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xa4, 0x02, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0xca, 0x41, 0x20, 0x0a, + 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xb9, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfa, 0x01, 0x0a, + 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xca, 0x41, 0x20, 0x0a, + 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x2a, 0x5b, 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, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x81, 0x02, 0x0a, 0x10, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x01, 0x2a, 0x22, 0x61, 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, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0xfe, 0x01, + 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x01, 0x2a, 0x22, 0x60, 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, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x9c, + 0x02, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0xda, 0x41, + 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x7b, 0x3a, 0x01, 0x2a, 0x22, 0x76, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 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, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x4f, 0xca, + 0x41, 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x7d, + 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x42, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0x3b, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_workstations_v1_workstations_proto_rawDescOnce sync.Once + file_google_cloud_workstations_v1_workstations_proto_rawDescData = file_google_cloud_workstations_v1_workstations_proto_rawDesc +) + +func file_google_cloud_workstations_v1_workstations_proto_rawDescGZIP() []byte { + file_google_cloud_workstations_v1_workstations_proto_rawDescOnce.Do(func() { + file_google_cloud_workstations_v1_workstations_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_workstations_v1_workstations_proto_rawDescData) + }) + return file_google_cloud_workstations_v1_workstations_proto_rawDescData +} + +var file_google_cloud_workstations_v1_workstations_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_workstations_v1_workstations_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_google_cloud_workstations_v1_workstations_proto_goTypes = []interface{}{ + (WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk_ReclaimPolicy)(0), // 0: google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.ReclaimPolicy + (Workstation_State)(0), // 1: google.cloud.workstations.v1.Workstation.State + (*WorkstationCluster)(nil), // 2: google.cloud.workstations.v1.WorkstationCluster + (*WorkstationConfig)(nil), // 3: google.cloud.workstations.v1.WorkstationConfig + (*Workstation)(nil), // 4: google.cloud.workstations.v1.Workstation + (*GetWorkstationClusterRequest)(nil), // 5: google.cloud.workstations.v1.GetWorkstationClusterRequest + (*ListWorkstationClustersRequest)(nil), // 6: google.cloud.workstations.v1.ListWorkstationClustersRequest + (*ListWorkstationClustersResponse)(nil), // 7: google.cloud.workstations.v1.ListWorkstationClustersResponse + (*CreateWorkstationClusterRequest)(nil), // 8: google.cloud.workstations.v1.CreateWorkstationClusterRequest + (*UpdateWorkstationClusterRequest)(nil), // 9: google.cloud.workstations.v1.UpdateWorkstationClusterRequest + (*DeleteWorkstationClusterRequest)(nil), // 10: google.cloud.workstations.v1.DeleteWorkstationClusterRequest + (*GetWorkstationConfigRequest)(nil), // 11: google.cloud.workstations.v1.GetWorkstationConfigRequest + (*ListWorkstationConfigsRequest)(nil), // 12: google.cloud.workstations.v1.ListWorkstationConfigsRequest + (*ListWorkstationConfigsResponse)(nil), // 13: google.cloud.workstations.v1.ListWorkstationConfigsResponse + (*ListUsableWorkstationConfigsRequest)(nil), // 14: google.cloud.workstations.v1.ListUsableWorkstationConfigsRequest + (*ListUsableWorkstationConfigsResponse)(nil), // 15: google.cloud.workstations.v1.ListUsableWorkstationConfigsResponse + (*CreateWorkstationConfigRequest)(nil), // 16: google.cloud.workstations.v1.CreateWorkstationConfigRequest + (*UpdateWorkstationConfigRequest)(nil), // 17: google.cloud.workstations.v1.UpdateWorkstationConfigRequest + (*DeleteWorkstationConfigRequest)(nil), // 18: google.cloud.workstations.v1.DeleteWorkstationConfigRequest + (*GetWorkstationRequest)(nil), // 19: google.cloud.workstations.v1.GetWorkstationRequest + (*ListWorkstationsRequest)(nil), // 20: google.cloud.workstations.v1.ListWorkstationsRequest + (*ListWorkstationsResponse)(nil), // 21: google.cloud.workstations.v1.ListWorkstationsResponse + (*ListUsableWorkstationsRequest)(nil), // 22: google.cloud.workstations.v1.ListUsableWorkstationsRequest + (*ListUsableWorkstationsResponse)(nil), // 23: google.cloud.workstations.v1.ListUsableWorkstationsResponse + (*CreateWorkstationRequest)(nil), // 24: google.cloud.workstations.v1.CreateWorkstationRequest + (*UpdateWorkstationRequest)(nil), // 25: google.cloud.workstations.v1.UpdateWorkstationRequest + (*DeleteWorkstationRequest)(nil), // 26: google.cloud.workstations.v1.DeleteWorkstationRequest + (*StartWorkstationRequest)(nil), // 27: google.cloud.workstations.v1.StartWorkstationRequest + (*StopWorkstationRequest)(nil), // 28: google.cloud.workstations.v1.StopWorkstationRequest + (*GenerateAccessTokenRequest)(nil), // 29: google.cloud.workstations.v1.GenerateAccessTokenRequest + (*GenerateAccessTokenResponse)(nil), // 30: google.cloud.workstations.v1.GenerateAccessTokenResponse + (*OperationMetadata)(nil), // 31: google.cloud.workstations.v1.OperationMetadata + (*WorkstationCluster_PrivateClusterConfig)(nil), // 32: google.cloud.workstations.v1.WorkstationCluster.PrivateClusterConfig + nil, // 33: google.cloud.workstations.v1.WorkstationCluster.AnnotationsEntry + nil, // 34: google.cloud.workstations.v1.WorkstationCluster.LabelsEntry + (*WorkstationConfig_Host)(nil), // 35: google.cloud.workstations.v1.WorkstationConfig.Host + (*WorkstationConfig_PersistentDirectory)(nil), // 36: google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory + (*WorkstationConfig_Container)(nil), // 37: google.cloud.workstations.v1.WorkstationConfig.Container + (*WorkstationConfig_CustomerEncryptionKey)(nil), // 38: google.cloud.workstations.v1.WorkstationConfig.CustomerEncryptionKey + nil, // 39: google.cloud.workstations.v1.WorkstationConfig.AnnotationsEntry + nil, // 40: google.cloud.workstations.v1.WorkstationConfig.LabelsEntry + (*WorkstationConfig_Host_GceInstance)(nil), // 41: google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance + (*WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig)(nil), // 42: google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig + (*WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig)(nil), // 43: google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig + (*WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk)(nil), // 44: google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk + nil, // 45: google.cloud.workstations.v1.WorkstationConfig.Container.EnvEntry + nil, // 46: google.cloud.workstations.v1.Workstation.AnnotationsEntry + nil, // 47: google.cloud.workstations.v1.Workstation.LabelsEntry + (*timestamppb.Timestamp)(nil), // 48: google.protobuf.Timestamp + (*status.Status)(nil), // 49: google.rpc.Status + (*durationpb.Duration)(nil), // 50: google.protobuf.Duration + (*fieldmaskpb.FieldMask)(nil), // 51: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 52: google.longrunning.Operation +} +var file_google_cloud_workstations_v1_workstations_proto_depIdxs = []int32{ + 33, // 0: google.cloud.workstations.v1.WorkstationCluster.annotations:type_name -> google.cloud.workstations.v1.WorkstationCluster.AnnotationsEntry + 34, // 1: google.cloud.workstations.v1.WorkstationCluster.labels:type_name -> google.cloud.workstations.v1.WorkstationCluster.LabelsEntry + 48, // 2: google.cloud.workstations.v1.WorkstationCluster.create_time:type_name -> google.protobuf.Timestamp + 48, // 3: google.cloud.workstations.v1.WorkstationCluster.update_time:type_name -> google.protobuf.Timestamp + 48, // 4: google.cloud.workstations.v1.WorkstationCluster.delete_time:type_name -> google.protobuf.Timestamp + 32, // 5: google.cloud.workstations.v1.WorkstationCluster.private_cluster_config:type_name -> google.cloud.workstations.v1.WorkstationCluster.PrivateClusterConfig + 49, // 6: google.cloud.workstations.v1.WorkstationCluster.conditions:type_name -> google.rpc.Status + 39, // 7: google.cloud.workstations.v1.WorkstationConfig.annotations:type_name -> google.cloud.workstations.v1.WorkstationConfig.AnnotationsEntry + 40, // 8: google.cloud.workstations.v1.WorkstationConfig.labels:type_name -> google.cloud.workstations.v1.WorkstationConfig.LabelsEntry + 48, // 9: google.cloud.workstations.v1.WorkstationConfig.create_time:type_name -> google.protobuf.Timestamp + 48, // 10: google.cloud.workstations.v1.WorkstationConfig.update_time:type_name -> google.protobuf.Timestamp + 48, // 11: google.cloud.workstations.v1.WorkstationConfig.delete_time:type_name -> google.protobuf.Timestamp + 50, // 12: google.cloud.workstations.v1.WorkstationConfig.idle_timeout:type_name -> google.protobuf.Duration + 50, // 13: google.cloud.workstations.v1.WorkstationConfig.running_timeout:type_name -> google.protobuf.Duration + 35, // 14: google.cloud.workstations.v1.WorkstationConfig.host:type_name -> google.cloud.workstations.v1.WorkstationConfig.Host + 36, // 15: google.cloud.workstations.v1.WorkstationConfig.persistent_directories:type_name -> google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory + 37, // 16: google.cloud.workstations.v1.WorkstationConfig.container:type_name -> google.cloud.workstations.v1.WorkstationConfig.Container + 38, // 17: google.cloud.workstations.v1.WorkstationConfig.encryption_key:type_name -> google.cloud.workstations.v1.WorkstationConfig.CustomerEncryptionKey + 49, // 18: google.cloud.workstations.v1.WorkstationConfig.conditions:type_name -> google.rpc.Status + 46, // 19: google.cloud.workstations.v1.Workstation.annotations:type_name -> google.cloud.workstations.v1.Workstation.AnnotationsEntry + 47, // 20: google.cloud.workstations.v1.Workstation.labels:type_name -> google.cloud.workstations.v1.Workstation.LabelsEntry + 48, // 21: google.cloud.workstations.v1.Workstation.create_time:type_name -> google.protobuf.Timestamp + 48, // 22: google.cloud.workstations.v1.Workstation.update_time:type_name -> google.protobuf.Timestamp + 48, // 23: google.cloud.workstations.v1.Workstation.delete_time:type_name -> google.protobuf.Timestamp + 1, // 24: google.cloud.workstations.v1.Workstation.state:type_name -> google.cloud.workstations.v1.Workstation.State + 2, // 25: google.cloud.workstations.v1.ListWorkstationClustersResponse.workstation_clusters:type_name -> google.cloud.workstations.v1.WorkstationCluster + 2, // 26: google.cloud.workstations.v1.CreateWorkstationClusterRequest.workstation_cluster:type_name -> google.cloud.workstations.v1.WorkstationCluster + 2, // 27: google.cloud.workstations.v1.UpdateWorkstationClusterRequest.workstation_cluster:type_name -> google.cloud.workstations.v1.WorkstationCluster + 51, // 28: google.cloud.workstations.v1.UpdateWorkstationClusterRequest.update_mask:type_name -> google.protobuf.FieldMask + 3, // 29: google.cloud.workstations.v1.ListWorkstationConfigsResponse.workstation_configs:type_name -> google.cloud.workstations.v1.WorkstationConfig + 3, // 30: google.cloud.workstations.v1.ListUsableWorkstationConfigsResponse.workstation_configs:type_name -> google.cloud.workstations.v1.WorkstationConfig + 3, // 31: google.cloud.workstations.v1.CreateWorkstationConfigRequest.workstation_config:type_name -> google.cloud.workstations.v1.WorkstationConfig + 3, // 32: google.cloud.workstations.v1.UpdateWorkstationConfigRequest.workstation_config:type_name -> google.cloud.workstations.v1.WorkstationConfig + 51, // 33: google.cloud.workstations.v1.UpdateWorkstationConfigRequest.update_mask:type_name -> google.protobuf.FieldMask + 4, // 34: google.cloud.workstations.v1.ListWorkstationsResponse.workstations:type_name -> google.cloud.workstations.v1.Workstation + 4, // 35: google.cloud.workstations.v1.ListUsableWorkstationsResponse.workstations:type_name -> google.cloud.workstations.v1.Workstation + 4, // 36: google.cloud.workstations.v1.CreateWorkstationRequest.workstation:type_name -> google.cloud.workstations.v1.Workstation + 4, // 37: google.cloud.workstations.v1.UpdateWorkstationRequest.workstation:type_name -> google.cloud.workstations.v1.Workstation + 51, // 38: google.cloud.workstations.v1.UpdateWorkstationRequest.update_mask:type_name -> google.protobuf.FieldMask + 48, // 39: google.cloud.workstations.v1.GenerateAccessTokenRequest.expire_time:type_name -> google.protobuf.Timestamp + 50, // 40: google.cloud.workstations.v1.GenerateAccessTokenRequest.ttl:type_name -> google.protobuf.Duration + 48, // 41: google.cloud.workstations.v1.GenerateAccessTokenResponse.expire_time:type_name -> google.protobuf.Timestamp + 48, // 42: google.cloud.workstations.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 48, // 43: google.cloud.workstations.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 41, // 44: google.cloud.workstations.v1.WorkstationConfig.Host.gce_instance:type_name -> google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance + 44, // 45: google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.gce_pd:type_name -> google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk + 45, // 46: google.cloud.workstations.v1.WorkstationConfig.Container.env:type_name -> google.cloud.workstations.v1.WorkstationConfig.Container.EnvEntry + 42, // 47: google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.shielded_instance_config:type_name -> google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig + 43, // 48: google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.confidential_instance_config:type_name -> google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig + 0, // 49: google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.reclaim_policy:type_name -> google.cloud.workstations.v1.WorkstationConfig.PersistentDirectory.GceRegionalPersistentDisk.ReclaimPolicy + 5, // 50: google.cloud.workstations.v1.Workstations.GetWorkstationCluster:input_type -> google.cloud.workstations.v1.GetWorkstationClusterRequest + 6, // 51: google.cloud.workstations.v1.Workstations.ListWorkstationClusters:input_type -> google.cloud.workstations.v1.ListWorkstationClustersRequest + 8, // 52: google.cloud.workstations.v1.Workstations.CreateWorkstationCluster:input_type -> google.cloud.workstations.v1.CreateWorkstationClusterRequest + 9, // 53: google.cloud.workstations.v1.Workstations.UpdateWorkstationCluster:input_type -> google.cloud.workstations.v1.UpdateWorkstationClusterRequest + 10, // 54: google.cloud.workstations.v1.Workstations.DeleteWorkstationCluster:input_type -> google.cloud.workstations.v1.DeleteWorkstationClusterRequest + 11, // 55: google.cloud.workstations.v1.Workstations.GetWorkstationConfig:input_type -> google.cloud.workstations.v1.GetWorkstationConfigRequest + 12, // 56: google.cloud.workstations.v1.Workstations.ListWorkstationConfigs:input_type -> google.cloud.workstations.v1.ListWorkstationConfigsRequest + 14, // 57: google.cloud.workstations.v1.Workstations.ListUsableWorkstationConfigs:input_type -> google.cloud.workstations.v1.ListUsableWorkstationConfigsRequest + 16, // 58: google.cloud.workstations.v1.Workstations.CreateWorkstationConfig:input_type -> google.cloud.workstations.v1.CreateWorkstationConfigRequest + 17, // 59: google.cloud.workstations.v1.Workstations.UpdateWorkstationConfig:input_type -> google.cloud.workstations.v1.UpdateWorkstationConfigRequest + 18, // 60: google.cloud.workstations.v1.Workstations.DeleteWorkstationConfig:input_type -> google.cloud.workstations.v1.DeleteWorkstationConfigRequest + 19, // 61: google.cloud.workstations.v1.Workstations.GetWorkstation:input_type -> google.cloud.workstations.v1.GetWorkstationRequest + 20, // 62: google.cloud.workstations.v1.Workstations.ListWorkstations:input_type -> google.cloud.workstations.v1.ListWorkstationsRequest + 22, // 63: google.cloud.workstations.v1.Workstations.ListUsableWorkstations:input_type -> google.cloud.workstations.v1.ListUsableWorkstationsRequest + 24, // 64: google.cloud.workstations.v1.Workstations.CreateWorkstation:input_type -> google.cloud.workstations.v1.CreateWorkstationRequest + 25, // 65: google.cloud.workstations.v1.Workstations.UpdateWorkstation:input_type -> google.cloud.workstations.v1.UpdateWorkstationRequest + 26, // 66: google.cloud.workstations.v1.Workstations.DeleteWorkstation:input_type -> google.cloud.workstations.v1.DeleteWorkstationRequest + 27, // 67: google.cloud.workstations.v1.Workstations.StartWorkstation:input_type -> google.cloud.workstations.v1.StartWorkstationRequest + 28, // 68: google.cloud.workstations.v1.Workstations.StopWorkstation:input_type -> google.cloud.workstations.v1.StopWorkstationRequest + 29, // 69: google.cloud.workstations.v1.Workstations.GenerateAccessToken:input_type -> google.cloud.workstations.v1.GenerateAccessTokenRequest + 2, // 70: google.cloud.workstations.v1.Workstations.GetWorkstationCluster:output_type -> google.cloud.workstations.v1.WorkstationCluster + 7, // 71: google.cloud.workstations.v1.Workstations.ListWorkstationClusters:output_type -> google.cloud.workstations.v1.ListWorkstationClustersResponse + 52, // 72: google.cloud.workstations.v1.Workstations.CreateWorkstationCluster:output_type -> google.longrunning.Operation + 52, // 73: google.cloud.workstations.v1.Workstations.UpdateWorkstationCluster:output_type -> google.longrunning.Operation + 52, // 74: google.cloud.workstations.v1.Workstations.DeleteWorkstationCluster:output_type -> google.longrunning.Operation + 3, // 75: google.cloud.workstations.v1.Workstations.GetWorkstationConfig:output_type -> google.cloud.workstations.v1.WorkstationConfig + 13, // 76: google.cloud.workstations.v1.Workstations.ListWorkstationConfigs:output_type -> google.cloud.workstations.v1.ListWorkstationConfigsResponse + 15, // 77: google.cloud.workstations.v1.Workstations.ListUsableWorkstationConfigs:output_type -> google.cloud.workstations.v1.ListUsableWorkstationConfigsResponse + 52, // 78: google.cloud.workstations.v1.Workstations.CreateWorkstationConfig:output_type -> google.longrunning.Operation + 52, // 79: google.cloud.workstations.v1.Workstations.UpdateWorkstationConfig:output_type -> google.longrunning.Operation + 52, // 80: google.cloud.workstations.v1.Workstations.DeleteWorkstationConfig:output_type -> google.longrunning.Operation + 4, // 81: google.cloud.workstations.v1.Workstations.GetWorkstation:output_type -> google.cloud.workstations.v1.Workstation + 21, // 82: google.cloud.workstations.v1.Workstations.ListWorkstations:output_type -> google.cloud.workstations.v1.ListWorkstationsResponse + 23, // 83: google.cloud.workstations.v1.Workstations.ListUsableWorkstations:output_type -> google.cloud.workstations.v1.ListUsableWorkstationsResponse + 52, // 84: google.cloud.workstations.v1.Workstations.CreateWorkstation:output_type -> google.longrunning.Operation + 52, // 85: google.cloud.workstations.v1.Workstations.UpdateWorkstation:output_type -> google.longrunning.Operation + 52, // 86: google.cloud.workstations.v1.Workstations.DeleteWorkstation:output_type -> google.longrunning.Operation + 52, // 87: google.cloud.workstations.v1.Workstations.StartWorkstation:output_type -> google.longrunning.Operation + 52, // 88: google.cloud.workstations.v1.Workstations.StopWorkstation:output_type -> google.longrunning.Operation + 30, // 89: google.cloud.workstations.v1.Workstations.GenerateAccessToken:output_type -> google.cloud.workstations.v1.GenerateAccessTokenResponse + 70, // [70:90] is the sub-list for method output_type + 50, // [50:70] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name +} + +func init() { file_google_cloud_workstations_v1_workstations_proto_init() } +func file_google_cloud_workstations_v1_workstations_proto_init() { + if File_google_cloud_workstations_v1_workstations_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_workstations_v1_workstations_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Workstation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkstationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateWorkstationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkstationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteWorkstationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkstationConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationConfigsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationConfigsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableWorkstationConfigsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableWorkstationConfigsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateWorkstationConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkstationConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteWorkstationConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListWorkstationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableWorkstationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableWorkstationsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StartWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopWorkstationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateAccessTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenerateAccessTokenResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationCluster_PrivateClusterConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_Host); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_PersistentDirectory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_Container); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_CustomerEncryptionKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_Host_GceInstance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_Host_GceInstance_GceShieldedInstanceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_Host_GceInstance_GceConfidentialInstanceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkstationConfig_PersistentDirectory_GceRegionalPersistentDisk); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[27].OneofWrappers = []interface{}{ + (*GenerateAccessTokenRequest_ExpireTime)(nil), + (*GenerateAccessTokenRequest_Ttl)(nil), + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[33].OneofWrappers = []interface{}{ + (*WorkstationConfig_Host_GceInstance_)(nil), + } + file_google_cloud_workstations_v1_workstations_proto_msgTypes[34].OneofWrappers = []interface{}{ + (*WorkstationConfig_PersistentDirectory_GcePd)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_workstations_v1_workstations_proto_rawDesc, + NumEnums: 2, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_workstations_v1_workstations_proto_goTypes, + DependencyIndexes: file_google_cloud_workstations_v1_workstations_proto_depIdxs, + EnumInfos: file_google_cloud_workstations_v1_workstations_proto_enumTypes, + MessageInfos: file_google_cloud_workstations_v1_workstations_proto_msgTypes, + }.Build() + File_google_cloud_workstations_v1_workstations_proto = out.File + file_google_cloud_workstations_v1_workstations_proto_rawDesc = nil + file_google_cloud_workstations_v1_workstations_proto_goTypes = nil + file_google_cloud_workstations_v1_workstations_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 + +// WorkstationsClient is the client API for Workstations service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type WorkstationsClient interface { + // Returns the requested workstation cluster. + GetWorkstationCluster(ctx context.Context, in *GetWorkstationClusterRequest, opts ...grpc.CallOption) (*WorkstationCluster, error) + // Returns all workstation clusters in the specified location. + ListWorkstationClusters(ctx context.Context, in *ListWorkstationClustersRequest, opts ...grpc.CallOption) (*ListWorkstationClustersResponse, error) + // Creates a new workstation cluster. + CreateWorkstationCluster(ctx context.Context, in *CreateWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an existing workstation cluster. + UpdateWorkstationCluster(ctx context.Context, in *UpdateWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes the specified workstation cluster. + DeleteWorkstationCluster(ctx context.Context, in *DeleteWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Returns the requested workstation configuration. + GetWorkstationConfig(ctx context.Context, in *GetWorkstationConfigRequest, opts ...grpc.CallOption) (*WorkstationConfig, error) + // Returns all WorkstationConfigs in the specified cluster. + ListWorkstationConfigs(ctx context.Context, in *ListWorkstationConfigsRequest, opts ...grpc.CallOption) (*ListWorkstationConfigsResponse, error) + // Returns all workstation configurations in the specified cluster on which + // the caller has the "workstations.workstation.create" permission. + ListUsableWorkstationConfigs(ctx context.Context, in *ListUsableWorkstationConfigsRequest, opts ...grpc.CallOption) (*ListUsableWorkstationConfigsResponse, error) + // Creates a new workstation configuration. + CreateWorkstationConfig(ctx context.Context, in *CreateWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an existing workstation configuration. + UpdateWorkstationConfig(ctx context.Context, in *UpdateWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes the specified workstation configuration. + DeleteWorkstationConfig(ctx context.Context, in *DeleteWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Returns the requested workstation. + GetWorkstation(ctx context.Context, in *GetWorkstationRequest, opts ...grpc.CallOption) (*Workstation, error) + // Returns all Workstations using the specified config. + ListWorkstations(ctx context.Context, in *ListWorkstationsRequest, opts ...grpc.CallOption) (*ListWorkstationsResponse, error) + // Returns all Workstations using the specified config on which the caller has + // the "workstations.workstations.use" permission. + ListUsableWorkstations(ctx context.Context, in *ListUsableWorkstationsRequest, opts ...grpc.CallOption) (*ListUsableWorkstationsResponse, error) + // Creates a new workstation. + CreateWorkstation(ctx context.Context, in *CreateWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates an existing workstation. + UpdateWorkstation(ctx context.Context, in *UpdateWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes the specified workstation. + DeleteWorkstation(ctx context.Context, in *DeleteWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Starts running a workstation so that users can connect to it. + StartWorkstation(ctx context.Context, in *StartWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Stops running a workstation, reducing costs. + StopWorkstation(ctx context.Context, in *StopWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Returns a short-lived credential that can be used to send authenticated and + // authorized traffic to a workstation. + GenerateAccessToken(ctx context.Context, in *GenerateAccessTokenRequest, opts ...grpc.CallOption) (*GenerateAccessTokenResponse, error) +} + +type workstationsClient struct { + cc grpc.ClientConnInterface +} + +func NewWorkstationsClient(cc grpc.ClientConnInterface) WorkstationsClient { + return &workstationsClient{cc} +} + +func (c *workstationsClient) GetWorkstationCluster(ctx context.Context, in *GetWorkstationClusterRequest, opts ...grpc.CallOption) (*WorkstationCluster, error) { + out := new(WorkstationCluster) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/GetWorkstationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) ListWorkstationClusters(ctx context.Context, in *ListWorkstationClustersRequest, opts ...grpc.CallOption) (*ListWorkstationClustersResponse, error) { + out := new(ListWorkstationClustersResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/ListWorkstationClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) CreateWorkstationCluster(ctx context.Context, in *CreateWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/CreateWorkstationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) UpdateWorkstationCluster(ctx context.Context, in *UpdateWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/UpdateWorkstationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) DeleteWorkstationCluster(ctx context.Context, in *DeleteWorkstationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/DeleteWorkstationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) GetWorkstationConfig(ctx context.Context, in *GetWorkstationConfigRequest, opts ...grpc.CallOption) (*WorkstationConfig, error) { + out := new(WorkstationConfig) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/GetWorkstationConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) ListWorkstationConfigs(ctx context.Context, in *ListWorkstationConfigsRequest, opts ...grpc.CallOption) (*ListWorkstationConfigsResponse, error) { + out := new(ListWorkstationConfigsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/ListWorkstationConfigs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) ListUsableWorkstationConfigs(ctx context.Context, in *ListUsableWorkstationConfigsRequest, opts ...grpc.CallOption) (*ListUsableWorkstationConfigsResponse, error) { + out := new(ListUsableWorkstationConfigsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/ListUsableWorkstationConfigs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) CreateWorkstationConfig(ctx context.Context, in *CreateWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/CreateWorkstationConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) UpdateWorkstationConfig(ctx context.Context, in *UpdateWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/UpdateWorkstationConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) DeleteWorkstationConfig(ctx context.Context, in *DeleteWorkstationConfigRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/DeleteWorkstationConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) GetWorkstation(ctx context.Context, in *GetWorkstationRequest, opts ...grpc.CallOption) (*Workstation, error) { + out := new(Workstation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/GetWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) ListWorkstations(ctx context.Context, in *ListWorkstationsRequest, opts ...grpc.CallOption) (*ListWorkstationsResponse, error) { + out := new(ListWorkstationsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/ListWorkstations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) ListUsableWorkstations(ctx context.Context, in *ListUsableWorkstationsRequest, opts ...grpc.CallOption) (*ListUsableWorkstationsResponse, error) { + out := new(ListUsableWorkstationsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/ListUsableWorkstations", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) CreateWorkstation(ctx context.Context, in *CreateWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/CreateWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) UpdateWorkstation(ctx context.Context, in *UpdateWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/UpdateWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) DeleteWorkstation(ctx context.Context, in *DeleteWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/DeleteWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) StartWorkstation(ctx context.Context, in *StartWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/StartWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) StopWorkstation(ctx context.Context, in *StopWorkstationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/StopWorkstation", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workstationsClient) GenerateAccessToken(ctx context.Context, in *GenerateAccessTokenRequest, opts ...grpc.CallOption) (*GenerateAccessTokenResponse, error) { + out := new(GenerateAccessTokenResponse) + err := c.cc.Invoke(ctx, "/google.cloud.workstations.v1.Workstations/GenerateAccessToken", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WorkstationsServer is the server API for Workstations service. +type WorkstationsServer interface { + // Returns the requested workstation cluster. + GetWorkstationCluster(context.Context, *GetWorkstationClusterRequest) (*WorkstationCluster, error) + // Returns all workstation clusters in the specified location. + ListWorkstationClusters(context.Context, *ListWorkstationClustersRequest) (*ListWorkstationClustersResponse, error) + // Creates a new workstation cluster. + CreateWorkstationCluster(context.Context, *CreateWorkstationClusterRequest) (*longrunningpb.Operation, error) + // Updates an existing workstation cluster. + UpdateWorkstationCluster(context.Context, *UpdateWorkstationClusterRequest) (*longrunningpb.Operation, error) + // Deletes the specified workstation cluster. + DeleteWorkstationCluster(context.Context, *DeleteWorkstationClusterRequest) (*longrunningpb.Operation, error) + // Returns the requested workstation configuration. + GetWorkstationConfig(context.Context, *GetWorkstationConfigRequest) (*WorkstationConfig, error) + // Returns all WorkstationConfigs in the specified cluster. + ListWorkstationConfigs(context.Context, *ListWorkstationConfigsRequest) (*ListWorkstationConfigsResponse, error) + // Returns all workstation configurations in the specified cluster on which + // the caller has the "workstations.workstation.create" permission. + ListUsableWorkstationConfigs(context.Context, *ListUsableWorkstationConfigsRequest) (*ListUsableWorkstationConfigsResponse, error) + // Creates a new workstation configuration. + CreateWorkstationConfig(context.Context, *CreateWorkstationConfigRequest) (*longrunningpb.Operation, error) + // Updates an existing workstation configuration. + UpdateWorkstationConfig(context.Context, *UpdateWorkstationConfigRequest) (*longrunningpb.Operation, error) + // Deletes the specified workstation configuration. + DeleteWorkstationConfig(context.Context, *DeleteWorkstationConfigRequest) (*longrunningpb.Operation, error) + // Returns the requested workstation. + GetWorkstation(context.Context, *GetWorkstationRequest) (*Workstation, error) + // Returns all Workstations using the specified config. + ListWorkstations(context.Context, *ListWorkstationsRequest) (*ListWorkstationsResponse, error) + // Returns all Workstations using the specified config on which the caller has + // the "workstations.workstations.use" permission. + ListUsableWorkstations(context.Context, *ListUsableWorkstationsRequest) (*ListUsableWorkstationsResponse, error) + // Creates a new workstation. + CreateWorkstation(context.Context, *CreateWorkstationRequest) (*longrunningpb.Operation, error) + // Updates an existing workstation. + UpdateWorkstation(context.Context, *UpdateWorkstationRequest) (*longrunningpb.Operation, error) + // Deletes the specified workstation. + DeleteWorkstation(context.Context, *DeleteWorkstationRequest) (*longrunningpb.Operation, error) + // Starts running a workstation so that users can connect to it. + StartWorkstation(context.Context, *StartWorkstationRequest) (*longrunningpb.Operation, error) + // Stops running a workstation, reducing costs. + StopWorkstation(context.Context, *StopWorkstationRequest) (*longrunningpb.Operation, error) + // Returns a short-lived credential that can be used to send authenticated and + // authorized traffic to a workstation. + GenerateAccessToken(context.Context, *GenerateAccessTokenRequest) (*GenerateAccessTokenResponse, error) +} + +// UnimplementedWorkstationsServer can be embedded to have forward compatible implementations. +type UnimplementedWorkstationsServer struct { +} + +func (*UnimplementedWorkstationsServer) GetWorkstationCluster(context.Context, *GetWorkstationClusterRequest) (*WorkstationCluster, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GetWorkstationCluster not implemented") +} +func (*UnimplementedWorkstationsServer) ListWorkstationClusters(context.Context, *ListWorkstationClustersRequest) (*ListWorkstationClustersResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListWorkstationClusters not implemented") +} +func (*UnimplementedWorkstationsServer) CreateWorkstationCluster(context.Context, *CreateWorkstationClusterRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method CreateWorkstationCluster not implemented") +} +func (*UnimplementedWorkstationsServer) UpdateWorkstationCluster(context.Context, *UpdateWorkstationClusterRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method UpdateWorkstationCluster not implemented") +} +func (*UnimplementedWorkstationsServer) DeleteWorkstationCluster(context.Context, *DeleteWorkstationClusterRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method DeleteWorkstationCluster not implemented") +} +func (*UnimplementedWorkstationsServer) GetWorkstationConfig(context.Context, *GetWorkstationConfigRequest) (*WorkstationConfig, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GetWorkstationConfig not implemented") +} +func (*UnimplementedWorkstationsServer) ListWorkstationConfigs(context.Context, *ListWorkstationConfigsRequest) (*ListWorkstationConfigsResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListWorkstationConfigs not implemented") +} +func (*UnimplementedWorkstationsServer) ListUsableWorkstationConfigs(context.Context, *ListUsableWorkstationConfigsRequest) (*ListUsableWorkstationConfigsResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListUsableWorkstationConfigs not implemented") +} +func (*UnimplementedWorkstationsServer) CreateWorkstationConfig(context.Context, *CreateWorkstationConfigRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method CreateWorkstationConfig not implemented") +} +func (*UnimplementedWorkstationsServer) UpdateWorkstationConfig(context.Context, *UpdateWorkstationConfigRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method UpdateWorkstationConfig not implemented") +} +func (*UnimplementedWorkstationsServer) DeleteWorkstationConfig(context.Context, *DeleteWorkstationConfigRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method DeleteWorkstationConfig not implemented") +} +func (*UnimplementedWorkstationsServer) GetWorkstation(context.Context, *GetWorkstationRequest) (*Workstation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GetWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) ListWorkstations(context.Context, *ListWorkstationsRequest) (*ListWorkstationsResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListWorkstations not implemented") +} +func (*UnimplementedWorkstationsServer) ListUsableWorkstations(context.Context, *ListUsableWorkstationsRequest) (*ListUsableWorkstationsResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method ListUsableWorkstations not implemented") +} +func (*UnimplementedWorkstationsServer) CreateWorkstation(context.Context, *CreateWorkstationRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method CreateWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) UpdateWorkstation(context.Context, *UpdateWorkstationRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method UpdateWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) DeleteWorkstation(context.Context, *DeleteWorkstationRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method DeleteWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) StartWorkstation(context.Context, *StartWorkstationRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method StartWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) StopWorkstation(context.Context, *StopWorkstationRequest) (*longrunningpb.Operation, error) { + return nil, status1.Errorf(codes.Unimplemented, "method StopWorkstation not implemented") +} +func (*UnimplementedWorkstationsServer) GenerateAccessToken(context.Context, *GenerateAccessTokenRequest) (*GenerateAccessTokenResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method GenerateAccessToken not implemented") +} + +func RegisterWorkstationsServer(s *grpc.Server, srv WorkstationsServer) { + s.RegisterService(&_Workstations_serviceDesc, srv) +} + +func _Workstations_GetWorkstationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkstationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).GetWorkstationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/GetWorkstationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).GetWorkstationCluster(ctx, req.(*GetWorkstationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_ListWorkstationClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkstationClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).ListWorkstationClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/ListWorkstationClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).ListWorkstationClusters(ctx, req.(*ListWorkstationClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_CreateWorkstationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkstationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).CreateWorkstationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/CreateWorkstationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).CreateWorkstationCluster(ctx, req.(*CreateWorkstationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_UpdateWorkstationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkstationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).UpdateWorkstationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/UpdateWorkstationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).UpdateWorkstationCluster(ctx, req.(*UpdateWorkstationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_DeleteWorkstationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkstationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).DeleteWorkstationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/DeleteWorkstationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).DeleteWorkstationCluster(ctx, req.(*DeleteWorkstationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_GetWorkstationConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkstationConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).GetWorkstationConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/GetWorkstationConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).GetWorkstationConfig(ctx, req.(*GetWorkstationConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_ListWorkstationConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkstationConfigsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).ListWorkstationConfigs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/ListWorkstationConfigs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).ListWorkstationConfigs(ctx, req.(*ListWorkstationConfigsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_ListUsableWorkstationConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListUsableWorkstationConfigsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).ListUsableWorkstationConfigs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/ListUsableWorkstationConfigs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).ListUsableWorkstationConfigs(ctx, req.(*ListUsableWorkstationConfigsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_CreateWorkstationConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkstationConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).CreateWorkstationConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/CreateWorkstationConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).CreateWorkstationConfig(ctx, req.(*CreateWorkstationConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_UpdateWorkstationConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkstationConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).UpdateWorkstationConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/UpdateWorkstationConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).UpdateWorkstationConfig(ctx, req.(*UpdateWorkstationConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_DeleteWorkstationConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkstationConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).DeleteWorkstationConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/DeleteWorkstationConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).DeleteWorkstationConfig(ctx, req.(*DeleteWorkstationConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_GetWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).GetWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/GetWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).GetWorkstation(ctx, req.(*GetWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_ListWorkstations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkstationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).ListWorkstations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/ListWorkstations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).ListWorkstations(ctx, req.(*ListWorkstationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_ListUsableWorkstations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListUsableWorkstationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).ListUsableWorkstations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/ListUsableWorkstations", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).ListUsableWorkstations(ctx, req.(*ListUsableWorkstationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_CreateWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).CreateWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/CreateWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).CreateWorkstation(ctx, req.(*CreateWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_UpdateWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).UpdateWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/UpdateWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).UpdateWorkstation(ctx, req.(*UpdateWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_DeleteWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).DeleteWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/DeleteWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).DeleteWorkstation(ctx, req.(*DeleteWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_StartWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).StartWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/StartWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).StartWorkstation(ctx, req.(*StartWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_StopWorkstation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopWorkstationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).StopWorkstation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/StopWorkstation", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).StopWorkstation(ctx, req.(*StopWorkstationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Workstations_GenerateAccessToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateAccessTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkstationsServer).GenerateAccessToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.workstations.v1.Workstations/GenerateAccessToken", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkstationsServer).GenerateAccessToken(ctx, req.(*GenerateAccessTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Workstations_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.workstations.v1.Workstations", + HandlerType: (*WorkstationsServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetWorkstationCluster", + Handler: _Workstations_GetWorkstationCluster_Handler, + }, + { + MethodName: "ListWorkstationClusters", + Handler: _Workstations_ListWorkstationClusters_Handler, + }, + { + MethodName: "CreateWorkstationCluster", + Handler: _Workstations_CreateWorkstationCluster_Handler, + }, + { + MethodName: "UpdateWorkstationCluster", + Handler: _Workstations_UpdateWorkstationCluster_Handler, + }, + { + MethodName: "DeleteWorkstationCluster", + Handler: _Workstations_DeleteWorkstationCluster_Handler, + }, + { + MethodName: "GetWorkstationConfig", + Handler: _Workstations_GetWorkstationConfig_Handler, + }, + { + MethodName: "ListWorkstationConfigs", + Handler: _Workstations_ListWorkstationConfigs_Handler, + }, + { + MethodName: "ListUsableWorkstationConfigs", + Handler: _Workstations_ListUsableWorkstationConfigs_Handler, + }, + { + MethodName: "CreateWorkstationConfig", + Handler: _Workstations_CreateWorkstationConfig_Handler, + }, + { + MethodName: "UpdateWorkstationConfig", + Handler: _Workstations_UpdateWorkstationConfig_Handler, + }, + { + MethodName: "DeleteWorkstationConfig", + Handler: _Workstations_DeleteWorkstationConfig_Handler, + }, + { + MethodName: "GetWorkstation", + Handler: _Workstations_GetWorkstation_Handler, + }, + { + MethodName: "ListWorkstations", + Handler: _Workstations_ListWorkstations_Handler, + }, + { + MethodName: "ListUsableWorkstations", + Handler: _Workstations_ListUsableWorkstations_Handler, + }, + { + MethodName: "CreateWorkstation", + Handler: _Workstations_CreateWorkstation_Handler, + }, + { + MethodName: "UpdateWorkstation", + Handler: _Workstations_UpdateWorkstation_Handler, + }, + { + MethodName: "DeleteWorkstation", + Handler: _Workstations_DeleteWorkstation_Handler, + }, + { + MethodName: "StartWorkstation", + Handler: _Workstations_StartWorkstation_Handler, + }, + { + MethodName: "StopWorkstation", + Handler: _Workstations_StopWorkstation_Handler, + }, + { + MethodName: "GenerateAccessToken", + Handler: _Workstations_GenerateAccessToken_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/workstations/v1/workstations.proto", +} diff --git a/workstations/apiv1beta/doc.go b/workstations/apiv1beta/doc.go old mode 100644 new mode 100755 diff --git a/workstations/apiv1beta/gapic_metadata.json b/workstations/apiv1beta/gapic_metadata.json index 0300c7e8ef5b..c44f537e44f3 100644 --- a/workstations/apiv1beta/gapic_metadata.json +++ b/workstations/apiv1beta/gapic_metadata.json @@ -5,6 +5,110 @@ "protoPackage": "google.cloud.workstations.v1beta", "libraryPackage": "cloud.google.com/go/workstations/apiv1beta", "services": { + "Locations": { + "clients": { + "grpc": { + "libraryClient": "LocationsClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + }, + "rest": { + "libraryClient": "LocationsClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + } + } + } + } + }, "Workstations": { "clients": { "grpc": { diff --git a/workstations/apiv1beta/locations_client.go b/workstations/apiv1beta/locations_client.go new file mode 100755 index 000000000000..dc1ff6d1c450 --- /dev/null +++ b/workstations/apiv1beta/locations_client.go @@ -0,0 +1,1197 @@ +// 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 +// +// 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 workstations + +import ( + "bytes" + "context" + "fmt" + "io/ioutil" + "math" + "net/http" + "net/url" + + 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/grpc/metadata" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newLocationsClientHook clientHook + +// LocationsCallOptions contains the retry settings for each method of LocationsClient. +type LocationsCallOptions struct { + ListLocations []gax.CallOption + GetLocation []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultLocationsGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("cloud.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("cloud.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://cloud.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultLocationsCallOptions() *LocationsCallOptions { + return &LocationsCallOptions{ + ListLocations: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultLocationsRESTCallOptions() *LocationsCallOptions { + return &LocationsCallOptions{ + ListLocations: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + GetIamPolicy: []gax.CallOption{}, + SetIamPolicy: []gax.CallOption{}, + TestIamPermissions: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalLocationsClient is an interface that defines the methods available from Cloud Workstations API. +type internalLocationsClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + 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 +} + +// LocationsClient is a client for interacting with Cloud Workstations API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +type LocationsClient struct { + // The internal transport-dependent client. + internalClient internalLocationsClient + + // The call options for this service. + CallOptions *LocationsCallOptions +} + +// 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ListLocations lists information about the supported locations for this service. +func (c *LocationsClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *LocationsClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) 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 *LocationsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// locationsGRPCClient is a client for interacting with Cloud Workstations API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type locationsGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE + disableDeadlines bool + + // Points back to the CallOptions field of the containing LocationsClient + CallOptions **LocationsCallOptions + + // The gRPC API client. + locationsClient locationpb.LocationsClient + + operationsClient longrunningpb.OperationsClient + + iamPolicyClient iampb.IAMPolicyClient + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD +} + +// NewLocationsClient creates a new locations client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +func NewLocationsClient(ctx context.Context, opts ...option.ClientOption) (*LocationsClient, error) { + clientOpts := defaultLocationsGRPCClientOptions() + if newLocationsClientHook != nil { + hookOpts, err := newLocationsClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + disableDeadlines, err := checkDisableDeadlines() + if err != nil { + return nil, err + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := LocationsClient{CallOptions: defaultLocationsCallOptions()} + + c := &locationsGRPCClient{ + connPool: connPool, + disableDeadlines: disableDeadlines, + locationsClient: locationpb.NewLocationsClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + iamPolicyClient: iampb.NewIAMPolicyClient(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 *locationsGRPCClient) 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 *locationsGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogMetadata = metadata.Pairs("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 *locationsGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type locationsRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* metadata to be sent with each request. + xGoogMetadata metadata.MD + + // Points back to the CallOptions field of the containing LocationsClient + CallOptions **LocationsCallOptions +} + +// NewLocationsRESTClient creates a new locations rest client. +// +// An abstract interface that provides location-related information for +// a service. Service-specific metadata is provided through the +// Location.metadata field. +func NewLocationsRESTClient(ctx context.Context, opts ...option.ClientOption) (*LocationsClient, error) { + clientOpts := append(defaultLocationsRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultLocationsRESTCallOptions() + c := &locationsRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + return &LocationsClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultLocationsRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://cloud.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://cloud.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://cloud.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 *locationsRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", versionGo()}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogMetadata = metadata.Pairs("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 *locationsRESTClient) 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 *locationsRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *locationsGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 *locationsGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + ctx = insertMetadata(ctx, c.xGoogMetadata, md) + 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 +} + +// ListLocations lists information about the supported locations for this service. +func (c *locationsRESTClient) 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("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// GetLocation gets information about a location. +func (c *locationsRESTClient) 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("/v1/%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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// 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 *locationsRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:getIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetOptions().GetRequestedPolicyVersion() != 0 { + params.Add("options.requestedPolicyVersion", fmt.Sprintf("%v", req.GetOptions().GetRequestedPolicyVersion())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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("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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *locationsRESTClient) 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("/v1beta/%v:setIamPolicy", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 *locationsRESTClient) 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("/v1beta/%v:testIamPermissions", req.GetResource()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *locationsRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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(), 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() + + // 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 *locationsRESTClient) 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("/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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 *locationsRESTClient) 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("/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. + md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + + headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(err) + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *locationsRESTClient) 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("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + 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. + headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + 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 := ioutil.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return maybeUnknownEnum(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 +} + +// LocationIterator manages a stream of *locationpb.Location. +type LocationIterator struct { + items []*locationpb.Location + 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 []*locationpb.Location, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *LocationIterator) 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 *LocationIterator) Next() (*locationpb.Location, error) { + var item *locationpb.Location + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LocationIterator) bufLen() int { + return len(it.items) +} + +func (it *LocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/workstations/apiv1beta/locations_client_example_test.go b/workstations/apiv1beta/locations_client_example_test.go new file mode 100644 index 000000000000..fba357fd9c47 --- /dev/null +++ b/workstations/apiv1beta/locations_client_example_test.go @@ -0,0 +1,294 @@ +// 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 +// +// 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 workstations_test + +import ( + "context" + + iampb "cloud.google.com/go/iam/apiv1/iampb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + workstations "cloud.google.com/go/workstations/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewLocationsClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewLocationsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewLocationsRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := workstations.NewLocationsRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleLocationsClient_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 := workstations.NewLocationsClient(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 + } +} + +func ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 ExampleLocationsClient_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 := workstations.NewLocationsClient(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 + } +} diff --git a/workstations/apiv1beta/workstations_client.go b/workstations/apiv1beta/workstations_client.go old mode 100644 new mode 100755 diff --git a/workstations/apiv1beta/workstationspb/workstations.pb.go b/workstations/apiv1beta/workstationspb/workstations.pb.go old mode 100644 new mode 100755 index 93f7c2b8cb90..7b2fadc66e1d --- a/workstations/apiv1beta/workstationspb/workstations.pb.go +++ b/workstations/apiv1beta/workstationspb/workstations.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.30.0 +// protoc v3.21.12 // source: google/cloud/workstations/v1beta/workstations.proto package workstationspb @@ -2398,7 +2398,6 @@ type GenerateAccessTokenRequest struct { // Desired expiration or lifetime of the access token. // // Types that are assignable to Expiration: - // // *GenerateAccessTokenRequest_ExpireTime // *GenerateAccessTokenRequest_Ttl Expiration isGenerateAccessTokenRequest_Expiration `protobuf_oneof:"expiration"` @@ -2747,7 +2746,6 @@ type WorkstationConfig_Host struct { // Type of host that will be used for the workstation's runtime. // // Types that are assignable to Config: - // // *WorkstationConfig_Host_GceInstance_ Config isWorkstationConfig_Host_Config `protobuf_oneof:"config"` } @@ -2820,7 +2818,6 @@ type WorkstationConfig_PersistentDirectory struct { // How a persistent directory should be implemented. // // Types that are assignable to DirectoryType: - // // *WorkstationConfig_PersistentDirectory_GcePd DirectoryType isWorkstationConfig_PersistentDirectory_DirectoryType `protobuf_oneof:"directory_type"` } @@ -3059,10 +3056,11 @@ type WorkstationConfig_Host_GceInstance struct { // The name of a Compute Engine machine type. MachineType string `protobuf:"bytes,1,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` - // Email address of the service account that will be used on VM instances - // used to support this config. This service account must have permission - // to pull the specified container image. If not set, VMs will run without - // a service account, in which case the image must be publicly accessible. + // Email address of the service account used on VM instances + // used to support this configuration. If not set, VMs run with a + // Google-managed service account. This service account must have + // permission to pull the specified container image; otherwise, the image + // must be publicly accessible. ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` // Network tags to add to the Compute Engine machines backing the // Workstations. @@ -4115,12 +4113,12 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x4a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xec, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x4a, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, @@ -4130,12 +4128,12 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, - 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb5, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xb5, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, @@ -4143,18 +4141,18 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0xb6, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x3b, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x3a, 0x13, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0xda, 0x41, 0x31, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x77, 0x6f, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x11, 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, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb7, + 0x72, 0x22, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xb7, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, @@ -4163,18 +4161,18 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0xb8, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x32, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, - 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x1f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, - 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf2, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, + 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x66, 0x3a, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x4f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, @@ -4182,14 +4180,14 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 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, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x2a, - 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xeb, 0x01, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, + 0x2a, 0x3b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, @@ -4198,13 +4196,13 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x52, 0x12, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xfe, 0x01, 0x0a, 0x16, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5f, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 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, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfe, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, @@ -4214,13 +4212,13 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x52, 0x12, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x9b, 0x02, 0x0a, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x9b, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, @@ -4231,14 +4229,14 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc4, 0x02, 0x0a, 0x17, 0x43, + 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x12, 0x5b, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x3a, + 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xc4, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, @@ -4246,20 +4244,20 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, - 0x22, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x3a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xda, 0x41, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0xc6, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x69, 0x67, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x12, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, + 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, @@ -4267,19 +4265,19 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x32, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x12, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0xda, 0x41, 0x1e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x85, 0x02, 0x0a, 0x17, 0x44, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1e, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x79, 0x3a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x63, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 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, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x85, 0x02, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, @@ -4287,30 +4285,30 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x50, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, - 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x57, 0x6f, - 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0xe8, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 0x2a, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xfb, 0x01, + 0x61, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, 0x5f, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xfb, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, @@ -4319,14 +4317,14 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x61, 0x12, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x98, 0x02, 0x0a, 0x16, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x70, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, 0x5f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x98, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, @@ -4336,102 +4334,102 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x6c, 0x12, 0x6a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xac, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x12, 0x6a, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xac, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, - 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, - 0x21, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xae, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x21, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xae, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x32, - 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x0b, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x17, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x82, 0x02, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x3a, 0x0b, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, + 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, - 0x2a, 0x5f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, - 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x89, 0x02, 0x0a, 0x10, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, + 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x2a, 0x5f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x89, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x6a, 0x22, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x86, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0xca, 0x41, 0x20, + 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x01, 0x2a, + 0x22, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, + 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x86, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x22, 0x64, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, - 0x74, 0x6f, 0x70, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x20, - 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xca, 0x41, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x3a, 0x01, 0x2a, 0x22, 0x64, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 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, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x12, 0xa8, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, @@ -4441,16 +4439,16 @@ var file_google_cloud_workstations_v1beta_workstations_proto_rawDesc = []byte{ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x93, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x22, 0x7a, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 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, 0x2f, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0b, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x4f, 0xca, 0x41, 0x1b, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x93, 0x01, 0xda, 0x41, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x3a, 0x01, 0x2a, 0x22, + 0x7a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, + 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, 0x2f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x4f, 0xca, 0x41, 0x1b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,