From af2f8b4f3401c0b12dadb2c504aa0f902aee76de Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 19:30:41 +0000 Subject: [PATCH] feat(retail): add analytics service (#9272) - [x] Regenerate this pull request now. PiperOrigin-RevId: 600040070 Source-Link: https://togithub.com/googleapis/googleapis/commit/f4efe4b2b6c06fec34ad51060e81734183e76216 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/2154296dd71c00bb805b3d1e9b9b715739145623 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjE1NDI5NmRkNzFjMDBiYjgwNWIzZDFlOWI5YjcxNTczOTE0NTYyMyJ9 BEGIN_NESTED_COMMIT feat(retail): add analytics service PiperOrigin-RevId: 599976565 Source-Link: https://togithub.com/googleapis/googleapis/commit/3d20b3985eac6bdebafe27f7c11c9a6a48b1296b Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/f916ef865f8ab85ccf50d10a644e4356389c87ca Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZjkxNmVmODY1ZjhhYjg1Y2NmNTBkMTBhNjQ0ZTQzNTYzODljODdjYSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(container): add fields desired_in_transit_encryption_config and in_transit_encryption_config docs: Remove Not GA comments for GetOpenIDConfig and GetJSONWebKeys in v1alpha1/v1beta1/v1 PiperOrigin-RevId: 599973058 Source-Link: https://togithub.com/googleapis/googleapis/commit/fa8b4175ee20190dc28921327f2a908c2d48abfd Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/d0e5ef8ae6ee7e6eabcba0f28195d79f78056edf Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDBlNWVmOGFlNmVlN2U2ZWFiY2JhMGYyODE5NWQ3OWY3ODA1NmVkZiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT chore(dataplex): add import of field_behavior.proto PiperOrigin-RevId: 599958398 Source-Link: https://togithub.com/googleapis/googleapis/commit/8f54b80bc82cde39871ab23fe77bd8ee765be01f Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/ba29f759a1911d6fc18dcce3aef40a1b27b41204 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYmEyOWY3NTlhMTkxMWQ2ZmMxOGRjY2UzYWVmNDBhMWIyN2I0MTIwNCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT chore(firestore): Add FindNearest API to the preview branch docs: Improve the documentation on Document.fields PiperOrigin-RevId: 599602467 Source-Link: https://togithub.com/googleapis/googleapis/commit/d32bd9795d2620d327f1fd21477c53e828ab5a86 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/0545ffc488b82d3a4771118c923d64cd0b759953 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMDU0NWZmYzQ4OGI4MmQzYTQ3NzExMThjOTIzZDY0Y2QwYjc1OTk1MyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(vmwareengine): Adding ManagementDnsZoneBinding, DnsBindPermission, DnsForwarding, ExternalAccessRule, ExternalAddress, LoggingServer, NetworkPeering, Node and stretched PC features docs: clarified wording around private cloud and update cluster PiperOrigin-RevId: 599505337 Source-Link: https://togithub.com/googleapis/googleapis/commit/bf178ab9769da5b3b752d92607f8f5a69dc6d026 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/ceb9b6ed80a01d7f20f58f7975bfbe056cc35434 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2ViOWI2ZWQ4MGEwMWQ3ZjIwZjU4Zjc5NzViZmJlMDU2Y2MzNTQzNCJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat(spanner): add max_commit_delay API PiperOrigin-RevId: 599315735 Source-Link: https://togithub.com/googleapis/googleapis/commit/465a103d01ad515f7bdb48185ffcca9e20aa7e73 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/930e2318acbd10fb54d8668d2f2cf19fe413d5a9 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTMwZTIzMThhY2JkMTBmYjU0ZDg2NjhkMmYyY2YxOWZlNDEzZDVhOSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT docs(ai/generativelanguage): Fixed minor documentation typos for field `function_declarations` in message `.google.ai.generativelanguage.v1beta.Tool` PiperOrigin-RevId: 599264691 Source-Link: https://togithub.com/googleapis/googleapis/commit/41a0bf9ee41c3d2f35c3b0bca33ef9c6cb3f4ff2 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/a46d0438edcda6a9ea43884d3b2ca8f2e17ae994 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTQ2ZDA0MzhlZGNkYTZhOWVhNDM4ODRkM2IyY2E4ZjJlMTdhZTk5NCJ9 END_NESTED_COMMIT --- .../generativelanguagepb/content.pb.go | 2 +- container/apiv1/cluster_manager_client.go | 2 - .../apiv1/containerpb/cluster_service.pb.go | 3678 ++--- dataplex/apiv1/dataplexpb/logs.pb.go | 988 +- firestore/apiv1/firestorepb/document.pb.go | 24 +- firestore/apiv1/firestorepb/query.pb.go | 8 + ...google.cloud.bigquery.analyticshub.v1.json | 2 +- ...data.google.cloud.bigquery.biglake.v1.json | 2 +- ...oogle.cloud.bigquery.biglake.v1alpha1.json | 2 +- ...a.google.cloud.bigquery.connection.v1.json | 2 +- ...gle.cloud.bigquery.connection.v1beta1.json | 2 +- ...e.cloud.bigquery.dataexchange.v1beta1.json | 2 +- ...google.cloud.bigquery.datapolicies.v1.json | 2 +- ...e.cloud.bigquery.datapolicies.v1beta1.json | 2 +- ...google.cloud.bigquery.datatransfer.v1.json | 2 +- ...ta.google.cloud.bigquery.migration.v2.json | 2 +- ...ogle.cloud.bigquery.migration.v2alpha.json | 2 +- ....google.cloud.bigquery.reservation.v1.json | 2 +- ...data.google.cloud.bigquery.storage.v1.json | 2 +- ...google.cloud.bigquery.storage.v1beta1.json | 2 +- ...google.cloud.bigquery.storage.v1beta2.json | 2 +- .../snippet_metadata.google.container.v1.json | 2 +- .../snippet_metadata.google.pubsub.v1.json | 2 +- .../ExportAnalyticsMetrics/main.go | 58 + .../AnalyticsClient/GetOperation/main.go | 53 + .../AnalyticsClient/ListOperations/main.go | 60 + ..._metadata.google.cloud.retail.v2alpha.json | 138 + .../ExportAnalyticsMetrics/main.go | 58 + .../AnalyticsClient/GetOperation/main.go | 53 + .../AnalyticsClient/ListOperations/main.go | 60 + ...t_metadata.google.cloud.retail.v2beta.json | 138 + .../Client/CreateExternalAccessRule/main.go | 58 + .../Client/CreateExternalAddress/main.go | 58 + .../apiv1/Client/CreateLoggingServer/main.go | 58 + .../CreateManagementDnsZoneBinding/main.go | 58 + .../apiv1/Client/CreateNetworkPeering/main.go | 58 + .../Client/DeleteExternalAccessRule/main.go | 56 + .../Client/DeleteExternalAddress/main.go | 56 + .../apiv1/Client/DeleteLoggingServer/main.go | 56 + .../DeleteManagementDnsZoneBinding/main.go | 56 + .../apiv1/Client/DeleteNetworkPeering/main.go | 56 + .../main.go | 60 + .../apiv1/Client/GetDnsBindPermission/main.go | 53 + .../apiv1/Client/GetDnsForwarding/main.go | 53 + .../Client/GetExternalAccessRule/main.go | 53 + .../apiv1/Client/GetExternalAddress/main.go | 53 + .../apiv1/Client/GetLoggingServer/main.go | 53 + .../GetManagementDnsZoneBinding/main.go | 53 + .../apiv1/Client/GetNetworkPeering/main.go | 53 + .../vmwareengine/apiv1/Client/GetNode/main.go | 53 + .../Client/GrantDnsBindPermission/main.go | 58 + .../Client/ListExternalAccessRules/main.go | 60 + .../Client/ListExternalAddresses/main.go | 60 + .../apiv1/Client/ListLoggingServers/main.go | 60 + .../ListManagementDnsZoneBindings/main.go | 60 + .../apiv1/Client/ListNetworkPeerings/main.go | 60 + .../apiv1/Client/ListNodes/main.go | 60 + .../apiv1/Client/ListPeeringRoutes/main.go | 60 + .../RepairManagementDnsZoneBinding/main.go | 58 + .../Client/RevokeDnsBindPermission/main.go | 58 + .../apiv1/Client/UpdateDnsForwarding/main.go | 58 + .../Client/UpdateExternalAccessRule/main.go | 58 + .../Client/UpdateExternalAddress/main.go | 58 + .../apiv1/Client/UpdateLoggingServer/main.go | 58 + .../UpdateManagementDnsZoneBinding/main.go | 58 + .../apiv1/Client/UpdateNetworkPeering/main.go | 58 + ...metadata.google.cloud.vmwareengine.v1.json | 2520 +++- retail/apiv2alpha/analytics_client.go | 706 + .../analytics_client_example_test.go | 146 + retail/apiv2alpha/auxiliary.go | 64 + retail/apiv2alpha/doc.go | 17 +- retail/apiv2alpha/gapic_metadata.json | 44 + .../retailpb/analytics_service.pb.go | 231 + .../apiv2alpha/retailpb/export_config.pb.go | 754 +- retail/apiv2beta/analytics_client.go | 706 + .../analytics_client_example_test.go | 146 + retail/apiv2beta/auxiliary.go | 64 + retail/apiv2beta/doc.go | 17 +- retail/apiv2beta/gapic_metadata.json | 44 + retail/apiv2beta/model_client.go | 216 +- .../retailpb/analytics_service.pb.go | 230 + retail/apiv2beta/retailpb/export_config.pb.go | 750 +- spanner/apiv1/spannerpb/spanner.pb.go | 628 +- vmwareengine/apiv1/auxiliary.go | 1709 ++- vmwareengine/apiv1/gapic_metadata.json | 350 + vmwareengine/apiv1/vmware_engine_client.go | 7055 +++++++-- .../vmware_engine_client_example_test.go | 1292 +- .../apiv1/vmwareenginepb/vmwareengine.pb.go | 12567 ++++++++++++---- .../vmwareengine_resources.pb.go | 5865 ++++++-- 89 files changed, 34291 insertions(+), 9180 deletions(-) create mode 100644 internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ExportAnalyticsMetrics/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/GetOperation/main.go create mode 100644 internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ListOperations/main.go create mode 100644 internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ExportAnalyticsMetrics/main.go create mode 100644 internal/generated/snippets/retail/apiv2beta/AnalyticsClient/GetOperation/main.go create mode 100644 internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ListOperations/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAccessRule/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAddress/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/CreateLoggingServer/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/CreateManagementDnsZoneBinding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/CreateNetworkPeering/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAccessRule/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAddress/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/DeleteLoggingServer/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/DeleteManagementDnsZoneBinding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/DeleteNetworkPeering/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/FetchNetworkPolicyExternalAddresses/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsBindPermission/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsForwarding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAccessRule/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAddress/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetLoggingServer/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetManagementDnsZoneBinding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetNetworkPeering/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GetNode/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/GrantDnsBindPermission/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAccessRules/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAddresses/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListLoggingServers/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListManagementDnsZoneBindings/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListNetworkPeerings/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListNodes/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/ListPeeringRoutes/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/RepairManagementDnsZoneBinding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/RevokeDnsBindPermission/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateDnsForwarding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAccessRule/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAddress/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateLoggingServer/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateManagementDnsZoneBinding/main.go create mode 100644 internal/generated/snippets/vmwareengine/apiv1/Client/UpdateNetworkPeering/main.go create mode 100755 retail/apiv2alpha/analytics_client.go create mode 100644 retail/apiv2alpha/analytics_client_example_test.go create mode 100755 retail/apiv2alpha/retailpb/analytics_service.pb.go create mode 100755 retail/apiv2beta/analytics_client.go create mode 100644 retail/apiv2beta/analytics_client_example_test.go create mode 100755 retail/apiv2beta/retailpb/analytics_service.pb.go diff --git a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go index 1c127bf594fd..96098c999cad 100755 --- a/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go +++ b/ai/generativelanguage/apiv1beta/generativelanguagepb/content.pb.go @@ -379,7 +379,7 @@ type Tool struct { // [FunctionCall][content.part.function_call] in the response. The next // conversation turn may contain a // [FunctionResponse][content.part.function_response] - // with the [conent.role] "function" generation context for the next model + // with the [content.role] "function" generation context for the next model // turn. FunctionDeclarations []*FunctionDeclaration `protobuf:"bytes,1,rep,name=function_declarations,json=functionDeclarations,proto3" json:"function_declarations,omitempty"` } diff --git a/container/apiv1/cluster_manager_client.go b/container/apiv1/cluster_manager_client.go index c3e72fcf88e0..7a1f961ab9af 100755 --- a/container/apiv1/cluster_manager_client.go +++ b/container/apiv1/cluster_manager_client.go @@ -467,8 +467,6 @@ func (c *ClusterManagerClient) GetServerConfig(ctx context.Context, req *contain // GetJSONWebKeys gets the public component of the cluster signing keys in // JSON Web Key format. -// This API is not yet intended for general use, and is not available for all -// clusters. func (c *ClusterManagerClient) GetJSONWebKeys(ctx context.Context, req *containerpb.GetJSONWebKeysRequest, opts ...gax.CallOption) (*containerpb.GetJSONWebKeysResponse, error) { return c.internalClient.GetJSONWebKeys(ctx, req, opts...) } diff --git a/container/apiv1/containerpb/cluster_service.pb.go b/container/apiv1/containerpb/cluster_service.pb.go index 9259de7135ca..f2894248fbd0 100755 --- a/container/apiv1/containerpb/cluster_service.pb.go +++ b/container/apiv1/containerpb/cluster_service.pb.go @@ -376,6 +376,60 @@ func (IPv6AccessType) EnumDescriptor() ([]byte, []int) { return file_google_container_v1_cluster_service_proto_rawDescGZIP(), []int{5} } +// Options for in-transit encryption. +type InTransitEncryptionConfig int32 + +const ( + // Unspecified, will be inferred as default - + // IN_TRANSIT_ENCRYPTION_UNSPECIFIED. + InTransitEncryptionConfig_IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED InTransitEncryptionConfig = 0 + // In-transit encryption is disabled. + InTransitEncryptionConfig_IN_TRANSIT_ENCRYPTION_DISABLED InTransitEncryptionConfig = 1 + // Data in-transit is encrypted using inter-node transparent encryption. + InTransitEncryptionConfig_IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT InTransitEncryptionConfig = 2 +) + +// Enum value maps for InTransitEncryptionConfig. +var ( + InTransitEncryptionConfig_name = map[int32]string{ + 0: "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED", + 1: "IN_TRANSIT_ENCRYPTION_DISABLED", + 2: "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT", + } + InTransitEncryptionConfig_value = map[string]int32{ + "IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED": 0, + "IN_TRANSIT_ENCRYPTION_DISABLED": 1, + "IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT": 2, + } +) + +func (x InTransitEncryptionConfig) Enum() *InTransitEncryptionConfig { + p := new(InTransitEncryptionConfig) + *p = x + return p +} + +func (x InTransitEncryptionConfig) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InTransitEncryptionConfig) Descriptor() protoreflect.EnumDescriptor { + return file_google_container_v1_cluster_service_proto_enumTypes[6].Descriptor() +} + +func (InTransitEncryptionConfig) Type() protoreflect.EnumType { + return &file_google_container_v1_cluster_service_proto_enumTypes[6] +} + +func (x InTransitEncryptionConfig) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InTransitEncryptionConfig.Descriptor instead. +func (InTransitEncryptionConfig) EnumDescriptor() ([]byte, []int) { + return file_google_container_v1_cluster_service_proto_rawDescGZIP(), []int{6} +} + // Possible cgroup modes that can be used. type LinuxNodeConfig_CgroupMode int32 @@ -416,11 +470,11 @@ func (x LinuxNodeConfig_CgroupMode) String() string { } func (LinuxNodeConfig_CgroupMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[6].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[7].Descriptor() } func (LinuxNodeConfig_CgroupMode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[6] + return &file_google_container_v1_cluster_service_proto_enumTypes[7] } func (x LinuxNodeConfig_CgroupMode) Number() protoreflect.EnumNumber { @@ -469,11 +523,11 @@ func (x WindowsNodeConfig_OSVersion) String() string { } func (WindowsNodeConfig_OSVersion) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[7].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[8].Descriptor() } func (WindowsNodeConfig_OSVersion) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[7] + return &file_google_container_v1_cluster_service_proto_enumTypes[8] } func (x WindowsNodeConfig_OSVersion) Number() protoreflect.EnumNumber { @@ -518,11 +572,11 @@ func (x NodeNetworkConfig_NetworkPerformanceConfig_Tier) String() string { } func (NodeNetworkConfig_NetworkPerformanceConfig_Tier) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[8].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[9].Descriptor() } func (NodeNetworkConfig_NetworkPerformanceConfig_Tier) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[8] + return &file_google_container_v1_cluster_service_proto_enumTypes[9] } func (x NodeNetworkConfig_NetworkPerformanceConfig_Tier) Number() protoreflect.EnumNumber { @@ -567,11 +621,11 @@ func (x SandboxConfig_Type) String() string { } func (SandboxConfig_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[9].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[10].Descriptor() } func (SandboxConfig_Type) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[9] + return &file_google_container_v1_cluster_service_proto_enumTypes[10] } func (x SandboxConfig_Type) Number() protoreflect.EnumNumber { @@ -625,11 +679,11 @@ func (x ReservationAffinity_Type) String() string { } func (ReservationAffinity_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[10].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[11].Descriptor() } func (ReservationAffinity_Type) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[10] + return &file_google_container_v1_cluster_service_proto_enumTypes[11] } func (x ReservationAffinity_Type) Number() protoreflect.EnumNumber { @@ -679,11 +733,11 @@ func (x SoleTenantConfig_NodeAffinity_Operator) String() string { } func (SoleTenantConfig_NodeAffinity_Operator) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[11].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[12].Descriptor() } func (SoleTenantConfig_NodeAffinity_Operator) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[11] + return &file_google_container_v1_cluster_service_proto_enumTypes[12] } func (x SoleTenantConfig_NodeAffinity_Operator) Number() protoreflect.EnumNumber { @@ -736,11 +790,11 @@ func (x NodeTaint_Effect) String() string { } func (NodeTaint_Effect) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[12].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[13].Descriptor() } func (NodeTaint_Effect) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[12] + return &file_google_container_v1_cluster_service_proto_enumTypes[13] } func (x NodeTaint_Effect) Number() protoreflect.EnumNumber { @@ -789,11 +843,11 @@ func (x CloudRunConfig_LoadBalancerType) String() string { } func (CloudRunConfig_LoadBalancerType) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[13].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[14].Descriptor() } func (CloudRunConfig_LoadBalancerType) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[13] + return &file_google_container_v1_cluster_service_proto_enumTypes[14] } func (x CloudRunConfig_LoadBalancerType) Number() protoreflect.EnumNumber { @@ -838,11 +892,11 @@ func (x NetworkPolicy_Provider) String() string { } func (NetworkPolicy_Provider) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[14].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[15].Descriptor() } func (NetworkPolicy_Provider) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[14] + return &file_google_container_v1_cluster_service_proto_enumTypes[15] } func (x NetworkPolicy_Provider) Number() protoreflect.EnumNumber { @@ -893,11 +947,11 @@ func (x BinaryAuthorization_EvaluationMode) String() string { } func (BinaryAuthorization_EvaluationMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[15].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[16].Descriptor() } func (BinaryAuthorization_EvaluationMode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[15] + return &file_google_container_v1_cluster_service_proto_enumTypes[16] } func (x BinaryAuthorization_EvaluationMode) Number() protoreflect.EnumNumber { @@ -967,11 +1021,11 @@ func (x Cluster_Status) String() string { } func (Cluster_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[16].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[17].Descriptor() } func (Cluster_Status) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[16] + return &file_google_container_v1_cluster_service_proto_enumTypes[17] } func (x Cluster_Status) Number() protoreflect.EnumNumber { @@ -1020,11 +1074,11 @@ func (x SecurityPostureConfig_Mode) String() string { } func (SecurityPostureConfig_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[17].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[18].Descriptor() } func (SecurityPostureConfig_Mode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[17] + return &file_google_container_v1_cluster_service_proto_enumTypes[18] } func (x SecurityPostureConfig_Mode) Number() protoreflect.EnumNumber { @@ -1078,11 +1132,11 @@ func (x SecurityPostureConfig_VulnerabilityMode) String() string { } func (SecurityPostureConfig_VulnerabilityMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[18].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[19].Descriptor() } func (SecurityPostureConfig_VulnerabilityMode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[18] + return &file_google_container_v1_cluster_service_proto_enumTypes[19] } func (x SecurityPostureConfig_VulnerabilityMode) Number() protoreflect.EnumNumber { @@ -1139,11 +1193,11 @@ func (x Operation_Status) String() string { } func (Operation_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[19].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[20].Descriptor() } func (Operation_Status) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[19] + return &file_google_container_v1_cluster_service_proto_enumTypes[20] } func (x Operation_Status) Number() protoreflect.EnumNumber { @@ -1331,11 +1385,11 @@ func (x Operation_Type) String() string { } func (Operation_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[20].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[21].Descriptor() } func (Operation_Type) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[20] + return &file_google_container_v1_cluster_service_proto_enumTypes[21] } func (x Operation_Type) Number() protoreflect.EnumNumber { @@ -1391,11 +1445,11 @@ func (x SetMasterAuthRequest_Action) String() string { } func (SetMasterAuthRequest_Action) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[21].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[22].Descriptor() } func (SetMasterAuthRequest_Action) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[21] + return &file_google_container_v1_cluster_service_proto_enumTypes[22] } func (x SetMasterAuthRequest_Action) Number() protoreflect.EnumNumber { @@ -1467,11 +1521,11 @@ func (x NodePool_Status) String() string { } func (NodePool_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[22].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[23].Descriptor() } func (NodePool_Status) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[22] + return &file_google_container_v1_cluster_service_proto_enumTypes[23] } func (x NodePool_Status) Number() protoreflect.EnumNumber { @@ -1540,11 +1594,11 @@ func (x NodePool_UpdateInfo_BlueGreenInfo_Phase) String() string { } func (NodePool_UpdateInfo_BlueGreenInfo_Phase) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[23].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[24].Descriptor() } func (NodePool_UpdateInfo_BlueGreenInfo_Phase) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[23] + return &file_google_container_v1_cluster_service_proto_enumTypes[24] } func (x NodePool_UpdateInfo_BlueGreenInfo_Phase) Number() protoreflect.EnumNumber { @@ -1591,11 +1645,11 @@ func (x NodePool_PlacementPolicy_Type) String() string { } func (NodePool_PlacementPolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[24].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[25].Descriptor() } func (NodePool_PlacementPolicy_Type) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[24] + return &file_google_container_v1_cluster_service_proto_enumTypes[25] } func (x NodePool_PlacementPolicy_Type) Number() protoreflect.EnumNumber { @@ -1649,11 +1703,11 @@ func (x MaintenanceExclusionOptions_Scope) String() string { } func (MaintenanceExclusionOptions_Scope) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[25].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[26].Descriptor() } func (MaintenanceExclusionOptions_Scope) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[25] + return &file_google_container_v1_cluster_service_proto_enumTypes[26] } func (x MaintenanceExclusionOptions_Scope) Number() protoreflect.EnumNumber { @@ -1702,11 +1756,11 @@ func (x ClusterAutoscaling_AutoscalingProfile) String() string { } func (ClusterAutoscaling_AutoscalingProfile) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[26].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[27].Descriptor() } func (ClusterAutoscaling_AutoscalingProfile) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[26] + return &file_google_container_v1_cluster_service_proto_enumTypes[27] } func (x ClusterAutoscaling_AutoscalingProfile) Number() protoreflect.EnumNumber { @@ -1757,11 +1811,11 @@ func (x NodePoolAutoscaling_LocationPolicy) String() string { } func (NodePoolAutoscaling_LocationPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[27].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[28].Descriptor() } func (NodePoolAutoscaling_LocationPolicy) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[27] + return &file_google_container_v1_cluster_service_proto_enumTypes[28] } func (x NodePoolAutoscaling_LocationPolicy) Number() protoreflect.EnumNumber { @@ -1806,11 +1860,11 @@ func (x GPUSharingConfig_GPUSharingStrategy) String() string { } func (GPUSharingConfig_GPUSharingStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[28].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[29].Descriptor() } func (GPUSharingConfig_GPUSharingStrategy) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[28] + return &file_google_container_v1_cluster_service_proto_enumTypes[29] } func (x GPUSharingConfig_GPUSharingStrategy) Number() protoreflect.EnumNumber { @@ -1863,11 +1917,11 @@ func (x GPUDriverInstallationConfig_GPUDriverVersion) String() string { } func (GPUDriverInstallationConfig_GPUDriverVersion) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[29].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[30].Descriptor() } func (GPUDriverInstallationConfig_GPUDriverVersion) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[29] + return &file_google_container_v1_cluster_service_proto_enumTypes[30] } func (x GPUDriverInstallationConfig_GPUDriverVersion) Number() protoreflect.EnumNumber { @@ -1921,11 +1975,11 @@ func (x WorkloadMetadataConfig_Mode) String() string { } func (WorkloadMetadataConfig_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[30].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[31].Descriptor() } func (WorkloadMetadataConfig_Mode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[30] + return &file_google_container_v1_cluster_service_proto_enumTypes[31] } func (x WorkloadMetadataConfig_Mode) Number() protoreflect.EnumNumber { @@ -1993,11 +2047,11 @@ func (x StatusCondition_Code) String() string { } func (StatusCondition_Code) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[31].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[32].Descriptor() } func (StatusCondition_Code) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[31] + return &file_google_container_v1_cluster_service_proto_enumTypes[32] } func (x StatusCondition_Code) Number() protoreflect.EnumNumber { @@ -2042,11 +2096,11 @@ func (x NetworkConfig_ClusterNetworkPerformanceConfig_Tier) String() string { } func (NetworkConfig_ClusterNetworkPerformanceConfig_Tier) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[32].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[33].Descriptor() } func (NetworkConfig_ClusterNetworkPerformanceConfig_Tier) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[32] + return &file_google_container_v1_cluster_service_proto_enumTypes[33] } func (x NetworkConfig_ClusterNetworkPerformanceConfig_Tier) Number() protoreflect.EnumNumber { @@ -2100,11 +2154,11 @@ func (x GatewayAPIConfig_Channel) String() string { } func (GatewayAPIConfig_Channel) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[33].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[34].Descriptor() } func (GatewayAPIConfig_Channel) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[33] + return &file_google_container_v1_cluster_service_proto_enumTypes[34] } func (x GatewayAPIConfig_Channel) Number() protoreflect.EnumNumber { @@ -2161,11 +2215,11 @@ func (x AutopilotCompatibilityIssue_IssueType) String() string { } func (AutopilotCompatibilityIssue_IssueType) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[34].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[35].Descriptor() } func (AutopilotCompatibilityIssue_IssueType) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[34] + return &file_google_container_v1_cluster_service_proto_enumTypes[35] } func (x AutopilotCompatibilityIssue_IssueType) Number() protoreflect.EnumNumber { @@ -2226,11 +2280,11 @@ func (x ReleaseChannel_Channel) String() string { } func (ReleaseChannel_Channel) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[35].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[36].Descriptor() } func (ReleaseChannel_Channel) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[35] + return &file_google_container_v1_cluster_service_proto_enumTypes[36] } func (x ReleaseChannel_Channel) Number() protoreflect.EnumNumber { @@ -2283,11 +2337,11 @@ func (x DNSConfig_Provider) String() string { } func (DNSConfig_Provider) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[36].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[37].Descriptor() } func (DNSConfig_Provider) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[36] + return &file_google_container_v1_cluster_service_proto_enumTypes[37] } func (x DNSConfig_Provider) Number() protoreflect.EnumNumber { @@ -2336,11 +2390,11 @@ func (x DNSConfig_DNSScope) String() string { } func (DNSConfig_DNSScope) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[37].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[38].Descriptor() } func (DNSConfig_DNSScope) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[37] + return &file_google_container_v1_cluster_service_proto_enumTypes[38] } func (x DNSConfig_DNSScope) Number() protoreflect.EnumNumber { @@ -2390,11 +2444,11 @@ func (x DatabaseEncryption_State) String() string { } func (DatabaseEncryption_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[38].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[39].Descriptor() } func (DatabaseEncryption_State) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[38] + return &file_google_container_v1_cluster_service_proto_enumTypes[39] } func (x DatabaseEncryption_State) Number() protoreflect.EnumNumber { @@ -2456,11 +2510,11 @@ func (x UsableSubnetworkSecondaryRange_Status) String() string { } func (UsableSubnetworkSecondaryRange_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[39].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[40].Descriptor() } func (UsableSubnetworkSecondaryRange_Status) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[39] + return &file_google_container_v1_cluster_service_proto_enumTypes[40] } func (x UsableSubnetworkSecondaryRange_Status) Number() protoreflect.EnumNumber { @@ -2514,11 +2568,11 @@ func (x NotificationConfig_EventType) String() string { } func (NotificationConfig_EventType) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[40].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[41].Descriptor() } func (NotificationConfig_EventType) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[40] + return &file_google_container_v1_cluster_service_proto_enumTypes[41] } func (x NotificationConfig_EventType) Number() protoreflect.EnumNumber { @@ -2579,11 +2633,11 @@ func (x LoggingComponentConfig_Component) String() string { } func (LoggingComponentConfig_Component) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[41].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[42].Descriptor() } func (LoggingComponentConfig_Component) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[41] + return &file_google_container_v1_cluster_service_proto_enumTypes[42] } func (x LoggingComponentConfig_Component) Number() protoreflect.EnumNumber { @@ -2636,11 +2690,11 @@ func (x AdvancedDatapathObservabilityConfig_RelayMode) String() string { } func (AdvancedDatapathObservabilityConfig_RelayMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[42].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[43].Descriptor() } func (AdvancedDatapathObservabilityConfig_RelayMode) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[42] + return &file_google_container_v1_cluster_service_proto_enumTypes[43] } func (x AdvancedDatapathObservabilityConfig_RelayMode) Number() protoreflect.EnumNumber { @@ -2689,11 +2743,11 @@ func (x LoggingVariantConfig_Variant) String() string { } func (LoggingVariantConfig_Variant) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[43].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[44].Descriptor() } func (LoggingVariantConfig_Variant) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[43] + return &file_google_container_v1_cluster_service_proto_enumTypes[44] } func (x LoggingVariantConfig_Variant) Number() protoreflect.EnumNumber { @@ -2774,11 +2828,11 @@ func (x MonitoringComponentConfig_Component) String() string { } func (MonitoringComponentConfig_Component) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[44].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[45].Descriptor() } func (MonitoringComponentConfig_Component) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[44] + return &file_google_container_v1_cluster_service_proto_enumTypes[45] } func (x MonitoringComponentConfig_Component) Number() protoreflect.EnumNumber { @@ -2827,11 +2881,11 @@ func (x EnterpriseConfig_ClusterTier) String() string { } func (EnterpriseConfig_ClusterTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_container_v1_cluster_service_proto_enumTypes[45].Descriptor() + return file_google_container_v1_cluster_service_proto_enumTypes[46].Descriptor() } func (EnterpriseConfig_ClusterTier) Type() protoreflect.EnumType { - return &file_google_container_v1_cluster_service_proto_enumTypes[45] + return &file_google_container_v1_cluster_service_proto_enumTypes[46] } func (x EnterpriseConfig_ClusterTier) Number() protoreflect.EnumNumber { @@ -7426,6 +7480,8 @@ type ClusterUpdate struct { // The desired resource manager tags that apply to all auto-provisioned node // pools in autopilot clusters and node auto-provisioning enabled clusters. DesiredNodePoolAutoConfigResourceManagerTags *ResourceManagerTags `protobuf:"bytes,136,opt,name=desired_node_pool_auto_config_resource_manager_tags,json=desiredNodePoolAutoConfigResourceManagerTags,proto3" json:"desired_node_pool_auto_config_resource_manager_tags,omitempty"` + // Specify the details of in-transit encryption. + DesiredInTransitEncryptionConfig *InTransitEncryptionConfig `protobuf:"varint,137,opt,name=desired_in_transit_encryption_config,json=desiredInTransitEncryptionConfig,proto3,enum=google.container.v1.InTransitEncryptionConfig,oneof" json:"desired_in_transit_encryption_config,omitempty"` } func (x *ClusterUpdate) Reset() { @@ -7810,6 +7866,13 @@ func (x *ClusterUpdate) GetDesiredNodePoolAutoConfigResourceManagerTags() *Resou return nil } +func (x *ClusterUpdate) GetDesiredInTransitEncryptionConfig() InTransitEncryptionConfig { + if x != nil && x.DesiredInTransitEncryptionConfig != nil { + return *x.DesiredInTransitEncryptionConfig + } + return InTransitEncryptionConfig_IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED +} + // AdditionalPodRangesConfig is the configuration for additional pod secondary // ranges supporting the ClusterUpdate message. type AdditionalPodRangesConfig struct { @@ -13603,6 +13666,8 @@ type NetworkConfig struct { NetworkPerformanceConfig *NetworkConfig_ClusterNetworkPerformanceConfig `protobuf:"bytes,18,opt,name=network_performance_config,json=networkPerformanceConfig,proto3" json:"network_performance_config,omitempty"` // Whether FQDN Network Policy is enabled on this cluster. EnableFqdnNetworkPolicy *bool `protobuf:"varint,19,opt,name=enable_fqdn_network_policy,json=enableFqdnNetworkPolicy,proto3,oneof" json:"enable_fqdn_network_policy,omitempty"` + // Specify the details of in-transit encryption. + InTransitEncryptionConfig *InTransitEncryptionConfig `protobuf:"varint,20,opt,name=in_transit_encryption_config,json=inTransitEncryptionConfig,proto3,enum=google.container.v1.InTransitEncryptionConfig,oneof" json:"in_transit_encryption_config,omitempty"` } func (x *NetworkConfig) Reset() { @@ -13728,6 +13793,13 @@ func (x *NetworkConfig) GetEnableFqdnNetworkPolicy() bool { return false } +func (x *NetworkConfig) GetInTransitEncryptionConfig() InTransitEncryptionConfig { + if x != nil && x.InTransitEncryptionConfig != nil { + return *x.InTransitEncryptionConfig + } + return InTransitEncryptionConfig_IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED +} + // GatewayAPIConfig contains the desired config of Gateway API on this cluster. type GatewayAPIConfig struct { state protoimpl.MessageState @@ -19020,7 +19092,7 @@ var file_google_container_v1_cluster_service_proto_rawDesc = []byte{ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfe, 0x26, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xae, 0x28, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, @@ -19327,12 +19399,23 @@ var file_google_container_v1_cluster_service_proto_rawDesc = []byte{ 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x52, 0x2c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x42, 0x22, 0x0a, - 0x20, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8e, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, + 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x84, 0x01, + 0x0a, 0x24, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x02, 0x52, + 0x20, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, + 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x64, 0x65, 0x73, + 0x69, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x27, 0x0a, 0x25, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8e, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, @@ -20458,7 +20541,7 @@ var file_google_container_v1_cluster_service_proto_rawDesc = []byte{ 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x4b, 0x4d, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x09, 0x22, 0xf3, 0x09, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x10, 0x09, 0x22, 0x8a, 0x0b, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, @@ -20519,1188 +20602,1208 @@ var file_google_container_v1_cluster_service_proto_rawDesc = []byte{ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x71, 0x64, 0x6e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x1a, 0xf9, 0x01, - 0x0a, 0x1f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, + 0x1c, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x19, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x88, 0x01, 0x01, 0x1a, 0xf9, 0x01, 0x0a, 0x1f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x8b, 0x01, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x69, 0x65, 0x72, - 0x48, 0x00, 0x52, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, - 0x28, 0x0a, 0x04, 0x54, 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x49, 0x45, 0x52, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x31, 0x10, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc5, 0x01, 0x0a, 0x10, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x68, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, - 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x45, - 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, - 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x04, - 0x22, 0x34, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x30, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, - 0x6e, 0x49, 0x44, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xdb, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x77, 0x6b, 0x73, 0x55, 0x72, 0x69, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x15, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x25, 0x69, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, - 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x20, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, - 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, - 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x03, 0x4a, 0x77, 0x6b, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x74, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x61, 0x6c, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x0c, 0x0a, 0x01, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x01, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x01, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, - 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x63, 0x72, 0x76, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x72, - 0x76, 0x22, 0x46, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4a, 0x77, 0x6b, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x38, 0x0a, 0x22, 0x43, 0x68, 0x65, + 0x67, 0x2e, 0x54, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x28, 0x0a, 0x04, 0x54, 0x69, 0x65, 0x72, 0x12, 0x14, 0x0a, + 0x10, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x31, 0x10, 0x01, 0x42, + 0x1e, 0x0a, 0x1c, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, + 0x1d, 0x0a, 0x1b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x1f, + 0x0a, 0x1d, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x5f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, + 0xc5, 0x01, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x41, 0x50, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x68, 0x0a, + 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x49, 0x53, + 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x41, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, + 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x04, 0x22, 0x34, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x30, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, + 0xdb, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, + 0x75, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x77, 0x6b, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x77, 0x6b, 0x73, 0x55, 0x72, 0x69, 0x12, 0x38, + 0x0a, 0x18, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x16, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x12, 0x4f, 0x0a, 0x25, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, + 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x20, 0x69, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x41, + 0x6c, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x2f, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x97, + 0x01, 0x0a, 0x03, 0x4a, 0x77, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x6c, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x73, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x69, 0x64, 0x12, 0x0c, + 0x0a, 0x01, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x6e, 0x12, 0x0c, 0x0a, 0x01, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x01, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x76, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x72, 0x76, 0x22, 0x46, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4a, + 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x77, 0x6b, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, + 0x22, 0x38, 0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, + 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x03, 0x0a, 0x1b, 0x41, + 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x69, 0x6e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, + 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x09, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x44, 0x44, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, 0x51, + 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x53, 0x53, 0x45, + 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, + 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x22, 0x89, 0x01, 0x0a, 0x23, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x03, 0x0a, 0x1b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x6d, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x69, - 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2b, - 0x0a, 0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 0x0a, - 0x09, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, - 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, - 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x44, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, - 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, - 0x03, 0x22, 0x89, 0x01, 0x0a, 0x23, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, - 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x73, 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x97, 0x01, - 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x45, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x3e, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x50, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x22, 0x30, 0x0a, 0x14, 0x43, 0x6f, 0x73, 0x74, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x35, 0x0a, 0x19, 0x49, 0x6e, 0x74, - 0x72, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x2f, 0x0a, 0x13, 0x49, 0x4c, 0x42, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x22, 0xfa, 0x02, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x48, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, 0x12, 0x53, 0x0a, 0x11, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x4e, 0x53, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x0f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x57, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, 0x55, - 0x44, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x55, 0x42, 0x45, 0x5f, - 0x44, 0x4e, 0x53, 0x10, 0x03, 0x22, 0x47, 0x0a, 0x08, 0x44, 0x4e, 0x53, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x10, 0x01, 0x12, - 0x0d, 0x0a, 0x09, 0x56, 0x50, 0x43, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x10, 0x02, 0x22, 0x3e, - 0x0a, 0x11, 0x4d, 0x61, 0x78, 0x50, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, - 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x64, 0x73, 0x50, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x3d, - 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x31, 0x0a, - 0x15, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x5f, 0x0a, 0x10, 0x4d, 0x65, 0x73, 0x68, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 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, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, - 0x09, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x8a, 0x01, 0x0a, - 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 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, 0xa0, 0x02, 0x0a, - 0x1e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, - 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x5f, - 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, - 0x14, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x5f, 0x55, 0x53, - 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x44, 0x10, 0x04, 0x22, - 0xfc, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x22, - 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, - 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, - 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xcf, - 0x03, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x14, - 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, - 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x88, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, - 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x1a, 0x34, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x1a, 0x35, 0x0a, 0x19, 0x43, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x48, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x22, 0x97, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x45, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x3e, + 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, + 0x50, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x22, 0x30, + 0x0a, 0x14, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x32, 0x0a, 0x16, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x64, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x22, 0x2f, 0x0a, 0x11, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, - 0x6e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x0d, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0x26, 0x0a, 0x0a, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x4e, 0x49, 0x43, 0x12, 0x18, + 0x22, 0x35, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x72, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x2f, 0x0a, 0x13, 0x49, 0x4c, 0x42, 0x53, 0x75, + 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x26, 0x0a, 0x0a, 0x46, 0x61, 0x73, 0x74, - 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x22, 0xd3, 0x03, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x1a, - 0xa2, 0x01, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xfa, 0x02, 0x0a, 0x09, 0x44, 0x4e, 0x53, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, + 0x12, 0x53, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x5f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x4e, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x4e, 0x53, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6e, 0x73, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x4c, 0x41, + 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, + 0x0d, 0x0a, 0x09, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x0c, + 0x0a, 0x08, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x44, 0x4e, 0x53, 0x10, 0x03, 0x22, 0x47, 0x0a, 0x08, + 0x44, 0x4e, 0x53, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4e, 0x53, 0x5f, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53, + 0x43, 0x4f, 0x50, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x50, 0x43, 0x5f, 0x53, 0x43, + 0x4f, 0x50, 0x45, 0x10, 0x02, 0x22, 0x3e, 0x0a, 0x11, 0x4d, 0x61, 0x78, 0x50, 0x6f, 0x64, 0x73, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x61, + 0x78, 0x5f, 0x70, 0x6f, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x64, 0x73, 0x50, 0x65, + 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x3d, 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x23, 0x0a, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x31, 0x0a, 0x15, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x5f, 0x0a, 0x10, 0x4d, 0x65, 0x73, 0x68, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x13, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 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, 0x42, 0x6f, 0x6f, 0x6c, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0x32, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, + 0x44, 0x10, 0x02, 0x22, 0x8a, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 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, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0b, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0xa0, 0x02, 0x0a, 0x1e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, + 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x67, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, + 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x53, + 0x48, 0x41, 0x52, 0x45, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x10, 0x03, 0x12, 0x16, + 0x0a, 0x12, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, + 0x5f, 0x50, 0x4f, 0x44, 0x10, 0x04, 0x22, 0xfc, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, + 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xcf, 0x03, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x1e, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x88, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x34, 0x0a, 0x13, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x1a, 0x35, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x32, 0x0a, 0x16, 0x56, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x64, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x2f, 0x0a, 0x11, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x6e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x0d, + 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x26, 0x0a, 0x0a, 0x56, 0x69, 0x72, 0x74, 0x75, + 0x61, 0x6c, 0x4e, 0x49, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, + 0x26, 0x0a, 0x0a, 0x46, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xd3, 0x03, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, + 0x0a, 0x06, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x06, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x1a, 0xa2, 0x01, 0x0a, 0x06, 0x50, 0x75, 0x62, 0x53, 0x75, + 0x62, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x74, + 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, 0x41, 0x1d, 0x0a, + 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x12, 0x46, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x5a, 0x0a, 0x06, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x74, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x49, + 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x02, + 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x4c, + 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x22, 0x2d, 0x0a, + 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb5, 0x02, 0x0a, + 0x0c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 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, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xc8, 0x03, 0x0a, 0x15, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x42, 0x75, + 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, + 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x63, 0x76, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x6c, 0x6c, 0x65, + 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, + 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x72, 0x69, 0x65, 0x66, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x69, + 0x6e, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, + 0x6f, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, + 0x0a, 0x18, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x16, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, + 0x74, 0x65, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, + 0x09, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x20, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x46, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x5a, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, - 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x74, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x50, 0x47, - 0x52, 0x41, 0x44, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, - 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x43, - 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x22, 0x2d, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb5, 0x02, 0x0a, 0x0c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x72, 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, 0x12, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xea, 0x01, - 0x0a, 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x4d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x4c, 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x57, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, + 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, + 0x65, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x67, + 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, - 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc8, 0x03, 0x0a, 0x15, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, - 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, - 0x76, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x63, 0x76, - 0x65, 0x49, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x69, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, - 0x55, 0x72, 0x69, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x62, 0x72, 0x69, 0x65, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x17, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x73, 0x75, 0x67, 0x67, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65, 0x70, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, - 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5f, 0x0a, - 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x81, 0x02, 0x0a, 0x16, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x62, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x57, - 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, - 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, - 0x74, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x67, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x22, 0x81, 0x02, 0x0a, 0x16, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x11, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x82, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, - 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x59, 0x53, 0x54, - 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, - 0x0d, 0x0a, 0x09, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x53, 0x10, 0x02, 0x12, 0x0d, - 0x0a, 0x09, 0x41, 0x50, 0x49, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, - 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, - 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x52, 0x10, 0x05, 0x22, 0xe7, 0x02, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x10, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x19, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, - 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, + 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, + 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, + 0x41, 0x44, 0x53, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x50, 0x49, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, + 0x52, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, + 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x05, 0x22, 0xe7, 0x02, 0x0a, 0x10, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x59, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x19, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, + 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x17, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x50, 0x72, - 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8d, - 0x01, 0x0a, 0x26, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x23, 0x61, 0x64, 0x76, 0x61, 0x6e, - 0x63, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc5, - 0x02, 0x0a, 0x23, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, - 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x61, 0x0a, - 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x22, 0x5b, 0x0a, 0x09, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 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, - 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x56, 0x50, 0x43, 0x5f, - 0x4c, 0x42, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x4c, 0x42, 0x10, 0x04, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x69, 0x0a, 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x50, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, - 0x67, 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x07, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x41, 0x52, 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x58, 0x5f, - 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x50, 0x55, 0x54, 0x10, 0x02, 0x22, 0xc7, 0x02, 0x0a, - 0x19, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x11, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, - 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, - 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x59, - 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x53, 0x10, - 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x50, 0x49, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x12, - 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x50, 0x41, 0x10, 0x08, 0x12, 0x07, 0x0a, - 0x03, 0x50, 0x4f, 0x44, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x45, 0x4d, 0x4f, 0x4e, - 0x53, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x46, 0x55, - 0x4c, 0x53, 0x45, 0x54, 0x10, 0x0c, 0x22, 0x33, 0x0a, 0x17, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x68, 0x0a, 0x05, 0x46, - 0x6c, 0x65, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x17, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x76, - 0x6d, 0x65, 0x53, 0x73, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x53, 0x73, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x48, 0x0a, 0x1e, 0x45, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x53, 0x73, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, - 0x67, 0x73, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 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, 0xb8, 0x01, 0x0a, 0x10, - 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x59, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x65, 0x72, 0x22, 0x49, 0x0a, 0x0b, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4c, - 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, - 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, - 0x52, 0x49, 0x53, 0x45, 0x10, 0x02, 0x2a, 0xc6, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x49, 0x50, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, - 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x27, - 0x0a, 0x23, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, - 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x49, 0x53, - 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x49, 0x56, 0x41, - 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, - 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, - 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, - 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x2a, - 0x57, 0x0a, 0x13, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, - 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x44, - 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, - 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x1d, - 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x8d, 0x01, 0x0a, 0x26, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, + 0x61, 0x6e, 0x63, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x23, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, + 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc5, 0x02, 0x0a, 0x23, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0x61, 0x0a, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x4f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, + 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x22, + 0x5b, 0x0a, 0x09, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, + 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 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, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x5f, 0x56, 0x50, 0x43, 0x5f, 0x4c, 0x42, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x42, 0x10, 0x04, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x69, 0x0a, + 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x4b, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x43, + 0x0a, 0x07, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x41, 0x52, + 0x49, 0x41, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 0x47, 0x48, 0x50, 0x55, + 0x54, 0x10, 0x02, 0x22, 0xc7, 0x02, 0x0a, 0x19, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x65, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, + 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x50, 0x49, 0x53, + 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, + 0x55, 0x4c, 0x45, 0x52, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x48, + 0x50, 0x41, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x4f, 0x44, 0x10, 0x09, 0x12, 0x0d, 0x0a, + 0x09, 0x44, 0x41, 0x45, 0x4d, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, + 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x46, 0x55, 0x4c, 0x53, 0x45, 0x54, 0x10, 0x0c, 0x22, 0x33, 0x0a, + 0x17, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, + 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x22, 0x68, 0x0a, 0x05, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, + 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x41, 0x0a, 0x17, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x76, 0x6d, 0x65, 0x53, 0x73, 0x64, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x48, 0x0a, 0x1e, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x53, 0x73, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x13, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, + 0x73, 0x12, 0x46, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, + 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, 0xb8, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x65, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, + 0x65, 0x72, 0x22, 0x49, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x69, 0x65, + 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, - 0x54, 0x48, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x44, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, 0x54, 0x48, 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x16, 0x4e, - 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x29, 0x0a, 0x25, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, - 0x4f, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, - 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x02, - 0x12, 0x09, 0x0a, 0x05, 0x53, 0x55, 0x52, 0x47, 0x45, 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x09, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x41, 0x43, - 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x2a, 0x4e, 0x0a, - 0x0e, 0x49, 0x50, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x1c, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x32, 0xa8, 0x49, - 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0xe8, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, 0x82, 0x01, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0xda, 0x41, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 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, 0xed, 0x01, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, 0x49, 0x53, 0x45, 0x10, 0x02, 0x2a, 0xc6, 0x01, + 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x76, 0x36, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x52, 0x49, + 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, + 0x0a, 0x24, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, + 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, + 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, + 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x2a, 0x57, 0x0a, 0x13, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, + 0x21, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x02, 0x2a, + 0x61, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, 0x54, 0x48, 0x5f, + 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, + 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x50, 0x41, 0x54, 0x48, + 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x16, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x29, 0x0a, 0x25, + 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x55, 0x45, 0x5f, + 0x47, 0x52, 0x45, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x55, 0x52, 0x47, 0x45, + 0x10, 0x03, 0x2a, 0x40, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, + 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, + 0x56, 0x36, 0x10, 0x02, 0x2a, 0x4e, 0x0a, 0x0e, 0x49, 0x50, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x9f, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x28, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, + 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x45, + 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x49, 0x54, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x41, + 0x52, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x32, 0xa8, 0x49, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xe8, 0x01, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x22, 0x98, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x5a, 0x3e, 0x12, - 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 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, 0xf5, 0x01, 0x0a, 0x0d, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 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, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x01, 0x2a, 0x5a, - 0x34, 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 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, 0x89, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xac, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x41, - 0x3a, 0x01, 0x2a, 0x1a, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x7d, 0x1a, 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, - 0x86, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa0, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x61, 0x3a, 0x01, 0x2a, - 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, - 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 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, 0x6e, 0x6f, 0x64, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x74, - 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x67, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb4, - 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x66, 0x3a, 0x01, 0x2a, 0x22, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, - 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x47, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0xb7, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, + 0x82, 0x01, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x61, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 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, 0xed, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0xda, 0x41, 0x2a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0xda, 0x41, 0x14, 0x6e, 0x61, 0x6d, - 0x65, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x49, 0x3a, 0x01, 0x2a, - 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x98, 0x01, 0xda, 0x41, 0x1a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x5a, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 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, 0x3a, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, - 0xc9, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0xda, 0x41, 0x2d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0xda, 0x41, 0x17, - 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x01, - 0x2a, 0x5a, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, - 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, - 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xad, 0x02, 0x0a, 0x0f, - 0x53, 0x65, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, - 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x61, 0x64, 0x64, - 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xda, 0x41, 0x12, 0x6e, 0x61, 0x6d, - 0x65, 0x2c, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, - 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x12, 0xa8, 0x02, 0x0a, 0x0c, - 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8b, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, - 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x88, 0x02, 0x01, 0x12, 0xac, 0x02, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xd1, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x2c, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0xda, 0x41, 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, - 0x5a, 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0xf4, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x97, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x01, 0x2a, 0x5a, - 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, - 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, + 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x01, 0x2a, 0x5a, 0x34, 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 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, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, - 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0xf5, 0x01, 0x0a, - 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, + 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x89, 0x02, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x72, 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, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x1a, 0x70, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x5a, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 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, 0xe8, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x7d, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x5a, 0x33, 0x12, 0x31, 0x2f, 0x76, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x3a, 0x01, 0x2a, 0x1a, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xfb, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x1c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x5a, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2e, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8e, 0x02, - 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xb5, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, - 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x1a, 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, 0x86, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa0, + 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x61, 0x3a, 0x01, 0x2a, 0x22, 0x5c, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 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, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0xea, - 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x22, 0x86, 0x01, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x67, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa6, 0x01, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, - 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x6a, 0x77, 0x6b, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, - 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x84, 0x01, 0x5a, 0x48, 0x12, - 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, - 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, - 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0xcb, 0x01, 0xda, 0x41, 0x27, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x93, 0x01, 0x5a, 0x57, 0x12, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, - 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, - 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xbb, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb4, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x66, 0x3a, + 0x01, 0x2a, 0x22, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, - 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xaa, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x93, 0x01, 0x5a, 0x57, - 0x2a, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, - 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x33, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, - 0xd4, 0x02, 0x0a, 0x17, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xe3, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xab, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x63, - 0x3a, 0x01, 0x2a, 0x22, 0x5e, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0xa9, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, - 0x6f, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0xb7, + 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb5, 0x01, 0x3a, 0x01, 0x2a, - 0x5a, 0x68, 0x3a, 0x01, 0x2a, 0x22, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x46, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0xf1, 0x01, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, - 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x50, 0x3a, 0x01, 0x2a, 0x22, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0xda, 0x41, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, + 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xa5, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4c, 0x65, - 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, 0x63, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, 0x63, 0x52, 0x65, 0x71, 0x75, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x22, + 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, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0xc9, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x2c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0xda, 0x41, 0x0c, 0x6e, 0x61, - 0x6d, 0x65, 0x2c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, - 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x3a, 0x01, 0x2a, 0x22, + 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0xad, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x41, 0x64, 0x64, 0x6f, + 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x41, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0xda, 0x41, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x61, 0x64, 0x64, 0x6f, 0x6e, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, + 0x01, 0x2a, 0x5a, 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x41, 0x64, + 0x64, 0x6f, 0x6e, 0x73, 0x12, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xcd, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, + 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8b, + 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, - 0x61, 0x63, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x73, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x02, 0x01, 0x12, + 0xac, 0x02, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd1, 0x01, 0xda, 0x41, 0x29, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xda, 0x41, 0x13, 0x6e, 0x61, 0x6d, 0x65, + 0x2c, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x48, 0x3a, 0x01, 0x2a, 0x22, 0x43, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0xf4, + 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x41, 0x75, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0xf5, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x5a, + 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 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, 0xe8, 0x01, + 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0xda, 0x41, 0x0f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x65, 0x5a, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfb, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x74, 0x5a, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8e, 0x02, 0x0a, 0x0f, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0xb5, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, + 0x01, 0x2a, 0x5a, 0x4c, 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x22, 0x35, 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, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0xea, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x86, 0x01, 0xda, 0x41, + 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x5a, 0x35, 0x12, + 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0xa6, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, 0x4e, + 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x53, 0x4f, + 0x4e, 0x57, 0x65, 0x62, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x77, 0x6b, 0x73, 0x12, 0x9a, 0x02, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, + 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x84, 0x01, 0x5a, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, + 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, - 0x3a, 0x73, 0x65, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, 0x63, 0x12, 0xa0, - 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x50, - 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x22, 0xcb, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x93, 0x01, 0x5a, 0x57, 0x12, + 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, + 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xaa, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xbf, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, - 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x94, 0x01, 0x3a, 0x01, 0x2a, - 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0xcb, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x8a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xaa, 0x02, + 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0xda, + 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x93, 0x01, 0x5a, 0x57, 0x2a, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, + 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, 0x6e, 0x6f, + 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x17, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, + 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, 0x6e, 0x6f, 0x64, 0x65, + 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0xd4, 0x02, 0x0a, 0x17, 0x52, 0x6f, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0xda, 0x41, 0x27, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xab, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x63, 0x3a, 0x01, 0x2a, 0x22, 0x5e, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, + 0xa9, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0xb5, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x68, 0x3a, 0x01, 0x2a, 0x22, 0x63, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x46, 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, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0xac, 0x02, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, - 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xf1, 0x01, 0x0a, 0x09, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x9c, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x50, 0x3a, + 0x01, 0x2a, 0x22, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, + 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, + 0xa5, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, + 0x63, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x65, 0x67, 0x61, 0x63, + 0x79, 0x41, 0x62, 0x61, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0xda, + 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0xda, 0x41, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x3a, + 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, 0x63, 0x22, 0x3a, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x41, 0x62, 0x61, 0x63, 0x12, 0xa0, 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x54, 0x3a, 0x01, 0x2a, 0x22, 0x4f, + 0xd3, 0xe4, 0x93, 0x02, 0x94, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x91, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x49, 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xac, 0x02, 0x0a, 0x12, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x50, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xb0, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa9, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x62, - 0x3a, 0x01, 0x2a, 0x22, 0x5d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x69, - 0x7a, 0x65, 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, - 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0xc2, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x96, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3d, 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, 0x3a, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xda, 0x02, 0x0a, 0x14, 0x53, 0x65, - 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x56, 0x3a, 0x01, 0x2a, - 0x22, 0x51, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x73, - 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x6e, 0x22, 0xc5, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9a, 0x01, 0x3a, + 0x01, 0x2a, 0x5a, 0x54, 0x3a, 0x01, 0x2a, 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x70, + 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x70, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x91, 0x02, 0x0a, 0x0f, 0x53, 0x65, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x53, + 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xa9, 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x62, 0x3a, 0x01, 0x2a, 0x22, 0x5d, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 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, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0xc2, 0x02, + 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xdf, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0xda, + 0x41, 0x13, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x01, 0x2a, 0x5a, + 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x3d, 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, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xbc, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, - 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x2f, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, - 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, + 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0xda, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, + 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, + 0x01, 0x3a, 0x01, 0x2a, 0x5a, 0x56, 0x3a, 0x01, 0x2a, 0x22, 0x51, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x4d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0xbc, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x75, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xe2, + 0x01, 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, + 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, - 0x12, 0x48, 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, 0x3a, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0x4c, 0xca, 0x41, 0x18, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 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, 0x87, 0x02, 0xea, 0x41, 0x40, 0x0a, 0x1b, - 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x0a, 0x17, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x3a, - 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, + 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 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, 0x3a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x75, 0x74, + 0x6f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x1a, 0x4c, 0xca, 0x41, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 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, 0x87, 0x02, 0xea, 0x41, 0x40, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, + 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x42, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1c, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -21715,7 +21818,7 @@ func file_google_container_v1_cluster_service_proto_rawDescGZIP() []byte { return file_google_container_v1_cluster_service_proto_rawDescData } -var file_google_container_v1_cluster_service_proto_enumTypes = make([]protoimpl.EnumInfo, 46) +var file_google_container_v1_cluster_service_proto_enumTypes = make([]protoimpl.EnumInfo, 47) var file_google_container_v1_cluster_service_proto_msgTypes = make([]protoimpl.MessageInfo, 184) var file_google_container_v1_cluster_service_proto_goTypes = []interface{}{ (PrivateIPv6GoogleAccess)(0), // 0: google.container.v1.PrivateIPv6GoogleAccess @@ -21724,586 +21827,589 @@ var file_google_container_v1_cluster_service_proto_goTypes = []interface{}{ (NodePoolUpdateStrategy)(0), // 3: google.container.v1.NodePoolUpdateStrategy (StackType)(0), // 4: google.container.v1.StackType (IPv6AccessType)(0), // 5: google.container.v1.IPv6AccessType - (LinuxNodeConfig_CgroupMode)(0), // 6: google.container.v1.LinuxNodeConfig.CgroupMode - (WindowsNodeConfig_OSVersion)(0), // 7: google.container.v1.WindowsNodeConfig.OSVersion - (NodeNetworkConfig_NetworkPerformanceConfig_Tier)(0), // 8: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier - (SandboxConfig_Type)(0), // 9: google.container.v1.SandboxConfig.Type - (ReservationAffinity_Type)(0), // 10: google.container.v1.ReservationAffinity.Type - (SoleTenantConfig_NodeAffinity_Operator)(0), // 11: google.container.v1.SoleTenantConfig.NodeAffinity.Operator - (NodeTaint_Effect)(0), // 12: google.container.v1.NodeTaint.Effect - (CloudRunConfig_LoadBalancerType)(0), // 13: google.container.v1.CloudRunConfig.LoadBalancerType - (NetworkPolicy_Provider)(0), // 14: google.container.v1.NetworkPolicy.Provider - (BinaryAuthorization_EvaluationMode)(0), // 15: google.container.v1.BinaryAuthorization.EvaluationMode - (Cluster_Status)(0), // 16: google.container.v1.Cluster.Status - (SecurityPostureConfig_Mode)(0), // 17: google.container.v1.SecurityPostureConfig.Mode - (SecurityPostureConfig_VulnerabilityMode)(0), // 18: google.container.v1.SecurityPostureConfig.VulnerabilityMode - (Operation_Status)(0), // 19: google.container.v1.Operation.Status - (Operation_Type)(0), // 20: google.container.v1.Operation.Type - (SetMasterAuthRequest_Action)(0), // 21: google.container.v1.SetMasterAuthRequest.Action - (NodePool_Status)(0), // 22: google.container.v1.NodePool.Status - (NodePool_UpdateInfo_BlueGreenInfo_Phase)(0), // 23: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase - (NodePool_PlacementPolicy_Type)(0), // 24: google.container.v1.NodePool.PlacementPolicy.Type - (MaintenanceExclusionOptions_Scope)(0), // 25: google.container.v1.MaintenanceExclusionOptions.Scope - (ClusterAutoscaling_AutoscalingProfile)(0), // 26: google.container.v1.ClusterAutoscaling.AutoscalingProfile - (NodePoolAutoscaling_LocationPolicy)(0), // 27: google.container.v1.NodePoolAutoscaling.LocationPolicy - (GPUSharingConfig_GPUSharingStrategy)(0), // 28: google.container.v1.GPUSharingConfig.GPUSharingStrategy - (GPUDriverInstallationConfig_GPUDriverVersion)(0), // 29: google.container.v1.GPUDriverInstallationConfig.GPUDriverVersion - (WorkloadMetadataConfig_Mode)(0), // 30: google.container.v1.WorkloadMetadataConfig.Mode - (StatusCondition_Code)(0), // 31: google.container.v1.StatusCondition.Code - (NetworkConfig_ClusterNetworkPerformanceConfig_Tier)(0), // 32: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.Tier - (GatewayAPIConfig_Channel)(0), // 33: google.container.v1.GatewayAPIConfig.Channel - (AutopilotCompatibilityIssue_IssueType)(0), // 34: google.container.v1.AutopilotCompatibilityIssue.IssueType - (ReleaseChannel_Channel)(0), // 35: google.container.v1.ReleaseChannel.Channel - (DNSConfig_Provider)(0), // 36: google.container.v1.DNSConfig.Provider - (DNSConfig_DNSScope)(0), // 37: google.container.v1.DNSConfig.DNSScope - (DatabaseEncryption_State)(0), // 38: google.container.v1.DatabaseEncryption.State - (UsableSubnetworkSecondaryRange_Status)(0), // 39: google.container.v1.UsableSubnetworkSecondaryRange.Status - (NotificationConfig_EventType)(0), // 40: google.container.v1.NotificationConfig.EventType - (LoggingComponentConfig_Component)(0), // 41: google.container.v1.LoggingComponentConfig.Component - (AdvancedDatapathObservabilityConfig_RelayMode)(0), // 42: google.container.v1.AdvancedDatapathObservabilityConfig.RelayMode - (LoggingVariantConfig_Variant)(0), // 43: google.container.v1.LoggingVariantConfig.Variant - (MonitoringComponentConfig_Component)(0), // 44: google.container.v1.MonitoringComponentConfig.Component - (EnterpriseConfig_ClusterTier)(0), // 45: google.container.v1.EnterpriseConfig.ClusterTier - (*LinuxNodeConfig)(nil), // 46: google.container.v1.LinuxNodeConfig - (*WindowsNodeConfig)(nil), // 47: google.container.v1.WindowsNodeConfig - (*NodeKubeletConfig)(nil), // 48: google.container.v1.NodeKubeletConfig - (*NodeConfig)(nil), // 49: google.container.v1.NodeConfig - (*AdvancedMachineFeatures)(nil), // 50: google.container.v1.AdvancedMachineFeatures - (*NodeNetworkConfig)(nil), // 51: google.container.v1.NodeNetworkConfig - (*AdditionalNodeNetworkConfig)(nil), // 52: google.container.v1.AdditionalNodeNetworkConfig - (*AdditionalPodNetworkConfig)(nil), // 53: google.container.v1.AdditionalPodNetworkConfig - (*ShieldedInstanceConfig)(nil), // 54: google.container.v1.ShieldedInstanceConfig - (*SandboxConfig)(nil), // 55: google.container.v1.SandboxConfig - (*GcfsConfig)(nil), // 56: google.container.v1.GcfsConfig - (*ReservationAffinity)(nil), // 57: google.container.v1.ReservationAffinity - (*SoleTenantConfig)(nil), // 58: google.container.v1.SoleTenantConfig - (*NodeTaint)(nil), // 59: google.container.v1.NodeTaint - (*NodeTaints)(nil), // 60: google.container.v1.NodeTaints - (*NodeLabels)(nil), // 61: google.container.v1.NodeLabels - (*ResourceLabels)(nil), // 62: google.container.v1.ResourceLabels - (*NetworkTags)(nil), // 63: google.container.v1.NetworkTags - (*MasterAuth)(nil), // 64: google.container.v1.MasterAuth - (*ClientCertificateConfig)(nil), // 65: google.container.v1.ClientCertificateConfig - (*AddonsConfig)(nil), // 66: google.container.v1.AddonsConfig - (*HttpLoadBalancing)(nil), // 67: google.container.v1.HttpLoadBalancing - (*HorizontalPodAutoscaling)(nil), // 68: google.container.v1.HorizontalPodAutoscaling - (*KubernetesDashboard)(nil), // 69: google.container.v1.KubernetesDashboard - (*NetworkPolicyConfig)(nil), // 70: google.container.v1.NetworkPolicyConfig - (*DnsCacheConfig)(nil), // 71: google.container.v1.DnsCacheConfig - (*PrivateClusterMasterGlobalAccessConfig)(nil), // 72: google.container.v1.PrivateClusterMasterGlobalAccessConfig - (*PrivateClusterConfig)(nil), // 73: google.container.v1.PrivateClusterConfig - (*AuthenticatorGroupsConfig)(nil), // 74: google.container.v1.AuthenticatorGroupsConfig - (*CloudRunConfig)(nil), // 75: google.container.v1.CloudRunConfig - (*ConfigConnectorConfig)(nil), // 76: google.container.v1.ConfigConnectorConfig - (*GcePersistentDiskCsiDriverConfig)(nil), // 77: google.container.v1.GcePersistentDiskCsiDriverConfig - (*GcpFilestoreCsiDriverConfig)(nil), // 78: google.container.v1.GcpFilestoreCsiDriverConfig - (*GcsFuseCsiDriverConfig)(nil), // 79: google.container.v1.GcsFuseCsiDriverConfig - (*GkeBackupAgentConfig)(nil), // 80: google.container.v1.GkeBackupAgentConfig - (*MasterAuthorizedNetworksConfig)(nil), // 81: google.container.v1.MasterAuthorizedNetworksConfig - (*LegacyAbac)(nil), // 82: google.container.v1.LegacyAbac - (*NetworkPolicy)(nil), // 83: google.container.v1.NetworkPolicy - (*BinaryAuthorization)(nil), // 84: google.container.v1.BinaryAuthorization - (*PodCIDROverprovisionConfig)(nil), // 85: google.container.v1.PodCIDROverprovisionConfig - (*IPAllocationPolicy)(nil), // 86: google.container.v1.IPAllocationPolicy - (*Cluster)(nil), // 87: google.container.v1.Cluster - (*K8SBetaAPIConfig)(nil), // 88: google.container.v1.K8sBetaAPIConfig - (*SecurityPostureConfig)(nil), // 89: google.container.v1.SecurityPostureConfig - (*NodePoolAutoConfig)(nil), // 90: google.container.v1.NodePoolAutoConfig - (*NodePoolDefaults)(nil), // 91: google.container.v1.NodePoolDefaults - (*NodeConfigDefaults)(nil), // 92: google.container.v1.NodeConfigDefaults - (*ClusterUpdate)(nil), // 93: google.container.v1.ClusterUpdate - (*AdditionalPodRangesConfig)(nil), // 94: google.container.v1.AdditionalPodRangesConfig - (*RangeInfo)(nil), // 95: google.container.v1.RangeInfo - (*Operation)(nil), // 96: google.container.v1.Operation - (*OperationProgress)(nil), // 97: google.container.v1.OperationProgress - (*CreateClusterRequest)(nil), // 98: google.container.v1.CreateClusterRequest - (*GetClusterRequest)(nil), // 99: google.container.v1.GetClusterRequest - (*UpdateClusterRequest)(nil), // 100: google.container.v1.UpdateClusterRequest - (*UpdateNodePoolRequest)(nil), // 101: google.container.v1.UpdateNodePoolRequest - (*SetNodePoolAutoscalingRequest)(nil), // 102: google.container.v1.SetNodePoolAutoscalingRequest - (*SetLoggingServiceRequest)(nil), // 103: google.container.v1.SetLoggingServiceRequest - (*SetMonitoringServiceRequest)(nil), // 104: google.container.v1.SetMonitoringServiceRequest - (*SetAddonsConfigRequest)(nil), // 105: google.container.v1.SetAddonsConfigRequest - (*SetLocationsRequest)(nil), // 106: google.container.v1.SetLocationsRequest - (*UpdateMasterRequest)(nil), // 107: google.container.v1.UpdateMasterRequest - (*SetMasterAuthRequest)(nil), // 108: google.container.v1.SetMasterAuthRequest - (*DeleteClusterRequest)(nil), // 109: google.container.v1.DeleteClusterRequest - (*ListClustersRequest)(nil), // 110: google.container.v1.ListClustersRequest - (*ListClustersResponse)(nil), // 111: google.container.v1.ListClustersResponse - (*GetOperationRequest)(nil), // 112: google.container.v1.GetOperationRequest - (*ListOperationsRequest)(nil), // 113: google.container.v1.ListOperationsRequest - (*CancelOperationRequest)(nil), // 114: google.container.v1.CancelOperationRequest - (*ListOperationsResponse)(nil), // 115: google.container.v1.ListOperationsResponse - (*GetServerConfigRequest)(nil), // 116: google.container.v1.GetServerConfigRequest - (*ServerConfig)(nil), // 117: google.container.v1.ServerConfig - (*CreateNodePoolRequest)(nil), // 118: google.container.v1.CreateNodePoolRequest - (*DeleteNodePoolRequest)(nil), // 119: google.container.v1.DeleteNodePoolRequest - (*ListNodePoolsRequest)(nil), // 120: google.container.v1.ListNodePoolsRequest - (*GetNodePoolRequest)(nil), // 121: google.container.v1.GetNodePoolRequest - (*BlueGreenSettings)(nil), // 122: google.container.v1.BlueGreenSettings - (*NodePool)(nil), // 123: google.container.v1.NodePool - (*NodeManagement)(nil), // 124: google.container.v1.NodeManagement - (*BestEffortProvisioning)(nil), // 125: google.container.v1.BestEffortProvisioning - (*AutoUpgradeOptions)(nil), // 126: google.container.v1.AutoUpgradeOptions - (*MaintenancePolicy)(nil), // 127: google.container.v1.MaintenancePolicy - (*MaintenanceWindow)(nil), // 128: google.container.v1.MaintenanceWindow - (*TimeWindow)(nil), // 129: google.container.v1.TimeWindow - (*MaintenanceExclusionOptions)(nil), // 130: google.container.v1.MaintenanceExclusionOptions - (*RecurringTimeWindow)(nil), // 131: google.container.v1.RecurringTimeWindow - (*DailyMaintenanceWindow)(nil), // 132: google.container.v1.DailyMaintenanceWindow - (*SetNodePoolManagementRequest)(nil), // 133: google.container.v1.SetNodePoolManagementRequest - (*SetNodePoolSizeRequest)(nil), // 134: google.container.v1.SetNodePoolSizeRequest - (*CompleteNodePoolUpgradeRequest)(nil), // 135: google.container.v1.CompleteNodePoolUpgradeRequest - (*RollbackNodePoolUpgradeRequest)(nil), // 136: google.container.v1.RollbackNodePoolUpgradeRequest - (*ListNodePoolsResponse)(nil), // 137: google.container.v1.ListNodePoolsResponse - (*ClusterAutoscaling)(nil), // 138: google.container.v1.ClusterAutoscaling - (*AutoprovisioningNodePoolDefaults)(nil), // 139: google.container.v1.AutoprovisioningNodePoolDefaults - (*ResourceLimit)(nil), // 140: google.container.v1.ResourceLimit - (*NodePoolAutoscaling)(nil), // 141: google.container.v1.NodePoolAutoscaling - (*SetLabelsRequest)(nil), // 142: google.container.v1.SetLabelsRequest - (*SetLegacyAbacRequest)(nil), // 143: google.container.v1.SetLegacyAbacRequest - (*StartIPRotationRequest)(nil), // 144: google.container.v1.StartIPRotationRequest - (*CompleteIPRotationRequest)(nil), // 145: google.container.v1.CompleteIPRotationRequest - (*AcceleratorConfig)(nil), // 146: google.container.v1.AcceleratorConfig - (*GPUSharingConfig)(nil), // 147: google.container.v1.GPUSharingConfig - (*GPUDriverInstallationConfig)(nil), // 148: google.container.v1.GPUDriverInstallationConfig - (*WorkloadMetadataConfig)(nil), // 149: google.container.v1.WorkloadMetadataConfig - (*SetNetworkPolicyRequest)(nil), // 150: google.container.v1.SetNetworkPolicyRequest - (*SetMaintenancePolicyRequest)(nil), // 151: google.container.v1.SetMaintenancePolicyRequest - (*StatusCondition)(nil), // 152: google.container.v1.StatusCondition - (*NetworkConfig)(nil), // 153: google.container.v1.NetworkConfig - (*GatewayAPIConfig)(nil), // 154: google.container.v1.GatewayAPIConfig - (*ServiceExternalIPsConfig)(nil), // 155: google.container.v1.ServiceExternalIPsConfig - (*GetOpenIDConfigRequest)(nil), // 156: google.container.v1.GetOpenIDConfigRequest - (*GetOpenIDConfigResponse)(nil), // 157: google.container.v1.GetOpenIDConfigResponse - (*GetJSONWebKeysRequest)(nil), // 158: google.container.v1.GetJSONWebKeysRequest - (*Jwk)(nil), // 159: google.container.v1.Jwk - (*GetJSONWebKeysResponse)(nil), // 160: google.container.v1.GetJSONWebKeysResponse - (*CheckAutopilotCompatibilityRequest)(nil), // 161: google.container.v1.CheckAutopilotCompatibilityRequest - (*AutopilotCompatibilityIssue)(nil), // 162: google.container.v1.AutopilotCompatibilityIssue - (*CheckAutopilotCompatibilityResponse)(nil), // 163: google.container.v1.CheckAutopilotCompatibilityResponse - (*ReleaseChannel)(nil), // 164: google.container.v1.ReleaseChannel - (*CostManagementConfig)(nil), // 165: google.container.v1.CostManagementConfig - (*IntraNodeVisibilityConfig)(nil), // 166: google.container.v1.IntraNodeVisibilityConfig - (*ILBSubsettingConfig)(nil), // 167: google.container.v1.ILBSubsettingConfig - (*DNSConfig)(nil), // 168: google.container.v1.DNSConfig - (*MaxPodsConstraint)(nil), // 169: google.container.v1.MaxPodsConstraint - (*WorkloadIdentityConfig)(nil), // 170: google.container.v1.WorkloadIdentityConfig - (*IdentityServiceConfig)(nil), // 171: google.container.v1.IdentityServiceConfig - (*MeshCertificates)(nil), // 172: google.container.v1.MeshCertificates - (*DatabaseEncryption)(nil), // 173: google.container.v1.DatabaseEncryption - (*ListUsableSubnetworksRequest)(nil), // 174: google.container.v1.ListUsableSubnetworksRequest - (*ListUsableSubnetworksResponse)(nil), // 175: google.container.v1.ListUsableSubnetworksResponse - (*UsableSubnetworkSecondaryRange)(nil), // 176: google.container.v1.UsableSubnetworkSecondaryRange - (*UsableSubnetwork)(nil), // 177: google.container.v1.UsableSubnetwork - (*ResourceUsageExportConfig)(nil), // 178: google.container.v1.ResourceUsageExportConfig - (*VerticalPodAutoscaling)(nil), // 179: google.container.v1.VerticalPodAutoscaling - (*DefaultSnatStatus)(nil), // 180: google.container.v1.DefaultSnatStatus - (*ShieldedNodes)(nil), // 181: google.container.v1.ShieldedNodes - (*VirtualNIC)(nil), // 182: google.container.v1.VirtualNIC - (*FastSocket)(nil), // 183: google.container.v1.FastSocket - (*NotificationConfig)(nil), // 184: google.container.v1.NotificationConfig - (*ConfidentialNodes)(nil), // 185: google.container.v1.ConfidentialNodes - (*UpgradeEvent)(nil), // 186: google.container.v1.UpgradeEvent - (*UpgradeAvailableEvent)(nil), // 187: google.container.v1.UpgradeAvailableEvent - (*SecurityBulletinEvent)(nil), // 188: google.container.v1.SecurityBulletinEvent - (*Autopilot)(nil), // 189: google.container.v1.Autopilot - (*WorkloadPolicyConfig)(nil), // 190: google.container.v1.WorkloadPolicyConfig - (*LoggingConfig)(nil), // 191: google.container.v1.LoggingConfig - (*LoggingComponentConfig)(nil), // 192: google.container.v1.LoggingComponentConfig - (*MonitoringConfig)(nil), // 193: google.container.v1.MonitoringConfig - (*AdvancedDatapathObservabilityConfig)(nil), // 194: google.container.v1.AdvancedDatapathObservabilityConfig - (*NodePoolLoggingConfig)(nil), // 195: google.container.v1.NodePoolLoggingConfig - (*LoggingVariantConfig)(nil), // 196: google.container.v1.LoggingVariantConfig - (*MonitoringComponentConfig)(nil), // 197: google.container.v1.MonitoringComponentConfig - (*ManagedPrometheusConfig)(nil), // 198: google.container.v1.ManagedPrometheusConfig - (*Fleet)(nil), // 199: google.container.v1.Fleet - (*LocalNvmeSsdBlockConfig)(nil), // 200: google.container.v1.LocalNvmeSsdBlockConfig - (*EphemeralStorageLocalSsdConfig)(nil), // 201: google.container.v1.EphemeralStorageLocalSsdConfig - (*ResourceManagerTags)(nil), // 202: google.container.v1.ResourceManagerTags - (*EnterpriseConfig)(nil), // 203: google.container.v1.EnterpriseConfig - nil, // 204: google.container.v1.LinuxNodeConfig.SysctlsEntry - nil, // 205: google.container.v1.NodeConfig.MetadataEntry - nil, // 206: google.container.v1.NodeConfig.LabelsEntry - nil, // 207: google.container.v1.NodeConfig.ResourceLabelsEntry - (*NodeNetworkConfig_NetworkPerformanceConfig)(nil), // 208: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig - (*SoleTenantConfig_NodeAffinity)(nil), // 209: google.container.v1.SoleTenantConfig.NodeAffinity - nil, // 210: google.container.v1.NodeLabels.LabelsEntry - nil, // 211: google.container.v1.ResourceLabels.LabelsEntry - (*MasterAuthorizedNetworksConfig_CidrBlock)(nil), // 212: google.container.v1.MasterAuthorizedNetworksConfig.CidrBlock - nil, // 213: google.container.v1.Cluster.ResourceLabelsEntry - (*OperationProgress_Metric)(nil), // 214: google.container.v1.OperationProgress.Metric - (*ServerConfig_ReleaseChannelConfig)(nil), // 215: google.container.v1.ServerConfig.ReleaseChannelConfig - (*BlueGreenSettings_StandardRolloutPolicy)(nil), // 216: google.container.v1.BlueGreenSettings.StandardRolloutPolicy - (*NodePool_UpgradeSettings)(nil), // 217: google.container.v1.NodePool.UpgradeSettings - (*NodePool_UpdateInfo)(nil), // 218: google.container.v1.NodePool.UpdateInfo - (*NodePool_PlacementPolicy)(nil), // 219: google.container.v1.NodePool.PlacementPolicy - (*NodePool_QueuedProvisioning)(nil), // 220: google.container.v1.NodePool.QueuedProvisioning - (*NodePool_UpdateInfo_BlueGreenInfo)(nil), // 221: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo - nil, // 222: google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry - nil, // 223: google.container.v1.SetLabelsRequest.ResourceLabelsEntry - (*NetworkConfig_ClusterNetworkPerformanceConfig)(nil), // 224: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig - (*ResourceUsageExportConfig_BigQueryDestination)(nil), // 225: google.container.v1.ResourceUsageExportConfig.BigQueryDestination - (*ResourceUsageExportConfig_ConsumptionMeteringConfig)(nil), // 226: google.container.v1.ResourceUsageExportConfig.ConsumptionMeteringConfig - (*NotificationConfig_PubSub)(nil), // 227: google.container.v1.NotificationConfig.PubSub - (*NotificationConfig_Filter)(nil), // 228: google.container.v1.NotificationConfig.Filter - nil, // 229: google.container.v1.ResourceManagerTags.TagsEntry - (*wrapperspb.BoolValue)(nil), // 230: google.protobuf.BoolValue - (*status.Status)(nil), // 231: google.rpc.Status - (*durationpb.Duration)(nil), // 232: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 233: google.protobuf.Timestamp - (code.Code)(0), // 234: google.rpc.Code - (*emptypb.Empty)(nil), // 235: google.protobuf.Empty + (InTransitEncryptionConfig)(0), // 6: google.container.v1.InTransitEncryptionConfig + (LinuxNodeConfig_CgroupMode)(0), // 7: google.container.v1.LinuxNodeConfig.CgroupMode + (WindowsNodeConfig_OSVersion)(0), // 8: google.container.v1.WindowsNodeConfig.OSVersion + (NodeNetworkConfig_NetworkPerformanceConfig_Tier)(0), // 9: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier + (SandboxConfig_Type)(0), // 10: google.container.v1.SandboxConfig.Type + (ReservationAffinity_Type)(0), // 11: google.container.v1.ReservationAffinity.Type + (SoleTenantConfig_NodeAffinity_Operator)(0), // 12: google.container.v1.SoleTenantConfig.NodeAffinity.Operator + (NodeTaint_Effect)(0), // 13: google.container.v1.NodeTaint.Effect + (CloudRunConfig_LoadBalancerType)(0), // 14: google.container.v1.CloudRunConfig.LoadBalancerType + (NetworkPolicy_Provider)(0), // 15: google.container.v1.NetworkPolicy.Provider + (BinaryAuthorization_EvaluationMode)(0), // 16: google.container.v1.BinaryAuthorization.EvaluationMode + (Cluster_Status)(0), // 17: google.container.v1.Cluster.Status + (SecurityPostureConfig_Mode)(0), // 18: google.container.v1.SecurityPostureConfig.Mode + (SecurityPostureConfig_VulnerabilityMode)(0), // 19: google.container.v1.SecurityPostureConfig.VulnerabilityMode + (Operation_Status)(0), // 20: google.container.v1.Operation.Status + (Operation_Type)(0), // 21: google.container.v1.Operation.Type + (SetMasterAuthRequest_Action)(0), // 22: google.container.v1.SetMasterAuthRequest.Action + (NodePool_Status)(0), // 23: google.container.v1.NodePool.Status + (NodePool_UpdateInfo_BlueGreenInfo_Phase)(0), // 24: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase + (NodePool_PlacementPolicy_Type)(0), // 25: google.container.v1.NodePool.PlacementPolicy.Type + (MaintenanceExclusionOptions_Scope)(0), // 26: google.container.v1.MaintenanceExclusionOptions.Scope + (ClusterAutoscaling_AutoscalingProfile)(0), // 27: google.container.v1.ClusterAutoscaling.AutoscalingProfile + (NodePoolAutoscaling_LocationPolicy)(0), // 28: google.container.v1.NodePoolAutoscaling.LocationPolicy + (GPUSharingConfig_GPUSharingStrategy)(0), // 29: google.container.v1.GPUSharingConfig.GPUSharingStrategy + (GPUDriverInstallationConfig_GPUDriverVersion)(0), // 30: google.container.v1.GPUDriverInstallationConfig.GPUDriverVersion + (WorkloadMetadataConfig_Mode)(0), // 31: google.container.v1.WorkloadMetadataConfig.Mode + (StatusCondition_Code)(0), // 32: google.container.v1.StatusCondition.Code + (NetworkConfig_ClusterNetworkPerformanceConfig_Tier)(0), // 33: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.Tier + (GatewayAPIConfig_Channel)(0), // 34: google.container.v1.GatewayAPIConfig.Channel + (AutopilotCompatibilityIssue_IssueType)(0), // 35: google.container.v1.AutopilotCompatibilityIssue.IssueType + (ReleaseChannel_Channel)(0), // 36: google.container.v1.ReleaseChannel.Channel + (DNSConfig_Provider)(0), // 37: google.container.v1.DNSConfig.Provider + (DNSConfig_DNSScope)(0), // 38: google.container.v1.DNSConfig.DNSScope + (DatabaseEncryption_State)(0), // 39: google.container.v1.DatabaseEncryption.State + (UsableSubnetworkSecondaryRange_Status)(0), // 40: google.container.v1.UsableSubnetworkSecondaryRange.Status + (NotificationConfig_EventType)(0), // 41: google.container.v1.NotificationConfig.EventType + (LoggingComponentConfig_Component)(0), // 42: google.container.v1.LoggingComponentConfig.Component + (AdvancedDatapathObservabilityConfig_RelayMode)(0), // 43: google.container.v1.AdvancedDatapathObservabilityConfig.RelayMode + (LoggingVariantConfig_Variant)(0), // 44: google.container.v1.LoggingVariantConfig.Variant + (MonitoringComponentConfig_Component)(0), // 45: google.container.v1.MonitoringComponentConfig.Component + (EnterpriseConfig_ClusterTier)(0), // 46: google.container.v1.EnterpriseConfig.ClusterTier + (*LinuxNodeConfig)(nil), // 47: google.container.v1.LinuxNodeConfig + (*WindowsNodeConfig)(nil), // 48: google.container.v1.WindowsNodeConfig + (*NodeKubeletConfig)(nil), // 49: google.container.v1.NodeKubeletConfig + (*NodeConfig)(nil), // 50: google.container.v1.NodeConfig + (*AdvancedMachineFeatures)(nil), // 51: google.container.v1.AdvancedMachineFeatures + (*NodeNetworkConfig)(nil), // 52: google.container.v1.NodeNetworkConfig + (*AdditionalNodeNetworkConfig)(nil), // 53: google.container.v1.AdditionalNodeNetworkConfig + (*AdditionalPodNetworkConfig)(nil), // 54: google.container.v1.AdditionalPodNetworkConfig + (*ShieldedInstanceConfig)(nil), // 55: google.container.v1.ShieldedInstanceConfig + (*SandboxConfig)(nil), // 56: google.container.v1.SandboxConfig + (*GcfsConfig)(nil), // 57: google.container.v1.GcfsConfig + (*ReservationAffinity)(nil), // 58: google.container.v1.ReservationAffinity + (*SoleTenantConfig)(nil), // 59: google.container.v1.SoleTenantConfig + (*NodeTaint)(nil), // 60: google.container.v1.NodeTaint + (*NodeTaints)(nil), // 61: google.container.v1.NodeTaints + (*NodeLabels)(nil), // 62: google.container.v1.NodeLabels + (*ResourceLabels)(nil), // 63: google.container.v1.ResourceLabels + (*NetworkTags)(nil), // 64: google.container.v1.NetworkTags + (*MasterAuth)(nil), // 65: google.container.v1.MasterAuth + (*ClientCertificateConfig)(nil), // 66: google.container.v1.ClientCertificateConfig + (*AddonsConfig)(nil), // 67: google.container.v1.AddonsConfig + (*HttpLoadBalancing)(nil), // 68: google.container.v1.HttpLoadBalancing + (*HorizontalPodAutoscaling)(nil), // 69: google.container.v1.HorizontalPodAutoscaling + (*KubernetesDashboard)(nil), // 70: google.container.v1.KubernetesDashboard + (*NetworkPolicyConfig)(nil), // 71: google.container.v1.NetworkPolicyConfig + (*DnsCacheConfig)(nil), // 72: google.container.v1.DnsCacheConfig + (*PrivateClusterMasterGlobalAccessConfig)(nil), // 73: google.container.v1.PrivateClusterMasterGlobalAccessConfig + (*PrivateClusterConfig)(nil), // 74: google.container.v1.PrivateClusterConfig + (*AuthenticatorGroupsConfig)(nil), // 75: google.container.v1.AuthenticatorGroupsConfig + (*CloudRunConfig)(nil), // 76: google.container.v1.CloudRunConfig + (*ConfigConnectorConfig)(nil), // 77: google.container.v1.ConfigConnectorConfig + (*GcePersistentDiskCsiDriverConfig)(nil), // 78: google.container.v1.GcePersistentDiskCsiDriverConfig + (*GcpFilestoreCsiDriverConfig)(nil), // 79: google.container.v1.GcpFilestoreCsiDriverConfig + (*GcsFuseCsiDriverConfig)(nil), // 80: google.container.v1.GcsFuseCsiDriverConfig + (*GkeBackupAgentConfig)(nil), // 81: google.container.v1.GkeBackupAgentConfig + (*MasterAuthorizedNetworksConfig)(nil), // 82: google.container.v1.MasterAuthorizedNetworksConfig + (*LegacyAbac)(nil), // 83: google.container.v1.LegacyAbac + (*NetworkPolicy)(nil), // 84: google.container.v1.NetworkPolicy + (*BinaryAuthorization)(nil), // 85: google.container.v1.BinaryAuthorization + (*PodCIDROverprovisionConfig)(nil), // 86: google.container.v1.PodCIDROverprovisionConfig + (*IPAllocationPolicy)(nil), // 87: google.container.v1.IPAllocationPolicy + (*Cluster)(nil), // 88: google.container.v1.Cluster + (*K8SBetaAPIConfig)(nil), // 89: google.container.v1.K8sBetaAPIConfig + (*SecurityPostureConfig)(nil), // 90: google.container.v1.SecurityPostureConfig + (*NodePoolAutoConfig)(nil), // 91: google.container.v1.NodePoolAutoConfig + (*NodePoolDefaults)(nil), // 92: google.container.v1.NodePoolDefaults + (*NodeConfigDefaults)(nil), // 93: google.container.v1.NodeConfigDefaults + (*ClusterUpdate)(nil), // 94: google.container.v1.ClusterUpdate + (*AdditionalPodRangesConfig)(nil), // 95: google.container.v1.AdditionalPodRangesConfig + (*RangeInfo)(nil), // 96: google.container.v1.RangeInfo + (*Operation)(nil), // 97: google.container.v1.Operation + (*OperationProgress)(nil), // 98: google.container.v1.OperationProgress + (*CreateClusterRequest)(nil), // 99: google.container.v1.CreateClusterRequest + (*GetClusterRequest)(nil), // 100: google.container.v1.GetClusterRequest + (*UpdateClusterRequest)(nil), // 101: google.container.v1.UpdateClusterRequest + (*UpdateNodePoolRequest)(nil), // 102: google.container.v1.UpdateNodePoolRequest + (*SetNodePoolAutoscalingRequest)(nil), // 103: google.container.v1.SetNodePoolAutoscalingRequest + (*SetLoggingServiceRequest)(nil), // 104: google.container.v1.SetLoggingServiceRequest + (*SetMonitoringServiceRequest)(nil), // 105: google.container.v1.SetMonitoringServiceRequest + (*SetAddonsConfigRequest)(nil), // 106: google.container.v1.SetAddonsConfigRequest + (*SetLocationsRequest)(nil), // 107: google.container.v1.SetLocationsRequest + (*UpdateMasterRequest)(nil), // 108: google.container.v1.UpdateMasterRequest + (*SetMasterAuthRequest)(nil), // 109: google.container.v1.SetMasterAuthRequest + (*DeleteClusterRequest)(nil), // 110: google.container.v1.DeleteClusterRequest + (*ListClustersRequest)(nil), // 111: google.container.v1.ListClustersRequest + (*ListClustersResponse)(nil), // 112: google.container.v1.ListClustersResponse + (*GetOperationRequest)(nil), // 113: google.container.v1.GetOperationRequest + (*ListOperationsRequest)(nil), // 114: google.container.v1.ListOperationsRequest + (*CancelOperationRequest)(nil), // 115: google.container.v1.CancelOperationRequest + (*ListOperationsResponse)(nil), // 116: google.container.v1.ListOperationsResponse + (*GetServerConfigRequest)(nil), // 117: google.container.v1.GetServerConfigRequest + (*ServerConfig)(nil), // 118: google.container.v1.ServerConfig + (*CreateNodePoolRequest)(nil), // 119: google.container.v1.CreateNodePoolRequest + (*DeleteNodePoolRequest)(nil), // 120: google.container.v1.DeleteNodePoolRequest + (*ListNodePoolsRequest)(nil), // 121: google.container.v1.ListNodePoolsRequest + (*GetNodePoolRequest)(nil), // 122: google.container.v1.GetNodePoolRequest + (*BlueGreenSettings)(nil), // 123: google.container.v1.BlueGreenSettings + (*NodePool)(nil), // 124: google.container.v1.NodePool + (*NodeManagement)(nil), // 125: google.container.v1.NodeManagement + (*BestEffortProvisioning)(nil), // 126: google.container.v1.BestEffortProvisioning + (*AutoUpgradeOptions)(nil), // 127: google.container.v1.AutoUpgradeOptions + (*MaintenancePolicy)(nil), // 128: google.container.v1.MaintenancePolicy + (*MaintenanceWindow)(nil), // 129: google.container.v1.MaintenanceWindow + (*TimeWindow)(nil), // 130: google.container.v1.TimeWindow + (*MaintenanceExclusionOptions)(nil), // 131: google.container.v1.MaintenanceExclusionOptions + (*RecurringTimeWindow)(nil), // 132: google.container.v1.RecurringTimeWindow + (*DailyMaintenanceWindow)(nil), // 133: google.container.v1.DailyMaintenanceWindow + (*SetNodePoolManagementRequest)(nil), // 134: google.container.v1.SetNodePoolManagementRequest + (*SetNodePoolSizeRequest)(nil), // 135: google.container.v1.SetNodePoolSizeRequest + (*CompleteNodePoolUpgradeRequest)(nil), // 136: google.container.v1.CompleteNodePoolUpgradeRequest + (*RollbackNodePoolUpgradeRequest)(nil), // 137: google.container.v1.RollbackNodePoolUpgradeRequest + (*ListNodePoolsResponse)(nil), // 138: google.container.v1.ListNodePoolsResponse + (*ClusterAutoscaling)(nil), // 139: google.container.v1.ClusterAutoscaling + (*AutoprovisioningNodePoolDefaults)(nil), // 140: google.container.v1.AutoprovisioningNodePoolDefaults + (*ResourceLimit)(nil), // 141: google.container.v1.ResourceLimit + (*NodePoolAutoscaling)(nil), // 142: google.container.v1.NodePoolAutoscaling + (*SetLabelsRequest)(nil), // 143: google.container.v1.SetLabelsRequest + (*SetLegacyAbacRequest)(nil), // 144: google.container.v1.SetLegacyAbacRequest + (*StartIPRotationRequest)(nil), // 145: google.container.v1.StartIPRotationRequest + (*CompleteIPRotationRequest)(nil), // 146: google.container.v1.CompleteIPRotationRequest + (*AcceleratorConfig)(nil), // 147: google.container.v1.AcceleratorConfig + (*GPUSharingConfig)(nil), // 148: google.container.v1.GPUSharingConfig + (*GPUDriverInstallationConfig)(nil), // 149: google.container.v1.GPUDriverInstallationConfig + (*WorkloadMetadataConfig)(nil), // 150: google.container.v1.WorkloadMetadataConfig + (*SetNetworkPolicyRequest)(nil), // 151: google.container.v1.SetNetworkPolicyRequest + (*SetMaintenancePolicyRequest)(nil), // 152: google.container.v1.SetMaintenancePolicyRequest + (*StatusCondition)(nil), // 153: google.container.v1.StatusCondition + (*NetworkConfig)(nil), // 154: google.container.v1.NetworkConfig + (*GatewayAPIConfig)(nil), // 155: google.container.v1.GatewayAPIConfig + (*ServiceExternalIPsConfig)(nil), // 156: google.container.v1.ServiceExternalIPsConfig + (*GetOpenIDConfigRequest)(nil), // 157: google.container.v1.GetOpenIDConfigRequest + (*GetOpenIDConfigResponse)(nil), // 158: google.container.v1.GetOpenIDConfigResponse + (*GetJSONWebKeysRequest)(nil), // 159: google.container.v1.GetJSONWebKeysRequest + (*Jwk)(nil), // 160: google.container.v1.Jwk + (*GetJSONWebKeysResponse)(nil), // 161: google.container.v1.GetJSONWebKeysResponse + (*CheckAutopilotCompatibilityRequest)(nil), // 162: google.container.v1.CheckAutopilotCompatibilityRequest + (*AutopilotCompatibilityIssue)(nil), // 163: google.container.v1.AutopilotCompatibilityIssue + (*CheckAutopilotCompatibilityResponse)(nil), // 164: google.container.v1.CheckAutopilotCompatibilityResponse + (*ReleaseChannel)(nil), // 165: google.container.v1.ReleaseChannel + (*CostManagementConfig)(nil), // 166: google.container.v1.CostManagementConfig + (*IntraNodeVisibilityConfig)(nil), // 167: google.container.v1.IntraNodeVisibilityConfig + (*ILBSubsettingConfig)(nil), // 168: google.container.v1.ILBSubsettingConfig + (*DNSConfig)(nil), // 169: google.container.v1.DNSConfig + (*MaxPodsConstraint)(nil), // 170: google.container.v1.MaxPodsConstraint + (*WorkloadIdentityConfig)(nil), // 171: google.container.v1.WorkloadIdentityConfig + (*IdentityServiceConfig)(nil), // 172: google.container.v1.IdentityServiceConfig + (*MeshCertificates)(nil), // 173: google.container.v1.MeshCertificates + (*DatabaseEncryption)(nil), // 174: google.container.v1.DatabaseEncryption + (*ListUsableSubnetworksRequest)(nil), // 175: google.container.v1.ListUsableSubnetworksRequest + (*ListUsableSubnetworksResponse)(nil), // 176: google.container.v1.ListUsableSubnetworksResponse + (*UsableSubnetworkSecondaryRange)(nil), // 177: google.container.v1.UsableSubnetworkSecondaryRange + (*UsableSubnetwork)(nil), // 178: google.container.v1.UsableSubnetwork + (*ResourceUsageExportConfig)(nil), // 179: google.container.v1.ResourceUsageExportConfig + (*VerticalPodAutoscaling)(nil), // 180: google.container.v1.VerticalPodAutoscaling + (*DefaultSnatStatus)(nil), // 181: google.container.v1.DefaultSnatStatus + (*ShieldedNodes)(nil), // 182: google.container.v1.ShieldedNodes + (*VirtualNIC)(nil), // 183: google.container.v1.VirtualNIC + (*FastSocket)(nil), // 184: google.container.v1.FastSocket + (*NotificationConfig)(nil), // 185: google.container.v1.NotificationConfig + (*ConfidentialNodes)(nil), // 186: google.container.v1.ConfidentialNodes + (*UpgradeEvent)(nil), // 187: google.container.v1.UpgradeEvent + (*UpgradeAvailableEvent)(nil), // 188: google.container.v1.UpgradeAvailableEvent + (*SecurityBulletinEvent)(nil), // 189: google.container.v1.SecurityBulletinEvent + (*Autopilot)(nil), // 190: google.container.v1.Autopilot + (*WorkloadPolicyConfig)(nil), // 191: google.container.v1.WorkloadPolicyConfig + (*LoggingConfig)(nil), // 192: google.container.v1.LoggingConfig + (*LoggingComponentConfig)(nil), // 193: google.container.v1.LoggingComponentConfig + (*MonitoringConfig)(nil), // 194: google.container.v1.MonitoringConfig + (*AdvancedDatapathObservabilityConfig)(nil), // 195: google.container.v1.AdvancedDatapathObservabilityConfig + (*NodePoolLoggingConfig)(nil), // 196: google.container.v1.NodePoolLoggingConfig + (*LoggingVariantConfig)(nil), // 197: google.container.v1.LoggingVariantConfig + (*MonitoringComponentConfig)(nil), // 198: google.container.v1.MonitoringComponentConfig + (*ManagedPrometheusConfig)(nil), // 199: google.container.v1.ManagedPrometheusConfig + (*Fleet)(nil), // 200: google.container.v1.Fleet + (*LocalNvmeSsdBlockConfig)(nil), // 201: google.container.v1.LocalNvmeSsdBlockConfig + (*EphemeralStorageLocalSsdConfig)(nil), // 202: google.container.v1.EphemeralStorageLocalSsdConfig + (*ResourceManagerTags)(nil), // 203: google.container.v1.ResourceManagerTags + (*EnterpriseConfig)(nil), // 204: google.container.v1.EnterpriseConfig + nil, // 205: google.container.v1.LinuxNodeConfig.SysctlsEntry + nil, // 206: google.container.v1.NodeConfig.MetadataEntry + nil, // 207: google.container.v1.NodeConfig.LabelsEntry + nil, // 208: google.container.v1.NodeConfig.ResourceLabelsEntry + (*NodeNetworkConfig_NetworkPerformanceConfig)(nil), // 209: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + (*SoleTenantConfig_NodeAffinity)(nil), // 210: google.container.v1.SoleTenantConfig.NodeAffinity + nil, // 211: google.container.v1.NodeLabels.LabelsEntry + nil, // 212: google.container.v1.ResourceLabels.LabelsEntry + (*MasterAuthorizedNetworksConfig_CidrBlock)(nil), // 213: google.container.v1.MasterAuthorizedNetworksConfig.CidrBlock + nil, // 214: google.container.v1.Cluster.ResourceLabelsEntry + (*OperationProgress_Metric)(nil), // 215: google.container.v1.OperationProgress.Metric + (*ServerConfig_ReleaseChannelConfig)(nil), // 216: google.container.v1.ServerConfig.ReleaseChannelConfig + (*BlueGreenSettings_StandardRolloutPolicy)(nil), // 217: google.container.v1.BlueGreenSettings.StandardRolloutPolicy + (*NodePool_UpgradeSettings)(nil), // 218: google.container.v1.NodePool.UpgradeSettings + (*NodePool_UpdateInfo)(nil), // 219: google.container.v1.NodePool.UpdateInfo + (*NodePool_PlacementPolicy)(nil), // 220: google.container.v1.NodePool.PlacementPolicy + (*NodePool_QueuedProvisioning)(nil), // 221: google.container.v1.NodePool.QueuedProvisioning + (*NodePool_UpdateInfo_BlueGreenInfo)(nil), // 222: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + nil, // 223: google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry + nil, // 224: google.container.v1.SetLabelsRequest.ResourceLabelsEntry + (*NetworkConfig_ClusterNetworkPerformanceConfig)(nil), // 225: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig + (*ResourceUsageExportConfig_BigQueryDestination)(nil), // 226: google.container.v1.ResourceUsageExportConfig.BigQueryDestination + (*ResourceUsageExportConfig_ConsumptionMeteringConfig)(nil), // 227: google.container.v1.ResourceUsageExportConfig.ConsumptionMeteringConfig + (*NotificationConfig_PubSub)(nil), // 228: google.container.v1.NotificationConfig.PubSub + (*NotificationConfig_Filter)(nil), // 229: google.container.v1.NotificationConfig.Filter + nil, // 230: google.container.v1.ResourceManagerTags.TagsEntry + (*wrapperspb.BoolValue)(nil), // 231: google.protobuf.BoolValue + (*status.Status)(nil), // 232: google.rpc.Status + (*durationpb.Duration)(nil), // 233: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 234: google.protobuf.Timestamp + (code.Code)(0), // 235: google.rpc.Code + (*emptypb.Empty)(nil), // 236: google.protobuf.Empty } var file_google_container_v1_cluster_service_proto_depIdxs = []int32{ - 204, // 0: google.container.v1.LinuxNodeConfig.sysctls:type_name -> google.container.v1.LinuxNodeConfig.SysctlsEntry - 6, // 1: google.container.v1.LinuxNodeConfig.cgroup_mode:type_name -> google.container.v1.LinuxNodeConfig.CgroupMode - 7, // 2: google.container.v1.WindowsNodeConfig.os_version:type_name -> google.container.v1.WindowsNodeConfig.OSVersion - 230, // 3: google.container.v1.NodeKubeletConfig.cpu_cfs_quota:type_name -> google.protobuf.BoolValue - 205, // 4: google.container.v1.NodeConfig.metadata:type_name -> google.container.v1.NodeConfig.MetadataEntry - 206, // 5: google.container.v1.NodeConfig.labels:type_name -> google.container.v1.NodeConfig.LabelsEntry - 146, // 6: google.container.v1.NodeConfig.accelerators:type_name -> google.container.v1.AcceleratorConfig - 149, // 7: google.container.v1.NodeConfig.workload_metadata_config:type_name -> google.container.v1.WorkloadMetadataConfig - 59, // 8: google.container.v1.NodeConfig.taints:type_name -> google.container.v1.NodeTaint - 55, // 9: google.container.v1.NodeConfig.sandbox_config:type_name -> google.container.v1.SandboxConfig - 57, // 10: google.container.v1.NodeConfig.reservation_affinity:type_name -> google.container.v1.ReservationAffinity - 54, // 11: google.container.v1.NodeConfig.shielded_instance_config:type_name -> google.container.v1.ShieldedInstanceConfig - 46, // 12: google.container.v1.NodeConfig.linux_node_config:type_name -> google.container.v1.LinuxNodeConfig - 48, // 13: google.container.v1.NodeConfig.kubelet_config:type_name -> google.container.v1.NodeKubeletConfig - 56, // 14: google.container.v1.NodeConfig.gcfs_config:type_name -> google.container.v1.GcfsConfig - 50, // 15: google.container.v1.NodeConfig.advanced_machine_features:type_name -> google.container.v1.AdvancedMachineFeatures - 182, // 16: google.container.v1.NodeConfig.gvnic:type_name -> google.container.v1.VirtualNIC - 185, // 17: google.container.v1.NodeConfig.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes - 183, // 18: google.container.v1.NodeConfig.fast_socket:type_name -> google.container.v1.FastSocket - 207, // 19: google.container.v1.NodeConfig.resource_labels:type_name -> google.container.v1.NodeConfig.ResourceLabelsEntry - 195, // 20: google.container.v1.NodeConfig.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig - 47, // 21: google.container.v1.NodeConfig.windows_node_config:type_name -> google.container.v1.WindowsNodeConfig - 200, // 22: google.container.v1.NodeConfig.local_nvme_ssd_block_config:type_name -> google.container.v1.LocalNvmeSsdBlockConfig - 201, // 23: google.container.v1.NodeConfig.ephemeral_storage_local_ssd_config:type_name -> google.container.v1.EphemeralStorageLocalSsdConfig - 58, // 24: google.container.v1.NodeConfig.sole_tenant_config:type_name -> google.container.v1.SoleTenantConfig - 202, // 25: google.container.v1.NodeConfig.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags - 208, // 26: google.container.v1.NodeNetworkConfig.network_performance_config:type_name -> google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig - 85, // 27: google.container.v1.NodeNetworkConfig.pod_cidr_overprovision_config:type_name -> google.container.v1.PodCIDROverprovisionConfig - 52, // 28: google.container.v1.NodeNetworkConfig.additional_node_network_configs:type_name -> google.container.v1.AdditionalNodeNetworkConfig - 53, // 29: google.container.v1.NodeNetworkConfig.additional_pod_network_configs:type_name -> google.container.v1.AdditionalPodNetworkConfig - 169, // 30: google.container.v1.AdditionalPodNetworkConfig.max_pods_per_node:type_name -> google.container.v1.MaxPodsConstraint - 9, // 31: google.container.v1.SandboxConfig.type:type_name -> google.container.v1.SandboxConfig.Type - 10, // 32: google.container.v1.ReservationAffinity.consume_reservation_type:type_name -> google.container.v1.ReservationAffinity.Type - 209, // 33: google.container.v1.SoleTenantConfig.node_affinities:type_name -> google.container.v1.SoleTenantConfig.NodeAffinity - 12, // 34: google.container.v1.NodeTaint.effect:type_name -> google.container.v1.NodeTaint.Effect - 59, // 35: google.container.v1.NodeTaints.taints:type_name -> google.container.v1.NodeTaint - 210, // 36: google.container.v1.NodeLabels.labels:type_name -> google.container.v1.NodeLabels.LabelsEntry - 211, // 37: google.container.v1.ResourceLabels.labels:type_name -> google.container.v1.ResourceLabels.LabelsEntry - 65, // 38: google.container.v1.MasterAuth.client_certificate_config:type_name -> google.container.v1.ClientCertificateConfig - 67, // 39: google.container.v1.AddonsConfig.http_load_balancing:type_name -> google.container.v1.HttpLoadBalancing - 68, // 40: google.container.v1.AddonsConfig.horizontal_pod_autoscaling:type_name -> google.container.v1.HorizontalPodAutoscaling - 69, // 41: google.container.v1.AddonsConfig.kubernetes_dashboard:type_name -> google.container.v1.KubernetesDashboard - 70, // 42: google.container.v1.AddonsConfig.network_policy_config:type_name -> google.container.v1.NetworkPolicyConfig - 75, // 43: google.container.v1.AddonsConfig.cloud_run_config:type_name -> google.container.v1.CloudRunConfig - 71, // 44: google.container.v1.AddonsConfig.dns_cache_config:type_name -> google.container.v1.DnsCacheConfig - 76, // 45: google.container.v1.AddonsConfig.config_connector_config:type_name -> google.container.v1.ConfigConnectorConfig - 77, // 46: google.container.v1.AddonsConfig.gce_persistent_disk_csi_driver_config:type_name -> google.container.v1.GcePersistentDiskCsiDriverConfig - 78, // 47: google.container.v1.AddonsConfig.gcp_filestore_csi_driver_config:type_name -> google.container.v1.GcpFilestoreCsiDriverConfig - 80, // 48: google.container.v1.AddonsConfig.gke_backup_agent_config:type_name -> google.container.v1.GkeBackupAgentConfig - 79, // 49: google.container.v1.AddonsConfig.gcs_fuse_csi_driver_config:type_name -> google.container.v1.GcsFuseCsiDriverConfig - 72, // 50: google.container.v1.PrivateClusterConfig.master_global_access_config:type_name -> google.container.v1.PrivateClusterMasterGlobalAccessConfig - 13, // 51: google.container.v1.CloudRunConfig.load_balancer_type:type_name -> google.container.v1.CloudRunConfig.LoadBalancerType - 212, // 52: google.container.v1.MasterAuthorizedNetworksConfig.cidr_blocks:type_name -> google.container.v1.MasterAuthorizedNetworksConfig.CidrBlock - 14, // 53: google.container.v1.NetworkPolicy.provider:type_name -> google.container.v1.NetworkPolicy.Provider - 15, // 54: google.container.v1.BinaryAuthorization.evaluation_mode:type_name -> google.container.v1.BinaryAuthorization.EvaluationMode + 205, // 0: google.container.v1.LinuxNodeConfig.sysctls:type_name -> google.container.v1.LinuxNodeConfig.SysctlsEntry + 7, // 1: google.container.v1.LinuxNodeConfig.cgroup_mode:type_name -> google.container.v1.LinuxNodeConfig.CgroupMode + 8, // 2: google.container.v1.WindowsNodeConfig.os_version:type_name -> google.container.v1.WindowsNodeConfig.OSVersion + 231, // 3: google.container.v1.NodeKubeletConfig.cpu_cfs_quota:type_name -> google.protobuf.BoolValue + 206, // 4: google.container.v1.NodeConfig.metadata:type_name -> google.container.v1.NodeConfig.MetadataEntry + 207, // 5: google.container.v1.NodeConfig.labels:type_name -> google.container.v1.NodeConfig.LabelsEntry + 147, // 6: google.container.v1.NodeConfig.accelerators:type_name -> google.container.v1.AcceleratorConfig + 150, // 7: google.container.v1.NodeConfig.workload_metadata_config:type_name -> google.container.v1.WorkloadMetadataConfig + 60, // 8: google.container.v1.NodeConfig.taints:type_name -> google.container.v1.NodeTaint + 56, // 9: google.container.v1.NodeConfig.sandbox_config:type_name -> google.container.v1.SandboxConfig + 58, // 10: google.container.v1.NodeConfig.reservation_affinity:type_name -> google.container.v1.ReservationAffinity + 55, // 11: google.container.v1.NodeConfig.shielded_instance_config:type_name -> google.container.v1.ShieldedInstanceConfig + 47, // 12: google.container.v1.NodeConfig.linux_node_config:type_name -> google.container.v1.LinuxNodeConfig + 49, // 13: google.container.v1.NodeConfig.kubelet_config:type_name -> google.container.v1.NodeKubeletConfig + 57, // 14: google.container.v1.NodeConfig.gcfs_config:type_name -> google.container.v1.GcfsConfig + 51, // 15: google.container.v1.NodeConfig.advanced_machine_features:type_name -> google.container.v1.AdvancedMachineFeatures + 183, // 16: google.container.v1.NodeConfig.gvnic:type_name -> google.container.v1.VirtualNIC + 186, // 17: google.container.v1.NodeConfig.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes + 184, // 18: google.container.v1.NodeConfig.fast_socket:type_name -> google.container.v1.FastSocket + 208, // 19: google.container.v1.NodeConfig.resource_labels:type_name -> google.container.v1.NodeConfig.ResourceLabelsEntry + 196, // 20: google.container.v1.NodeConfig.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig + 48, // 21: google.container.v1.NodeConfig.windows_node_config:type_name -> google.container.v1.WindowsNodeConfig + 201, // 22: google.container.v1.NodeConfig.local_nvme_ssd_block_config:type_name -> google.container.v1.LocalNvmeSsdBlockConfig + 202, // 23: google.container.v1.NodeConfig.ephemeral_storage_local_ssd_config:type_name -> google.container.v1.EphemeralStorageLocalSsdConfig + 59, // 24: google.container.v1.NodeConfig.sole_tenant_config:type_name -> google.container.v1.SoleTenantConfig + 203, // 25: google.container.v1.NodeConfig.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags + 209, // 26: google.container.v1.NodeNetworkConfig.network_performance_config:type_name -> google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig + 86, // 27: google.container.v1.NodeNetworkConfig.pod_cidr_overprovision_config:type_name -> google.container.v1.PodCIDROverprovisionConfig + 53, // 28: google.container.v1.NodeNetworkConfig.additional_node_network_configs:type_name -> google.container.v1.AdditionalNodeNetworkConfig + 54, // 29: google.container.v1.NodeNetworkConfig.additional_pod_network_configs:type_name -> google.container.v1.AdditionalPodNetworkConfig + 170, // 30: google.container.v1.AdditionalPodNetworkConfig.max_pods_per_node:type_name -> google.container.v1.MaxPodsConstraint + 10, // 31: google.container.v1.SandboxConfig.type:type_name -> google.container.v1.SandboxConfig.Type + 11, // 32: google.container.v1.ReservationAffinity.consume_reservation_type:type_name -> google.container.v1.ReservationAffinity.Type + 210, // 33: google.container.v1.SoleTenantConfig.node_affinities:type_name -> google.container.v1.SoleTenantConfig.NodeAffinity + 13, // 34: google.container.v1.NodeTaint.effect:type_name -> google.container.v1.NodeTaint.Effect + 60, // 35: google.container.v1.NodeTaints.taints:type_name -> google.container.v1.NodeTaint + 211, // 36: google.container.v1.NodeLabels.labels:type_name -> google.container.v1.NodeLabels.LabelsEntry + 212, // 37: google.container.v1.ResourceLabels.labels:type_name -> google.container.v1.ResourceLabels.LabelsEntry + 66, // 38: google.container.v1.MasterAuth.client_certificate_config:type_name -> google.container.v1.ClientCertificateConfig + 68, // 39: google.container.v1.AddonsConfig.http_load_balancing:type_name -> google.container.v1.HttpLoadBalancing + 69, // 40: google.container.v1.AddonsConfig.horizontal_pod_autoscaling:type_name -> google.container.v1.HorizontalPodAutoscaling + 70, // 41: google.container.v1.AddonsConfig.kubernetes_dashboard:type_name -> google.container.v1.KubernetesDashboard + 71, // 42: google.container.v1.AddonsConfig.network_policy_config:type_name -> google.container.v1.NetworkPolicyConfig + 76, // 43: google.container.v1.AddonsConfig.cloud_run_config:type_name -> google.container.v1.CloudRunConfig + 72, // 44: google.container.v1.AddonsConfig.dns_cache_config:type_name -> google.container.v1.DnsCacheConfig + 77, // 45: google.container.v1.AddonsConfig.config_connector_config:type_name -> google.container.v1.ConfigConnectorConfig + 78, // 46: google.container.v1.AddonsConfig.gce_persistent_disk_csi_driver_config:type_name -> google.container.v1.GcePersistentDiskCsiDriverConfig + 79, // 47: google.container.v1.AddonsConfig.gcp_filestore_csi_driver_config:type_name -> google.container.v1.GcpFilestoreCsiDriverConfig + 81, // 48: google.container.v1.AddonsConfig.gke_backup_agent_config:type_name -> google.container.v1.GkeBackupAgentConfig + 80, // 49: google.container.v1.AddonsConfig.gcs_fuse_csi_driver_config:type_name -> google.container.v1.GcsFuseCsiDriverConfig + 73, // 50: google.container.v1.PrivateClusterConfig.master_global_access_config:type_name -> google.container.v1.PrivateClusterMasterGlobalAccessConfig + 14, // 51: google.container.v1.CloudRunConfig.load_balancer_type:type_name -> google.container.v1.CloudRunConfig.LoadBalancerType + 213, // 52: google.container.v1.MasterAuthorizedNetworksConfig.cidr_blocks:type_name -> google.container.v1.MasterAuthorizedNetworksConfig.CidrBlock + 15, // 53: google.container.v1.NetworkPolicy.provider:type_name -> google.container.v1.NetworkPolicy.Provider + 16, // 54: google.container.v1.BinaryAuthorization.evaluation_mode:type_name -> google.container.v1.BinaryAuthorization.EvaluationMode 4, // 55: google.container.v1.IPAllocationPolicy.stack_type:type_name -> google.container.v1.StackType 5, // 56: google.container.v1.IPAllocationPolicy.ipv6_access_type:type_name -> google.container.v1.IPv6AccessType - 85, // 57: google.container.v1.IPAllocationPolicy.pod_cidr_overprovision_config:type_name -> google.container.v1.PodCIDROverprovisionConfig - 94, // 58: google.container.v1.IPAllocationPolicy.additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig - 49, // 59: google.container.v1.Cluster.node_config:type_name -> google.container.v1.NodeConfig - 64, // 60: google.container.v1.Cluster.master_auth:type_name -> google.container.v1.MasterAuth - 66, // 61: google.container.v1.Cluster.addons_config:type_name -> google.container.v1.AddonsConfig - 123, // 62: google.container.v1.Cluster.node_pools:type_name -> google.container.v1.NodePool - 213, // 63: google.container.v1.Cluster.resource_labels:type_name -> google.container.v1.Cluster.ResourceLabelsEntry - 82, // 64: google.container.v1.Cluster.legacy_abac:type_name -> google.container.v1.LegacyAbac - 83, // 65: google.container.v1.Cluster.network_policy:type_name -> google.container.v1.NetworkPolicy - 86, // 66: google.container.v1.Cluster.ip_allocation_policy:type_name -> google.container.v1.IPAllocationPolicy - 81, // 67: google.container.v1.Cluster.master_authorized_networks_config:type_name -> google.container.v1.MasterAuthorizedNetworksConfig - 127, // 68: google.container.v1.Cluster.maintenance_policy:type_name -> google.container.v1.MaintenancePolicy - 84, // 69: google.container.v1.Cluster.binary_authorization:type_name -> google.container.v1.BinaryAuthorization - 138, // 70: google.container.v1.Cluster.autoscaling:type_name -> google.container.v1.ClusterAutoscaling - 153, // 71: google.container.v1.Cluster.network_config:type_name -> google.container.v1.NetworkConfig - 169, // 72: google.container.v1.Cluster.default_max_pods_constraint:type_name -> google.container.v1.MaxPodsConstraint - 178, // 73: google.container.v1.Cluster.resource_usage_export_config:type_name -> google.container.v1.ResourceUsageExportConfig - 74, // 74: google.container.v1.Cluster.authenticator_groups_config:type_name -> google.container.v1.AuthenticatorGroupsConfig - 73, // 75: google.container.v1.Cluster.private_cluster_config:type_name -> google.container.v1.PrivateClusterConfig - 173, // 76: google.container.v1.Cluster.database_encryption:type_name -> google.container.v1.DatabaseEncryption - 179, // 77: google.container.v1.Cluster.vertical_pod_autoscaling:type_name -> google.container.v1.VerticalPodAutoscaling - 181, // 78: google.container.v1.Cluster.shielded_nodes:type_name -> google.container.v1.ShieldedNodes - 164, // 79: google.container.v1.Cluster.release_channel:type_name -> google.container.v1.ReleaseChannel - 170, // 80: google.container.v1.Cluster.workload_identity_config:type_name -> google.container.v1.WorkloadIdentityConfig - 172, // 81: google.container.v1.Cluster.mesh_certificates:type_name -> google.container.v1.MeshCertificates - 165, // 82: google.container.v1.Cluster.cost_management_config:type_name -> google.container.v1.CostManagementConfig - 184, // 83: google.container.v1.Cluster.notification_config:type_name -> google.container.v1.NotificationConfig - 185, // 84: google.container.v1.Cluster.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes - 171, // 85: google.container.v1.Cluster.identity_service_config:type_name -> google.container.v1.IdentityServiceConfig - 16, // 86: google.container.v1.Cluster.status:type_name -> google.container.v1.Cluster.Status - 152, // 87: google.container.v1.Cluster.conditions:type_name -> google.container.v1.StatusCondition - 189, // 88: google.container.v1.Cluster.autopilot:type_name -> google.container.v1.Autopilot - 91, // 89: google.container.v1.Cluster.node_pool_defaults:type_name -> google.container.v1.NodePoolDefaults - 191, // 90: google.container.v1.Cluster.logging_config:type_name -> google.container.v1.LoggingConfig - 193, // 91: google.container.v1.Cluster.monitoring_config:type_name -> google.container.v1.MonitoringConfig - 90, // 92: google.container.v1.Cluster.node_pool_auto_config:type_name -> google.container.v1.NodePoolAutoConfig - 199, // 93: google.container.v1.Cluster.fleet:type_name -> google.container.v1.Fleet - 89, // 94: google.container.v1.Cluster.security_posture_config:type_name -> google.container.v1.SecurityPostureConfig - 88, // 95: google.container.v1.Cluster.enable_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig - 203, // 96: google.container.v1.Cluster.enterprise_config:type_name -> google.container.v1.EnterpriseConfig - 17, // 97: google.container.v1.SecurityPostureConfig.mode:type_name -> google.container.v1.SecurityPostureConfig.Mode - 18, // 98: google.container.v1.SecurityPostureConfig.vulnerability_mode:type_name -> google.container.v1.SecurityPostureConfig.VulnerabilityMode - 63, // 99: google.container.v1.NodePoolAutoConfig.network_tags:type_name -> google.container.v1.NetworkTags - 202, // 100: google.container.v1.NodePoolAutoConfig.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags - 92, // 101: google.container.v1.NodePoolDefaults.node_config_defaults:type_name -> google.container.v1.NodeConfigDefaults - 56, // 102: google.container.v1.NodeConfigDefaults.gcfs_config:type_name -> google.container.v1.GcfsConfig - 195, // 103: google.container.v1.NodeConfigDefaults.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig - 66, // 104: google.container.v1.ClusterUpdate.desired_addons_config:type_name -> google.container.v1.AddonsConfig - 173, // 105: google.container.v1.ClusterUpdate.desired_database_encryption:type_name -> google.container.v1.DatabaseEncryption - 170, // 106: google.container.v1.ClusterUpdate.desired_workload_identity_config:type_name -> google.container.v1.WorkloadIdentityConfig - 172, // 107: google.container.v1.ClusterUpdate.desired_mesh_certificates:type_name -> google.container.v1.MeshCertificates - 181, // 108: google.container.v1.ClusterUpdate.desired_shielded_nodes:type_name -> google.container.v1.ShieldedNodes - 165, // 109: google.container.v1.ClusterUpdate.desired_cost_management_config:type_name -> google.container.v1.CostManagementConfig - 168, // 110: google.container.v1.ClusterUpdate.desired_dns_config:type_name -> google.container.v1.DNSConfig - 141, // 111: google.container.v1.ClusterUpdate.desired_node_pool_autoscaling:type_name -> google.container.v1.NodePoolAutoscaling - 81, // 112: google.container.v1.ClusterUpdate.desired_master_authorized_networks_config:type_name -> google.container.v1.MasterAuthorizedNetworksConfig - 138, // 113: google.container.v1.ClusterUpdate.desired_cluster_autoscaling:type_name -> google.container.v1.ClusterAutoscaling - 84, // 114: google.container.v1.ClusterUpdate.desired_binary_authorization:type_name -> google.container.v1.BinaryAuthorization - 178, // 115: google.container.v1.ClusterUpdate.desired_resource_usage_export_config:type_name -> google.container.v1.ResourceUsageExportConfig - 179, // 116: google.container.v1.ClusterUpdate.desired_vertical_pod_autoscaling:type_name -> google.container.v1.VerticalPodAutoscaling - 73, // 117: google.container.v1.ClusterUpdate.desired_private_cluster_config:type_name -> google.container.v1.PrivateClusterConfig - 166, // 118: google.container.v1.ClusterUpdate.desired_intra_node_visibility_config:type_name -> google.container.v1.IntraNodeVisibilityConfig - 180, // 119: google.container.v1.ClusterUpdate.desired_default_snat_status:type_name -> google.container.v1.DefaultSnatStatus - 164, // 120: google.container.v1.ClusterUpdate.desired_release_channel:type_name -> google.container.v1.ReleaseChannel - 167, // 121: google.container.v1.ClusterUpdate.desired_l4ilb_subsetting_config:type_name -> google.container.v1.ILBSubsettingConfig + 86, // 57: google.container.v1.IPAllocationPolicy.pod_cidr_overprovision_config:type_name -> google.container.v1.PodCIDROverprovisionConfig + 95, // 58: google.container.v1.IPAllocationPolicy.additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig + 50, // 59: google.container.v1.Cluster.node_config:type_name -> google.container.v1.NodeConfig + 65, // 60: google.container.v1.Cluster.master_auth:type_name -> google.container.v1.MasterAuth + 67, // 61: google.container.v1.Cluster.addons_config:type_name -> google.container.v1.AddonsConfig + 124, // 62: google.container.v1.Cluster.node_pools:type_name -> google.container.v1.NodePool + 214, // 63: google.container.v1.Cluster.resource_labels:type_name -> google.container.v1.Cluster.ResourceLabelsEntry + 83, // 64: google.container.v1.Cluster.legacy_abac:type_name -> google.container.v1.LegacyAbac + 84, // 65: google.container.v1.Cluster.network_policy:type_name -> google.container.v1.NetworkPolicy + 87, // 66: google.container.v1.Cluster.ip_allocation_policy:type_name -> google.container.v1.IPAllocationPolicy + 82, // 67: google.container.v1.Cluster.master_authorized_networks_config:type_name -> google.container.v1.MasterAuthorizedNetworksConfig + 128, // 68: google.container.v1.Cluster.maintenance_policy:type_name -> google.container.v1.MaintenancePolicy + 85, // 69: google.container.v1.Cluster.binary_authorization:type_name -> google.container.v1.BinaryAuthorization + 139, // 70: google.container.v1.Cluster.autoscaling:type_name -> google.container.v1.ClusterAutoscaling + 154, // 71: google.container.v1.Cluster.network_config:type_name -> google.container.v1.NetworkConfig + 170, // 72: google.container.v1.Cluster.default_max_pods_constraint:type_name -> google.container.v1.MaxPodsConstraint + 179, // 73: google.container.v1.Cluster.resource_usage_export_config:type_name -> google.container.v1.ResourceUsageExportConfig + 75, // 74: google.container.v1.Cluster.authenticator_groups_config:type_name -> google.container.v1.AuthenticatorGroupsConfig + 74, // 75: google.container.v1.Cluster.private_cluster_config:type_name -> google.container.v1.PrivateClusterConfig + 174, // 76: google.container.v1.Cluster.database_encryption:type_name -> google.container.v1.DatabaseEncryption + 180, // 77: google.container.v1.Cluster.vertical_pod_autoscaling:type_name -> google.container.v1.VerticalPodAutoscaling + 182, // 78: google.container.v1.Cluster.shielded_nodes:type_name -> google.container.v1.ShieldedNodes + 165, // 79: google.container.v1.Cluster.release_channel:type_name -> google.container.v1.ReleaseChannel + 171, // 80: google.container.v1.Cluster.workload_identity_config:type_name -> google.container.v1.WorkloadIdentityConfig + 173, // 81: google.container.v1.Cluster.mesh_certificates:type_name -> google.container.v1.MeshCertificates + 166, // 82: google.container.v1.Cluster.cost_management_config:type_name -> google.container.v1.CostManagementConfig + 185, // 83: google.container.v1.Cluster.notification_config:type_name -> google.container.v1.NotificationConfig + 186, // 84: google.container.v1.Cluster.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes + 172, // 85: google.container.v1.Cluster.identity_service_config:type_name -> google.container.v1.IdentityServiceConfig + 17, // 86: google.container.v1.Cluster.status:type_name -> google.container.v1.Cluster.Status + 153, // 87: google.container.v1.Cluster.conditions:type_name -> google.container.v1.StatusCondition + 190, // 88: google.container.v1.Cluster.autopilot:type_name -> google.container.v1.Autopilot + 92, // 89: google.container.v1.Cluster.node_pool_defaults:type_name -> google.container.v1.NodePoolDefaults + 192, // 90: google.container.v1.Cluster.logging_config:type_name -> google.container.v1.LoggingConfig + 194, // 91: google.container.v1.Cluster.monitoring_config:type_name -> google.container.v1.MonitoringConfig + 91, // 92: google.container.v1.Cluster.node_pool_auto_config:type_name -> google.container.v1.NodePoolAutoConfig + 200, // 93: google.container.v1.Cluster.fleet:type_name -> google.container.v1.Fleet + 90, // 94: google.container.v1.Cluster.security_posture_config:type_name -> google.container.v1.SecurityPostureConfig + 89, // 95: google.container.v1.Cluster.enable_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig + 204, // 96: google.container.v1.Cluster.enterprise_config:type_name -> google.container.v1.EnterpriseConfig + 18, // 97: google.container.v1.SecurityPostureConfig.mode:type_name -> google.container.v1.SecurityPostureConfig.Mode + 19, // 98: google.container.v1.SecurityPostureConfig.vulnerability_mode:type_name -> google.container.v1.SecurityPostureConfig.VulnerabilityMode + 64, // 99: google.container.v1.NodePoolAutoConfig.network_tags:type_name -> google.container.v1.NetworkTags + 203, // 100: google.container.v1.NodePoolAutoConfig.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags + 93, // 101: google.container.v1.NodePoolDefaults.node_config_defaults:type_name -> google.container.v1.NodeConfigDefaults + 57, // 102: google.container.v1.NodeConfigDefaults.gcfs_config:type_name -> google.container.v1.GcfsConfig + 196, // 103: google.container.v1.NodeConfigDefaults.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig + 67, // 104: google.container.v1.ClusterUpdate.desired_addons_config:type_name -> google.container.v1.AddonsConfig + 174, // 105: google.container.v1.ClusterUpdate.desired_database_encryption:type_name -> google.container.v1.DatabaseEncryption + 171, // 106: google.container.v1.ClusterUpdate.desired_workload_identity_config:type_name -> google.container.v1.WorkloadIdentityConfig + 173, // 107: google.container.v1.ClusterUpdate.desired_mesh_certificates:type_name -> google.container.v1.MeshCertificates + 182, // 108: google.container.v1.ClusterUpdate.desired_shielded_nodes:type_name -> google.container.v1.ShieldedNodes + 166, // 109: google.container.v1.ClusterUpdate.desired_cost_management_config:type_name -> google.container.v1.CostManagementConfig + 169, // 110: google.container.v1.ClusterUpdate.desired_dns_config:type_name -> google.container.v1.DNSConfig + 142, // 111: google.container.v1.ClusterUpdate.desired_node_pool_autoscaling:type_name -> google.container.v1.NodePoolAutoscaling + 82, // 112: google.container.v1.ClusterUpdate.desired_master_authorized_networks_config:type_name -> google.container.v1.MasterAuthorizedNetworksConfig + 139, // 113: google.container.v1.ClusterUpdate.desired_cluster_autoscaling:type_name -> google.container.v1.ClusterAutoscaling + 85, // 114: google.container.v1.ClusterUpdate.desired_binary_authorization:type_name -> google.container.v1.BinaryAuthorization + 179, // 115: google.container.v1.ClusterUpdate.desired_resource_usage_export_config:type_name -> google.container.v1.ResourceUsageExportConfig + 180, // 116: google.container.v1.ClusterUpdate.desired_vertical_pod_autoscaling:type_name -> google.container.v1.VerticalPodAutoscaling + 74, // 117: google.container.v1.ClusterUpdate.desired_private_cluster_config:type_name -> google.container.v1.PrivateClusterConfig + 167, // 118: google.container.v1.ClusterUpdate.desired_intra_node_visibility_config:type_name -> google.container.v1.IntraNodeVisibilityConfig + 181, // 119: google.container.v1.ClusterUpdate.desired_default_snat_status:type_name -> google.container.v1.DefaultSnatStatus + 165, // 120: google.container.v1.ClusterUpdate.desired_release_channel:type_name -> google.container.v1.ReleaseChannel + 168, // 121: google.container.v1.ClusterUpdate.desired_l4ilb_subsetting_config:type_name -> google.container.v1.ILBSubsettingConfig 2, // 122: google.container.v1.ClusterUpdate.desired_datapath_provider:type_name -> google.container.v1.DatapathProvider 0, // 123: google.container.v1.ClusterUpdate.desired_private_ipv6_google_access:type_name -> google.container.v1.PrivateIPv6GoogleAccess - 184, // 124: google.container.v1.ClusterUpdate.desired_notification_config:type_name -> google.container.v1.NotificationConfig - 74, // 125: google.container.v1.ClusterUpdate.desired_authenticator_groups_config:type_name -> google.container.v1.AuthenticatorGroupsConfig - 191, // 126: google.container.v1.ClusterUpdate.desired_logging_config:type_name -> google.container.v1.LoggingConfig - 193, // 127: google.container.v1.ClusterUpdate.desired_monitoring_config:type_name -> google.container.v1.MonitoringConfig - 171, // 128: google.container.v1.ClusterUpdate.desired_identity_service_config:type_name -> google.container.v1.IdentityServiceConfig - 155, // 129: google.container.v1.ClusterUpdate.desired_service_external_ips_config:type_name -> google.container.v1.ServiceExternalIPsConfig - 56, // 130: google.container.v1.ClusterUpdate.desired_gcfs_config:type_name -> google.container.v1.GcfsConfig - 63, // 131: google.container.v1.ClusterUpdate.desired_node_pool_auto_config_network_tags:type_name -> google.container.v1.NetworkTags - 154, // 132: google.container.v1.ClusterUpdate.desired_gateway_api_config:type_name -> google.container.v1.GatewayAPIConfig - 195, // 133: google.container.v1.ClusterUpdate.desired_node_pool_logging_config:type_name -> google.container.v1.NodePoolLoggingConfig - 199, // 134: google.container.v1.ClusterUpdate.desired_fleet:type_name -> google.container.v1.Fleet + 185, // 124: google.container.v1.ClusterUpdate.desired_notification_config:type_name -> google.container.v1.NotificationConfig + 75, // 125: google.container.v1.ClusterUpdate.desired_authenticator_groups_config:type_name -> google.container.v1.AuthenticatorGroupsConfig + 192, // 126: google.container.v1.ClusterUpdate.desired_logging_config:type_name -> google.container.v1.LoggingConfig + 194, // 127: google.container.v1.ClusterUpdate.desired_monitoring_config:type_name -> google.container.v1.MonitoringConfig + 172, // 128: google.container.v1.ClusterUpdate.desired_identity_service_config:type_name -> google.container.v1.IdentityServiceConfig + 156, // 129: google.container.v1.ClusterUpdate.desired_service_external_ips_config:type_name -> google.container.v1.ServiceExternalIPsConfig + 57, // 130: google.container.v1.ClusterUpdate.desired_gcfs_config:type_name -> google.container.v1.GcfsConfig + 64, // 131: google.container.v1.ClusterUpdate.desired_node_pool_auto_config_network_tags:type_name -> google.container.v1.NetworkTags + 155, // 132: google.container.v1.ClusterUpdate.desired_gateway_api_config:type_name -> google.container.v1.GatewayAPIConfig + 196, // 133: google.container.v1.ClusterUpdate.desired_node_pool_logging_config:type_name -> google.container.v1.NodePoolLoggingConfig + 200, // 134: google.container.v1.ClusterUpdate.desired_fleet:type_name -> google.container.v1.Fleet 4, // 135: google.container.v1.ClusterUpdate.desired_stack_type:type_name -> google.container.v1.StackType - 94, // 136: google.container.v1.ClusterUpdate.additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig - 94, // 137: google.container.v1.ClusterUpdate.removed_additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig - 88, // 138: google.container.v1.ClusterUpdate.enable_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig - 89, // 139: google.container.v1.ClusterUpdate.desired_security_posture_config:type_name -> google.container.v1.SecurityPostureConfig - 224, // 140: google.container.v1.ClusterUpdate.desired_network_performance_config:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig - 190, // 141: google.container.v1.ClusterUpdate.desired_autopilot_workload_policy_config:type_name -> google.container.v1.WorkloadPolicyConfig - 88, // 142: google.container.v1.ClusterUpdate.desired_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig - 202, // 143: google.container.v1.ClusterUpdate.desired_node_pool_auto_config_resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags - 95, // 144: google.container.v1.AdditionalPodRangesConfig.pod_range_info:type_name -> google.container.v1.RangeInfo - 20, // 145: google.container.v1.Operation.operation_type:type_name -> google.container.v1.Operation.Type - 19, // 146: google.container.v1.Operation.status:type_name -> google.container.v1.Operation.Status - 97, // 147: google.container.v1.Operation.progress:type_name -> google.container.v1.OperationProgress - 152, // 148: google.container.v1.Operation.cluster_conditions:type_name -> google.container.v1.StatusCondition - 152, // 149: google.container.v1.Operation.nodepool_conditions:type_name -> google.container.v1.StatusCondition - 231, // 150: google.container.v1.Operation.error:type_name -> google.rpc.Status - 19, // 151: google.container.v1.OperationProgress.status:type_name -> google.container.v1.Operation.Status - 214, // 152: google.container.v1.OperationProgress.metrics:type_name -> google.container.v1.OperationProgress.Metric - 97, // 153: google.container.v1.OperationProgress.stages:type_name -> google.container.v1.OperationProgress - 87, // 154: google.container.v1.CreateClusterRequest.cluster:type_name -> google.container.v1.Cluster - 93, // 155: google.container.v1.UpdateClusterRequest.update:type_name -> google.container.v1.ClusterUpdate - 149, // 156: google.container.v1.UpdateNodePoolRequest.workload_metadata_config:type_name -> google.container.v1.WorkloadMetadataConfig - 217, // 157: google.container.v1.UpdateNodePoolRequest.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings - 63, // 158: google.container.v1.UpdateNodePoolRequest.tags:type_name -> google.container.v1.NetworkTags - 60, // 159: google.container.v1.UpdateNodePoolRequest.taints:type_name -> google.container.v1.NodeTaints - 61, // 160: google.container.v1.UpdateNodePoolRequest.labels:type_name -> google.container.v1.NodeLabels - 46, // 161: google.container.v1.UpdateNodePoolRequest.linux_node_config:type_name -> google.container.v1.LinuxNodeConfig - 48, // 162: google.container.v1.UpdateNodePoolRequest.kubelet_config:type_name -> google.container.v1.NodeKubeletConfig - 51, // 163: google.container.v1.UpdateNodePoolRequest.node_network_config:type_name -> google.container.v1.NodeNetworkConfig - 56, // 164: google.container.v1.UpdateNodePoolRequest.gcfs_config:type_name -> google.container.v1.GcfsConfig - 185, // 165: google.container.v1.UpdateNodePoolRequest.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes - 182, // 166: google.container.v1.UpdateNodePoolRequest.gvnic:type_name -> google.container.v1.VirtualNIC - 183, // 167: google.container.v1.UpdateNodePoolRequest.fast_socket:type_name -> google.container.v1.FastSocket - 195, // 168: google.container.v1.UpdateNodePoolRequest.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig - 62, // 169: google.container.v1.UpdateNodePoolRequest.resource_labels:type_name -> google.container.v1.ResourceLabels - 47, // 170: google.container.v1.UpdateNodePoolRequest.windows_node_config:type_name -> google.container.v1.WindowsNodeConfig - 202, // 171: google.container.v1.UpdateNodePoolRequest.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags - 141, // 172: google.container.v1.SetNodePoolAutoscalingRequest.autoscaling:type_name -> google.container.v1.NodePoolAutoscaling - 66, // 173: google.container.v1.SetAddonsConfigRequest.addons_config:type_name -> google.container.v1.AddonsConfig - 21, // 174: google.container.v1.SetMasterAuthRequest.action:type_name -> google.container.v1.SetMasterAuthRequest.Action - 64, // 175: google.container.v1.SetMasterAuthRequest.update:type_name -> google.container.v1.MasterAuth - 87, // 176: google.container.v1.ListClustersResponse.clusters:type_name -> google.container.v1.Cluster - 96, // 177: google.container.v1.ListOperationsResponse.operations:type_name -> google.container.v1.Operation - 215, // 178: google.container.v1.ServerConfig.channels:type_name -> google.container.v1.ServerConfig.ReleaseChannelConfig - 123, // 179: google.container.v1.CreateNodePoolRequest.node_pool:type_name -> google.container.v1.NodePool - 216, // 180: google.container.v1.BlueGreenSettings.standard_rollout_policy:type_name -> google.container.v1.BlueGreenSettings.StandardRolloutPolicy - 232, // 181: google.container.v1.BlueGreenSettings.node_pool_soak_duration:type_name -> google.protobuf.Duration - 49, // 182: google.container.v1.NodePool.config:type_name -> google.container.v1.NodeConfig - 51, // 183: google.container.v1.NodePool.network_config:type_name -> google.container.v1.NodeNetworkConfig - 22, // 184: google.container.v1.NodePool.status:type_name -> google.container.v1.NodePool.Status - 141, // 185: google.container.v1.NodePool.autoscaling:type_name -> google.container.v1.NodePoolAutoscaling - 124, // 186: google.container.v1.NodePool.management:type_name -> google.container.v1.NodeManagement - 169, // 187: google.container.v1.NodePool.max_pods_constraint:type_name -> google.container.v1.MaxPodsConstraint - 152, // 188: google.container.v1.NodePool.conditions:type_name -> google.container.v1.StatusCondition - 217, // 189: google.container.v1.NodePool.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings - 219, // 190: google.container.v1.NodePool.placement_policy:type_name -> google.container.v1.NodePool.PlacementPolicy - 218, // 191: google.container.v1.NodePool.update_info:type_name -> google.container.v1.NodePool.UpdateInfo - 220, // 192: google.container.v1.NodePool.queued_provisioning:type_name -> google.container.v1.NodePool.QueuedProvisioning - 125, // 193: google.container.v1.NodePool.best_effort_provisioning:type_name -> google.container.v1.BestEffortProvisioning - 126, // 194: google.container.v1.NodeManagement.upgrade_options:type_name -> google.container.v1.AutoUpgradeOptions - 128, // 195: google.container.v1.MaintenancePolicy.window:type_name -> google.container.v1.MaintenanceWindow - 132, // 196: google.container.v1.MaintenanceWindow.daily_maintenance_window:type_name -> google.container.v1.DailyMaintenanceWindow - 131, // 197: google.container.v1.MaintenanceWindow.recurring_window:type_name -> google.container.v1.RecurringTimeWindow - 222, // 198: google.container.v1.MaintenanceWindow.maintenance_exclusions:type_name -> google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry - 130, // 199: google.container.v1.TimeWindow.maintenance_exclusion_options:type_name -> google.container.v1.MaintenanceExclusionOptions - 233, // 200: google.container.v1.TimeWindow.start_time:type_name -> google.protobuf.Timestamp - 233, // 201: google.container.v1.TimeWindow.end_time:type_name -> google.protobuf.Timestamp - 25, // 202: google.container.v1.MaintenanceExclusionOptions.scope:type_name -> google.container.v1.MaintenanceExclusionOptions.Scope - 129, // 203: google.container.v1.RecurringTimeWindow.window:type_name -> google.container.v1.TimeWindow - 124, // 204: google.container.v1.SetNodePoolManagementRequest.management:type_name -> google.container.v1.NodeManagement - 123, // 205: google.container.v1.ListNodePoolsResponse.node_pools:type_name -> google.container.v1.NodePool - 140, // 206: google.container.v1.ClusterAutoscaling.resource_limits:type_name -> google.container.v1.ResourceLimit - 26, // 207: google.container.v1.ClusterAutoscaling.autoscaling_profile:type_name -> google.container.v1.ClusterAutoscaling.AutoscalingProfile - 139, // 208: google.container.v1.ClusterAutoscaling.autoprovisioning_node_pool_defaults:type_name -> google.container.v1.AutoprovisioningNodePoolDefaults - 217, // 209: google.container.v1.AutoprovisioningNodePoolDefaults.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings - 124, // 210: google.container.v1.AutoprovisioningNodePoolDefaults.management:type_name -> google.container.v1.NodeManagement - 54, // 211: google.container.v1.AutoprovisioningNodePoolDefaults.shielded_instance_config:type_name -> google.container.v1.ShieldedInstanceConfig - 27, // 212: google.container.v1.NodePoolAutoscaling.location_policy:type_name -> google.container.v1.NodePoolAutoscaling.LocationPolicy - 223, // 213: google.container.v1.SetLabelsRequest.resource_labels:type_name -> google.container.v1.SetLabelsRequest.ResourceLabelsEntry - 147, // 214: google.container.v1.AcceleratorConfig.gpu_sharing_config:type_name -> google.container.v1.GPUSharingConfig - 148, // 215: google.container.v1.AcceleratorConfig.gpu_driver_installation_config:type_name -> google.container.v1.GPUDriverInstallationConfig - 28, // 216: google.container.v1.GPUSharingConfig.gpu_sharing_strategy:type_name -> google.container.v1.GPUSharingConfig.GPUSharingStrategy - 29, // 217: google.container.v1.GPUDriverInstallationConfig.gpu_driver_version:type_name -> google.container.v1.GPUDriverInstallationConfig.GPUDriverVersion - 30, // 218: google.container.v1.WorkloadMetadataConfig.mode:type_name -> google.container.v1.WorkloadMetadataConfig.Mode - 83, // 219: google.container.v1.SetNetworkPolicyRequest.network_policy:type_name -> google.container.v1.NetworkPolicy - 127, // 220: google.container.v1.SetMaintenancePolicyRequest.maintenance_policy:type_name -> google.container.v1.MaintenancePolicy - 31, // 221: google.container.v1.StatusCondition.code:type_name -> google.container.v1.StatusCondition.Code - 234, // 222: google.container.v1.StatusCondition.canonical_code:type_name -> google.rpc.Code - 180, // 223: google.container.v1.NetworkConfig.default_snat_status:type_name -> google.container.v1.DefaultSnatStatus - 2, // 224: google.container.v1.NetworkConfig.datapath_provider:type_name -> google.container.v1.DatapathProvider - 0, // 225: google.container.v1.NetworkConfig.private_ipv6_google_access:type_name -> google.container.v1.PrivateIPv6GoogleAccess - 168, // 226: google.container.v1.NetworkConfig.dns_config:type_name -> google.container.v1.DNSConfig - 155, // 227: google.container.v1.NetworkConfig.service_external_ips_config:type_name -> google.container.v1.ServiceExternalIPsConfig - 154, // 228: google.container.v1.NetworkConfig.gateway_api_config:type_name -> google.container.v1.GatewayAPIConfig - 224, // 229: google.container.v1.NetworkConfig.network_performance_config:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig - 33, // 230: google.container.v1.GatewayAPIConfig.channel:type_name -> google.container.v1.GatewayAPIConfig.Channel - 159, // 231: google.container.v1.GetJSONWebKeysResponse.keys:type_name -> google.container.v1.Jwk - 233, // 232: google.container.v1.AutopilotCompatibilityIssue.last_observation:type_name -> google.protobuf.Timestamp - 34, // 233: google.container.v1.AutopilotCompatibilityIssue.incompatibility_type:type_name -> google.container.v1.AutopilotCompatibilityIssue.IssueType - 162, // 234: google.container.v1.CheckAutopilotCompatibilityResponse.issues:type_name -> google.container.v1.AutopilotCompatibilityIssue - 35, // 235: google.container.v1.ReleaseChannel.channel:type_name -> google.container.v1.ReleaseChannel.Channel - 36, // 236: google.container.v1.DNSConfig.cluster_dns:type_name -> google.container.v1.DNSConfig.Provider - 37, // 237: google.container.v1.DNSConfig.cluster_dns_scope:type_name -> google.container.v1.DNSConfig.DNSScope - 230, // 238: google.container.v1.MeshCertificates.enable_certificates:type_name -> google.protobuf.BoolValue - 38, // 239: google.container.v1.DatabaseEncryption.state:type_name -> google.container.v1.DatabaseEncryption.State - 177, // 240: google.container.v1.ListUsableSubnetworksResponse.subnetworks:type_name -> google.container.v1.UsableSubnetwork - 39, // 241: google.container.v1.UsableSubnetworkSecondaryRange.status:type_name -> google.container.v1.UsableSubnetworkSecondaryRange.Status - 176, // 242: google.container.v1.UsableSubnetwork.secondary_ip_ranges:type_name -> google.container.v1.UsableSubnetworkSecondaryRange - 225, // 243: google.container.v1.ResourceUsageExportConfig.bigquery_destination:type_name -> google.container.v1.ResourceUsageExportConfig.BigQueryDestination - 226, // 244: google.container.v1.ResourceUsageExportConfig.consumption_metering_config:type_name -> google.container.v1.ResourceUsageExportConfig.ConsumptionMeteringConfig - 227, // 245: google.container.v1.NotificationConfig.pubsub:type_name -> google.container.v1.NotificationConfig.PubSub - 1, // 246: google.container.v1.UpgradeEvent.resource_type:type_name -> google.container.v1.UpgradeResourceType - 233, // 247: google.container.v1.UpgradeEvent.operation_start_time:type_name -> google.protobuf.Timestamp - 1, // 248: google.container.v1.UpgradeAvailableEvent.resource_type:type_name -> google.container.v1.UpgradeResourceType - 164, // 249: google.container.v1.UpgradeAvailableEvent.release_channel:type_name -> google.container.v1.ReleaseChannel - 190, // 250: google.container.v1.Autopilot.workload_policy_config:type_name -> google.container.v1.WorkloadPolicyConfig - 192, // 251: google.container.v1.LoggingConfig.component_config:type_name -> google.container.v1.LoggingComponentConfig - 41, // 252: google.container.v1.LoggingComponentConfig.enable_components:type_name -> google.container.v1.LoggingComponentConfig.Component - 197, // 253: google.container.v1.MonitoringConfig.component_config:type_name -> google.container.v1.MonitoringComponentConfig - 198, // 254: google.container.v1.MonitoringConfig.managed_prometheus_config:type_name -> google.container.v1.ManagedPrometheusConfig - 194, // 255: google.container.v1.MonitoringConfig.advanced_datapath_observability_config:type_name -> google.container.v1.AdvancedDatapathObservabilityConfig - 42, // 256: google.container.v1.AdvancedDatapathObservabilityConfig.relay_mode:type_name -> google.container.v1.AdvancedDatapathObservabilityConfig.RelayMode - 196, // 257: google.container.v1.NodePoolLoggingConfig.variant_config:type_name -> google.container.v1.LoggingVariantConfig - 43, // 258: google.container.v1.LoggingVariantConfig.variant:type_name -> google.container.v1.LoggingVariantConfig.Variant - 44, // 259: google.container.v1.MonitoringComponentConfig.enable_components:type_name -> google.container.v1.MonitoringComponentConfig.Component - 229, // 260: google.container.v1.ResourceManagerTags.tags:type_name -> google.container.v1.ResourceManagerTags.TagsEntry - 45, // 261: google.container.v1.EnterpriseConfig.cluster_tier:type_name -> google.container.v1.EnterpriseConfig.ClusterTier - 8, // 262: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.total_egress_bandwidth_tier:type_name -> google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier - 11, // 263: google.container.v1.SoleTenantConfig.NodeAffinity.operator:type_name -> google.container.v1.SoleTenantConfig.NodeAffinity.Operator - 35, // 264: google.container.v1.ServerConfig.ReleaseChannelConfig.channel:type_name -> google.container.v1.ReleaseChannel.Channel - 232, // 265: google.container.v1.BlueGreenSettings.StandardRolloutPolicy.batch_soak_duration:type_name -> google.protobuf.Duration - 3, // 266: google.container.v1.NodePool.UpgradeSettings.strategy:type_name -> google.container.v1.NodePoolUpdateStrategy - 122, // 267: google.container.v1.NodePool.UpgradeSettings.blue_green_settings:type_name -> google.container.v1.BlueGreenSettings - 221, // 268: google.container.v1.NodePool.UpdateInfo.blue_green_info:type_name -> google.container.v1.NodePool.UpdateInfo.BlueGreenInfo - 24, // 269: google.container.v1.NodePool.PlacementPolicy.type:type_name -> google.container.v1.NodePool.PlacementPolicy.Type - 23, // 270: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.phase:type_name -> google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase - 129, // 271: google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry.value:type_name -> google.container.v1.TimeWindow - 32, // 272: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.total_egress_bandwidth_tier:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.Tier - 228, // 273: google.container.v1.NotificationConfig.PubSub.filter:type_name -> google.container.v1.NotificationConfig.Filter - 40, // 274: google.container.v1.NotificationConfig.Filter.event_type:type_name -> google.container.v1.NotificationConfig.EventType - 110, // 275: google.container.v1.ClusterManager.ListClusters:input_type -> google.container.v1.ListClustersRequest - 99, // 276: google.container.v1.ClusterManager.GetCluster:input_type -> google.container.v1.GetClusterRequest - 98, // 277: google.container.v1.ClusterManager.CreateCluster:input_type -> google.container.v1.CreateClusterRequest - 100, // 278: google.container.v1.ClusterManager.UpdateCluster:input_type -> google.container.v1.UpdateClusterRequest - 101, // 279: google.container.v1.ClusterManager.UpdateNodePool:input_type -> google.container.v1.UpdateNodePoolRequest - 102, // 280: google.container.v1.ClusterManager.SetNodePoolAutoscaling:input_type -> google.container.v1.SetNodePoolAutoscalingRequest - 103, // 281: google.container.v1.ClusterManager.SetLoggingService:input_type -> google.container.v1.SetLoggingServiceRequest - 104, // 282: google.container.v1.ClusterManager.SetMonitoringService:input_type -> google.container.v1.SetMonitoringServiceRequest - 105, // 283: google.container.v1.ClusterManager.SetAddonsConfig:input_type -> google.container.v1.SetAddonsConfigRequest - 106, // 284: google.container.v1.ClusterManager.SetLocations:input_type -> google.container.v1.SetLocationsRequest - 107, // 285: google.container.v1.ClusterManager.UpdateMaster:input_type -> google.container.v1.UpdateMasterRequest - 108, // 286: google.container.v1.ClusterManager.SetMasterAuth:input_type -> google.container.v1.SetMasterAuthRequest - 109, // 287: google.container.v1.ClusterManager.DeleteCluster:input_type -> google.container.v1.DeleteClusterRequest - 113, // 288: google.container.v1.ClusterManager.ListOperations:input_type -> google.container.v1.ListOperationsRequest - 112, // 289: google.container.v1.ClusterManager.GetOperation:input_type -> google.container.v1.GetOperationRequest - 114, // 290: google.container.v1.ClusterManager.CancelOperation:input_type -> google.container.v1.CancelOperationRequest - 116, // 291: google.container.v1.ClusterManager.GetServerConfig:input_type -> google.container.v1.GetServerConfigRequest - 158, // 292: google.container.v1.ClusterManager.GetJSONWebKeys:input_type -> google.container.v1.GetJSONWebKeysRequest - 120, // 293: google.container.v1.ClusterManager.ListNodePools:input_type -> google.container.v1.ListNodePoolsRequest - 121, // 294: google.container.v1.ClusterManager.GetNodePool:input_type -> google.container.v1.GetNodePoolRequest - 118, // 295: google.container.v1.ClusterManager.CreateNodePool:input_type -> google.container.v1.CreateNodePoolRequest - 119, // 296: google.container.v1.ClusterManager.DeleteNodePool:input_type -> google.container.v1.DeleteNodePoolRequest - 135, // 297: google.container.v1.ClusterManager.CompleteNodePoolUpgrade:input_type -> google.container.v1.CompleteNodePoolUpgradeRequest - 136, // 298: google.container.v1.ClusterManager.RollbackNodePoolUpgrade:input_type -> google.container.v1.RollbackNodePoolUpgradeRequest - 133, // 299: google.container.v1.ClusterManager.SetNodePoolManagement:input_type -> google.container.v1.SetNodePoolManagementRequest - 142, // 300: google.container.v1.ClusterManager.SetLabels:input_type -> google.container.v1.SetLabelsRequest - 143, // 301: google.container.v1.ClusterManager.SetLegacyAbac:input_type -> google.container.v1.SetLegacyAbacRequest - 144, // 302: google.container.v1.ClusterManager.StartIPRotation:input_type -> google.container.v1.StartIPRotationRequest - 145, // 303: google.container.v1.ClusterManager.CompleteIPRotation:input_type -> google.container.v1.CompleteIPRotationRequest - 134, // 304: google.container.v1.ClusterManager.SetNodePoolSize:input_type -> google.container.v1.SetNodePoolSizeRequest - 150, // 305: google.container.v1.ClusterManager.SetNetworkPolicy:input_type -> google.container.v1.SetNetworkPolicyRequest - 151, // 306: google.container.v1.ClusterManager.SetMaintenancePolicy:input_type -> google.container.v1.SetMaintenancePolicyRequest - 174, // 307: google.container.v1.ClusterManager.ListUsableSubnetworks:input_type -> google.container.v1.ListUsableSubnetworksRequest - 161, // 308: google.container.v1.ClusterManager.CheckAutopilotCompatibility:input_type -> google.container.v1.CheckAutopilotCompatibilityRequest - 111, // 309: google.container.v1.ClusterManager.ListClusters:output_type -> google.container.v1.ListClustersResponse - 87, // 310: google.container.v1.ClusterManager.GetCluster:output_type -> google.container.v1.Cluster - 96, // 311: google.container.v1.ClusterManager.CreateCluster:output_type -> google.container.v1.Operation - 96, // 312: google.container.v1.ClusterManager.UpdateCluster:output_type -> google.container.v1.Operation - 96, // 313: google.container.v1.ClusterManager.UpdateNodePool:output_type -> google.container.v1.Operation - 96, // 314: google.container.v1.ClusterManager.SetNodePoolAutoscaling:output_type -> google.container.v1.Operation - 96, // 315: google.container.v1.ClusterManager.SetLoggingService:output_type -> google.container.v1.Operation - 96, // 316: google.container.v1.ClusterManager.SetMonitoringService:output_type -> google.container.v1.Operation - 96, // 317: google.container.v1.ClusterManager.SetAddonsConfig:output_type -> google.container.v1.Operation - 96, // 318: google.container.v1.ClusterManager.SetLocations:output_type -> google.container.v1.Operation - 96, // 319: google.container.v1.ClusterManager.UpdateMaster:output_type -> google.container.v1.Operation - 96, // 320: google.container.v1.ClusterManager.SetMasterAuth:output_type -> google.container.v1.Operation - 96, // 321: google.container.v1.ClusterManager.DeleteCluster:output_type -> google.container.v1.Operation - 115, // 322: google.container.v1.ClusterManager.ListOperations:output_type -> google.container.v1.ListOperationsResponse - 96, // 323: google.container.v1.ClusterManager.GetOperation:output_type -> google.container.v1.Operation - 235, // 324: google.container.v1.ClusterManager.CancelOperation:output_type -> google.protobuf.Empty - 117, // 325: google.container.v1.ClusterManager.GetServerConfig:output_type -> google.container.v1.ServerConfig - 160, // 326: google.container.v1.ClusterManager.GetJSONWebKeys:output_type -> google.container.v1.GetJSONWebKeysResponse - 137, // 327: google.container.v1.ClusterManager.ListNodePools:output_type -> google.container.v1.ListNodePoolsResponse - 123, // 328: google.container.v1.ClusterManager.GetNodePool:output_type -> google.container.v1.NodePool - 96, // 329: google.container.v1.ClusterManager.CreateNodePool:output_type -> google.container.v1.Operation - 96, // 330: google.container.v1.ClusterManager.DeleteNodePool:output_type -> google.container.v1.Operation - 235, // 331: google.container.v1.ClusterManager.CompleteNodePoolUpgrade:output_type -> google.protobuf.Empty - 96, // 332: google.container.v1.ClusterManager.RollbackNodePoolUpgrade:output_type -> google.container.v1.Operation - 96, // 333: google.container.v1.ClusterManager.SetNodePoolManagement:output_type -> google.container.v1.Operation - 96, // 334: google.container.v1.ClusterManager.SetLabels:output_type -> google.container.v1.Operation - 96, // 335: google.container.v1.ClusterManager.SetLegacyAbac:output_type -> google.container.v1.Operation - 96, // 336: google.container.v1.ClusterManager.StartIPRotation:output_type -> google.container.v1.Operation - 96, // 337: google.container.v1.ClusterManager.CompleteIPRotation:output_type -> google.container.v1.Operation - 96, // 338: google.container.v1.ClusterManager.SetNodePoolSize:output_type -> google.container.v1.Operation - 96, // 339: google.container.v1.ClusterManager.SetNetworkPolicy:output_type -> google.container.v1.Operation - 96, // 340: google.container.v1.ClusterManager.SetMaintenancePolicy:output_type -> google.container.v1.Operation - 175, // 341: google.container.v1.ClusterManager.ListUsableSubnetworks:output_type -> google.container.v1.ListUsableSubnetworksResponse - 163, // 342: google.container.v1.ClusterManager.CheckAutopilotCompatibility:output_type -> google.container.v1.CheckAutopilotCompatibilityResponse - 309, // [309:343] is the sub-list for method output_type - 275, // [275:309] is the sub-list for method input_type - 275, // [275:275] is the sub-list for extension type_name - 275, // [275:275] is the sub-list for extension extendee - 0, // [0:275] is the sub-list for field type_name + 95, // 136: google.container.v1.ClusterUpdate.additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig + 95, // 137: google.container.v1.ClusterUpdate.removed_additional_pod_ranges_config:type_name -> google.container.v1.AdditionalPodRangesConfig + 89, // 138: google.container.v1.ClusterUpdate.enable_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig + 90, // 139: google.container.v1.ClusterUpdate.desired_security_posture_config:type_name -> google.container.v1.SecurityPostureConfig + 225, // 140: google.container.v1.ClusterUpdate.desired_network_performance_config:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig + 191, // 141: google.container.v1.ClusterUpdate.desired_autopilot_workload_policy_config:type_name -> google.container.v1.WorkloadPolicyConfig + 89, // 142: google.container.v1.ClusterUpdate.desired_k8s_beta_apis:type_name -> google.container.v1.K8sBetaAPIConfig + 203, // 143: google.container.v1.ClusterUpdate.desired_node_pool_auto_config_resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags + 6, // 144: google.container.v1.ClusterUpdate.desired_in_transit_encryption_config:type_name -> google.container.v1.InTransitEncryptionConfig + 96, // 145: google.container.v1.AdditionalPodRangesConfig.pod_range_info:type_name -> google.container.v1.RangeInfo + 21, // 146: google.container.v1.Operation.operation_type:type_name -> google.container.v1.Operation.Type + 20, // 147: google.container.v1.Operation.status:type_name -> google.container.v1.Operation.Status + 98, // 148: google.container.v1.Operation.progress:type_name -> google.container.v1.OperationProgress + 153, // 149: google.container.v1.Operation.cluster_conditions:type_name -> google.container.v1.StatusCondition + 153, // 150: google.container.v1.Operation.nodepool_conditions:type_name -> google.container.v1.StatusCondition + 232, // 151: google.container.v1.Operation.error:type_name -> google.rpc.Status + 20, // 152: google.container.v1.OperationProgress.status:type_name -> google.container.v1.Operation.Status + 215, // 153: google.container.v1.OperationProgress.metrics:type_name -> google.container.v1.OperationProgress.Metric + 98, // 154: google.container.v1.OperationProgress.stages:type_name -> google.container.v1.OperationProgress + 88, // 155: google.container.v1.CreateClusterRequest.cluster:type_name -> google.container.v1.Cluster + 94, // 156: google.container.v1.UpdateClusterRequest.update:type_name -> google.container.v1.ClusterUpdate + 150, // 157: google.container.v1.UpdateNodePoolRequest.workload_metadata_config:type_name -> google.container.v1.WorkloadMetadataConfig + 218, // 158: google.container.v1.UpdateNodePoolRequest.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings + 64, // 159: google.container.v1.UpdateNodePoolRequest.tags:type_name -> google.container.v1.NetworkTags + 61, // 160: google.container.v1.UpdateNodePoolRequest.taints:type_name -> google.container.v1.NodeTaints + 62, // 161: google.container.v1.UpdateNodePoolRequest.labels:type_name -> google.container.v1.NodeLabels + 47, // 162: google.container.v1.UpdateNodePoolRequest.linux_node_config:type_name -> google.container.v1.LinuxNodeConfig + 49, // 163: google.container.v1.UpdateNodePoolRequest.kubelet_config:type_name -> google.container.v1.NodeKubeletConfig + 52, // 164: google.container.v1.UpdateNodePoolRequest.node_network_config:type_name -> google.container.v1.NodeNetworkConfig + 57, // 165: google.container.v1.UpdateNodePoolRequest.gcfs_config:type_name -> google.container.v1.GcfsConfig + 186, // 166: google.container.v1.UpdateNodePoolRequest.confidential_nodes:type_name -> google.container.v1.ConfidentialNodes + 183, // 167: google.container.v1.UpdateNodePoolRequest.gvnic:type_name -> google.container.v1.VirtualNIC + 184, // 168: google.container.v1.UpdateNodePoolRequest.fast_socket:type_name -> google.container.v1.FastSocket + 196, // 169: google.container.v1.UpdateNodePoolRequest.logging_config:type_name -> google.container.v1.NodePoolLoggingConfig + 63, // 170: google.container.v1.UpdateNodePoolRequest.resource_labels:type_name -> google.container.v1.ResourceLabels + 48, // 171: google.container.v1.UpdateNodePoolRequest.windows_node_config:type_name -> google.container.v1.WindowsNodeConfig + 203, // 172: google.container.v1.UpdateNodePoolRequest.resource_manager_tags:type_name -> google.container.v1.ResourceManagerTags + 142, // 173: google.container.v1.SetNodePoolAutoscalingRequest.autoscaling:type_name -> google.container.v1.NodePoolAutoscaling + 67, // 174: google.container.v1.SetAddonsConfigRequest.addons_config:type_name -> google.container.v1.AddonsConfig + 22, // 175: google.container.v1.SetMasterAuthRequest.action:type_name -> google.container.v1.SetMasterAuthRequest.Action + 65, // 176: google.container.v1.SetMasterAuthRequest.update:type_name -> google.container.v1.MasterAuth + 88, // 177: google.container.v1.ListClustersResponse.clusters:type_name -> google.container.v1.Cluster + 97, // 178: google.container.v1.ListOperationsResponse.operations:type_name -> google.container.v1.Operation + 216, // 179: google.container.v1.ServerConfig.channels:type_name -> google.container.v1.ServerConfig.ReleaseChannelConfig + 124, // 180: google.container.v1.CreateNodePoolRequest.node_pool:type_name -> google.container.v1.NodePool + 217, // 181: google.container.v1.BlueGreenSettings.standard_rollout_policy:type_name -> google.container.v1.BlueGreenSettings.StandardRolloutPolicy + 233, // 182: google.container.v1.BlueGreenSettings.node_pool_soak_duration:type_name -> google.protobuf.Duration + 50, // 183: google.container.v1.NodePool.config:type_name -> google.container.v1.NodeConfig + 52, // 184: google.container.v1.NodePool.network_config:type_name -> google.container.v1.NodeNetworkConfig + 23, // 185: google.container.v1.NodePool.status:type_name -> google.container.v1.NodePool.Status + 142, // 186: google.container.v1.NodePool.autoscaling:type_name -> google.container.v1.NodePoolAutoscaling + 125, // 187: google.container.v1.NodePool.management:type_name -> google.container.v1.NodeManagement + 170, // 188: google.container.v1.NodePool.max_pods_constraint:type_name -> google.container.v1.MaxPodsConstraint + 153, // 189: google.container.v1.NodePool.conditions:type_name -> google.container.v1.StatusCondition + 218, // 190: google.container.v1.NodePool.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings + 220, // 191: google.container.v1.NodePool.placement_policy:type_name -> google.container.v1.NodePool.PlacementPolicy + 219, // 192: google.container.v1.NodePool.update_info:type_name -> google.container.v1.NodePool.UpdateInfo + 221, // 193: google.container.v1.NodePool.queued_provisioning:type_name -> google.container.v1.NodePool.QueuedProvisioning + 126, // 194: google.container.v1.NodePool.best_effort_provisioning:type_name -> google.container.v1.BestEffortProvisioning + 127, // 195: google.container.v1.NodeManagement.upgrade_options:type_name -> google.container.v1.AutoUpgradeOptions + 129, // 196: google.container.v1.MaintenancePolicy.window:type_name -> google.container.v1.MaintenanceWindow + 133, // 197: google.container.v1.MaintenanceWindow.daily_maintenance_window:type_name -> google.container.v1.DailyMaintenanceWindow + 132, // 198: google.container.v1.MaintenanceWindow.recurring_window:type_name -> google.container.v1.RecurringTimeWindow + 223, // 199: google.container.v1.MaintenanceWindow.maintenance_exclusions:type_name -> google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry + 131, // 200: google.container.v1.TimeWindow.maintenance_exclusion_options:type_name -> google.container.v1.MaintenanceExclusionOptions + 234, // 201: google.container.v1.TimeWindow.start_time:type_name -> google.protobuf.Timestamp + 234, // 202: google.container.v1.TimeWindow.end_time:type_name -> google.protobuf.Timestamp + 26, // 203: google.container.v1.MaintenanceExclusionOptions.scope:type_name -> google.container.v1.MaintenanceExclusionOptions.Scope + 130, // 204: google.container.v1.RecurringTimeWindow.window:type_name -> google.container.v1.TimeWindow + 125, // 205: google.container.v1.SetNodePoolManagementRequest.management:type_name -> google.container.v1.NodeManagement + 124, // 206: google.container.v1.ListNodePoolsResponse.node_pools:type_name -> google.container.v1.NodePool + 141, // 207: google.container.v1.ClusterAutoscaling.resource_limits:type_name -> google.container.v1.ResourceLimit + 27, // 208: google.container.v1.ClusterAutoscaling.autoscaling_profile:type_name -> google.container.v1.ClusterAutoscaling.AutoscalingProfile + 140, // 209: google.container.v1.ClusterAutoscaling.autoprovisioning_node_pool_defaults:type_name -> google.container.v1.AutoprovisioningNodePoolDefaults + 218, // 210: google.container.v1.AutoprovisioningNodePoolDefaults.upgrade_settings:type_name -> google.container.v1.NodePool.UpgradeSettings + 125, // 211: google.container.v1.AutoprovisioningNodePoolDefaults.management:type_name -> google.container.v1.NodeManagement + 55, // 212: google.container.v1.AutoprovisioningNodePoolDefaults.shielded_instance_config:type_name -> google.container.v1.ShieldedInstanceConfig + 28, // 213: google.container.v1.NodePoolAutoscaling.location_policy:type_name -> google.container.v1.NodePoolAutoscaling.LocationPolicy + 224, // 214: google.container.v1.SetLabelsRequest.resource_labels:type_name -> google.container.v1.SetLabelsRequest.ResourceLabelsEntry + 148, // 215: google.container.v1.AcceleratorConfig.gpu_sharing_config:type_name -> google.container.v1.GPUSharingConfig + 149, // 216: google.container.v1.AcceleratorConfig.gpu_driver_installation_config:type_name -> google.container.v1.GPUDriverInstallationConfig + 29, // 217: google.container.v1.GPUSharingConfig.gpu_sharing_strategy:type_name -> google.container.v1.GPUSharingConfig.GPUSharingStrategy + 30, // 218: google.container.v1.GPUDriverInstallationConfig.gpu_driver_version:type_name -> google.container.v1.GPUDriverInstallationConfig.GPUDriverVersion + 31, // 219: google.container.v1.WorkloadMetadataConfig.mode:type_name -> google.container.v1.WorkloadMetadataConfig.Mode + 84, // 220: google.container.v1.SetNetworkPolicyRequest.network_policy:type_name -> google.container.v1.NetworkPolicy + 128, // 221: google.container.v1.SetMaintenancePolicyRequest.maintenance_policy:type_name -> google.container.v1.MaintenancePolicy + 32, // 222: google.container.v1.StatusCondition.code:type_name -> google.container.v1.StatusCondition.Code + 235, // 223: google.container.v1.StatusCondition.canonical_code:type_name -> google.rpc.Code + 181, // 224: google.container.v1.NetworkConfig.default_snat_status:type_name -> google.container.v1.DefaultSnatStatus + 2, // 225: google.container.v1.NetworkConfig.datapath_provider:type_name -> google.container.v1.DatapathProvider + 0, // 226: google.container.v1.NetworkConfig.private_ipv6_google_access:type_name -> google.container.v1.PrivateIPv6GoogleAccess + 169, // 227: google.container.v1.NetworkConfig.dns_config:type_name -> google.container.v1.DNSConfig + 156, // 228: google.container.v1.NetworkConfig.service_external_ips_config:type_name -> google.container.v1.ServiceExternalIPsConfig + 155, // 229: google.container.v1.NetworkConfig.gateway_api_config:type_name -> google.container.v1.GatewayAPIConfig + 225, // 230: google.container.v1.NetworkConfig.network_performance_config:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig + 6, // 231: google.container.v1.NetworkConfig.in_transit_encryption_config:type_name -> google.container.v1.InTransitEncryptionConfig + 34, // 232: google.container.v1.GatewayAPIConfig.channel:type_name -> google.container.v1.GatewayAPIConfig.Channel + 160, // 233: google.container.v1.GetJSONWebKeysResponse.keys:type_name -> google.container.v1.Jwk + 234, // 234: google.container.v1.AutopilotCompatibilityIssue.last_observation:type_name -> google.protobuf.Timestamp + 35, // 235: google.container.v1.AutopilotCompatibilityIssue.incompatibility_type:type_name -> google.container.v1.AutopilotCompatibilityIssue.IssueType + 163, // 236: google.container.v1.CheckAutopilotCompatibilityResponse.issues:type_name -> google.container.v1.AutopilotCompatibilityIssue + 36, // 237: google.container.v1.ReleaseChannel.channel:type_name -> google.container.v1.ReleaseChannel.Channel + 37, // 238: google.container.v1.DNSConfig.cluster_dns:type_name -> google.container.v1.DNSConfig.Provider + 38, // 239: google.container.v1.DNSConfig.cluster_dns_scope:type_name -> google.container.v1.DNSConfig.DNSScope + 231, // 240: google.container.v1.MeshCertificates.enable_certificates:type_name -> google.protobuf.BoolValue + 39, // 241: google.container.v1.DatabaseEncryption.state:type_name -> google.container.v1.DatabaseEncryption.State + 178, // 242: google.container.v1.ListUsableSubnetworksResponse.subnetworks:type_name -> google.container.v1.UsableSubnetwork + 40, // 243: google.container.v1.UsableSubnetworkSecondaryRange.status:type_name -> google.container.v1.UsableSubnetworkSecondaryRange.Status + 177, // 244: google.container.v1.UsableSubnetwork.secondary_ip_ranges:type_name -> google.container.v1.UsableSubnetworkSecondaryRange + 226, // 245: google.container.v1.ResourceUsageExportConfig.bigquery_destination:type_name -> google.container.v1.ResourceUsageExportConfig.BigQueryDestination + 227, // 246: google.container.v1.ResourceUsageExportConfig.consumption_metering_config:type_name -> google.container.v1.ResourceUsageExportConfig.ConsumptionMeteringConfig + 228, // 247: google.container.v1.NotificationConfig.pubsub:type_name -> google.container.v1.NotificationConfig.PubSub + 1, // 248: google.container.v1.UpgradeEvent.resource_type:type_name -> google.container.v1.UpgradeResourceType + 234, // 249: google.container.v1.UpgradeEvent.operation_start_time:type_name -> google.protobuf.Timestamp + 1, // 250: google.container.v1.UpgradeAvailableEvent.resource_type:type_name -> google.container.v1.UpgradeResourceType + 165, // 251: google.container.v1.UpgradeAvailableEvent.release_channel:type_name -> google.container.v1.ReleaseChannel + 191, // 252: google.container.v1.Autopilot.workload_policy_config:type_name -> google.container.v1.WorkloadPolicyConfig + 193, // 253: google.container.v1.LoggingConfig.component_config:type_name -> google.container.v1.LoggingComponentConfig + 42, // 254: google.container.v1.LoggingComponentConfig.enable_components:type_name -> google.container.v1.LoggingComponentConfig.Component + 198, // 255: google.container.v1.MonitoringConfig.component_config:type_name -> google.container.v1.MonitoringComponentConfig + 199, // 256: google.container.v1.MonitoringConfig.managed_prometheus_config:type_name -> google.container.v1.ManagedPrometheusConfig + 195, // 257: google.container.v1.MonitoringConfig.advanced_datapath_observability_config:type_name -> google.container.v1.AdvancedDatapathObservabilityConfig + 43, // 258: google.container.v1.AdvancedDatapathObservabilityConfig.relay_mode:type_name -> google.container.v1.AdvancedDatapathObservabilityConfig.RelayMode + 197, // 259: google.container.v1.NodePoolLoggingConfig.variant_config:type_name -> google.container.v1.LoggingVariantConfig + 44, // 260: google.container.v1.LoggingVariantConfig.variant:type_name -> google.container.v1.LoggingVariantConfig.Variant + 45, // 261: google.container.v1.MonitoringComponentConfig.enable_components:type_name -> google.container.v1.MonitoringComponentConfig.Component + 230, // 262: google.container.v1.ResourceManagerTags.tags:type_name -> google.container.v1.ResourceManagerTags.TagsEntry + 46, // 263: google.container.v1.EnterpriseConfig.cluster_tier:type_name -> google.container.v1.EnterpriseConfig.ClusterTier + 9, // 264: google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.total_egress_bandwidth_tier:type_name -> google.container.v1.NodeNetworkConfig.NetworkPerformanceConfig.Tier + 12, // 265: google.container.v1.SoleTenantConfig.NodeAffinity.operator:type_name -> google.container.v1.SoleTenantConfig.NodeAffinity.Operator + 36, // 266: google.container.v1.ServerConfig.ReleaseChannelConfig.channel:type_name -> google.container.v1.ReleaseChannel.Channel + 233, // 267: google.container.v1.BlueGreenSettings.StandardRolloutPolicy.batch_soak_duration:type_name -> google.protobuf.Duration + 3, // 268: google.container.v1.NodePool.UpgradeSettings.strategy:type_name -> google.container.v1.NodePoolUpdateStrategy + 123, // 269: google.container.v1.NodePool.UpgradeSettings.blue_green_settings:type_name -> google.container.v1.BlueGreenSettings + 222, // 270: google.container.v1.NodePool.UpdateInfo.blue_green_info:type_name -> google.container.v1.NodePool.UpdateInfo.BlueGreenInfo + 25, // 271: google.container.v1.NodePool.PlacementPolicy.type:type_name -> google.container.v1.NodePool.PlacementPolicy.Type + 24, // 272: google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.phase:type_name -> google.container.v1.NodePool.UpdateInfo.BlueGreenInfo.Phase + 130, // 273: google.container.v1.MaintenanceWindow.MaintenanceExclusionsEntry.value:type_name -> google.container.v1.TimeWindow + 33, // 274: google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.total_egress_bandwidth_tier:type_name -> google.container.v1.NetworkConfig.ClusterNetworkPerformanceConfig.Tier + 229, // 275: google.container.v1.NotificationConfig.PubSub.filter:type_name -> google.container.v1.NotificationConfig.Filter + 41, // 276: google.container.v1.NotificationConfig.Filter.event_type:type_name -> google.container.v1.NotificationConfig.EventType + 111, // 277: google.container.v1.ClusterManager.ListClusters:input_type -> google.container.v1.ListClustersRequest + 100, // 278: google.container.v1.ClusterManager.GetCluster:input_type -> google.container.v1.GetClusterRequest + 99, // 279: google.container.v1.ClusterManager.CreateCluster:input_type -> google.container.v1.CreateClusterRequest + 101, // 280: google.container.v1.ClusterManager.UpdateCluster:input_type -> google.container.v1.UpdateClusterRequest + 102, // 281: google.container.v1.ClusterManager.UpdateNodePool:input_type -> google.container.v1.UpdateNodePoolRequest + 103, // 282: google.container.v1.ClusterManager.SetNodePoolAutoscaling:input_type -> google.container.v1.SetNodePoolAutoscalingRequest + 104, // 283: google.container.v1.ClusterManager.SetLoggingService:input_type -> google.container.v1.SetLoggingServiceRequest + 105, // 284: google.container.v1.ClusterManager.SetMonitoringService:input_type -> google.container.v1.SetMonitoringServiceRequest + 106, // 285: google.container.v1.ClusterManager.SetAddonsConfig:input_type -> google.container.v1.SetAddonsConfigRequest + 107, // 286: google.container.v1.ClusterManager.SetLocations:input_type -> google.container.v1.SetLocationsRequest + 108, // 287: google.container.v1.ClusterManager.UpdateMaster:input_type -> google.container.v1.UpdateMasterRequest + 109, // 288: google.container.v1.ClusterManager.SetMasterAuth:input_type -> google.container.v1.SetMasterAuthRequest + 110, // 289: google.container.v1.ClusterManager.DeleteCluster:input_type -> google.container.v1.DeleteClusterRequest + 114, // 290: google.container.v1.ClusterManager.ListOperations:input_type -> google.container.v1.ListOperationsRequest + 113, // 291: google.container.v1.ClusterManager.GetOperation:input_type -> google.container.v1.GetOperationRequest + 115, // 292: google.container.v1.ClusterManager.CancelOperation:input_type -> google.container.v1.CancelOperationRequest + 117, // 293: google.container.v1.ClusterManager.GetServerConfig:input_type -> google.container.v1.GetServerConfigRequest + 159, // 294: google.container.v1.ClusterManager.GetJSONWebKeys:input_type -> google.container.v1.GetJSONWebKeysRequest + 121, // 295: google.container.v1.ClusterManager.ListNodePools:input_type -> google.container.v1.ListNodePoolsRequest + 122, // 296: google.container.v1.ClusterManager.GetNodePool:input_type -> google.container.v1.GetNodePoolRequest + 119, // 297: google.container.v1.ClusterManager.CreateNodePool:input_type -> google.container.v1.CreateNodePoolRequest + 120, // 298: google.container.v1.ClusterManager.DeleteNodePool:input_type -> google.container.v1.DeleteNodePoolRequest + 136, // 299: google.container.v1.ClusterManager.CompleteNodePoolUpgrade:input_type -> google.container.v1.CompleteNodePoolUpgradeRequest + 137, // 300: google.container.v1.ClusterManager.RollbackNodePoolUpgrade:input_type -> google.container.v1.RollbackNodePoolUpgradeRequest + 134, // 301: google.container.v1.ClusterManager.SetNodePoolManagement:input_type -> google.container.v1.SetNodePoolManagementRequest + 143, // 302: google.container.v1.ClusterManager.SetLabels:input_type -> google.container.v1.SetLabelsRequest + 144, // 303: google.container.v1.ClusterManager.SetLegacyAbac:input_type -> google.container.v1.SetLegacyAbacRequest + 145, // 304: google.container.v1.ClusterManager.StartIPRotation:input_type -> google.container.v1.StartIPRotationRequest + 146, // 305: google.container.v1.ClusterManager.CompleteIPRotation:input_type -> google.container.v1.CompleteIPRotationRequest + 135, // 306: google.container.v1.ClusterManager.SetNodePoolSize:input_type -> google.container.v1.SetNodePoolSizeRequest + 151, // 307: google.container.v1.ClusterManager.SetNetworkPolicy:input_type -> google.container.v1.SetNetworkPolicyRequest + 152, // 308: google.container.v1.ClusterManager.SetMaintenancePolicy:input_type -> google.container.v1.SetMaintenancePolicyRequest + 175, // 309: google.container.v1.ClusterManager.ListUsableSubnetworks:input_type -> google.container.v1.ListUsableSubnetworksRequest + 162, // 310: google.container.v1.ClusterManager.CheckAutopilotCompatibility:input_type -> google.container.v1.CheckAutopilotCompatibilityRequest + 112, // 311: google.container.v1.ClusterManager.ListClusters:output_type -> google.container.v1.ListClustersResponse + 88, // 312: google.container.v1.ClusterManager.GetCluster:output_type -> google.container.v1.Cluster + 97, // 313: google.container.v1.ClusterManager.CreateCluster:output_type -> google.container.v1.Operation + 97, // 314: google.container.v1.ClusterManager.UpdateCluster:output_type -> google.container.v1.Operation + 97, // 315: google.container.v1.ClusterManager.UpdateNodePool:output_type -> google.container.v1.Operation + 97, // 316: google.container.v1.ClusterManager.SetNodePoolAutoscaling:output_type -> google.container.v1.Operation + 97, // 317: google.container.v1.ClusterManager.SetLoggingService:output_type -> google.container.v1.Operation + 97, // 318: google.container.v1.ClusterManager.SetMonitoringService:output_type -> google.container.v1.Operation + 97, // 319: google.container.v1.ClusterManager.SetAddonsConfig:output_type -> google.container.v1.Operation + 97, // 320: google.container.v1.ClusterManager.SetLocations:output_type -> google.container.v1.Operation + 97, // 321: google.container.v1.ClusterManager.UpdateMaster:output_type -> google.container.v1.Operation + 97, // 322: google.container.v1.ClusterManager.SetMasterAuth:output_type -> google.container.v1.Operation + 97, // 323: google.container.v1.ClusterManager.DeleteCluster:output_type -> google.container.v1.Operation + 116, // 324: google.container.v1.ClusterManager.ListOperations:output_type -> google.container.v1.ListOperationsResponse + 97, // 325: google.container.v1.ClusterManager.GetOperation:output_type -> google.container.v1.Operation + 236, // 326: google.container.v1.ClusterManager.CancelOperation:output_type -> google.protobuf.Empty + 118, // 327: google.container.v1.ClusterManager.GetServerConfig:output_type -> google.container.v1.ServerConfig + 161, // 328: google.container.v1.ClusterManager.GetJSONWebKeys:output_type -> google.container.v1.GetJSONWebKeysResponse + 138, // 329: google.container.v1.ClusterManager.ListNodePools:output_type -> google.container.v1.ListNodePoolsResponse + 124, // 330: google.container.v1.ClusterManager.GetNodePool:output_type -> google.container.v1.NodePool + 97, // 331: google.container.v1.ClusterManager.CreateNodePool:output_type -> google.container.v1.Operation + 97, // 332: google.container.v1.ClusterManager.DeleteNodePool:output_type -> google.container.v1.Operation + 236, // 333: google.container.v1.ClusterManager.CompleteNodePoolUpgrade:output_type -> google.protobuf.Empty + 97, // 334: google.container.v1.ClusterManager.RollbackNodePoolUpgrade:output_type -> google.container.v1.Operation + 97, // 335: google.container.v1.ClusterManager.SetNodePoolManagement:output_type -> google.container.v1.Operation + 97, // 336: google.container.v1.ClusterManager.SetLabels:output_type -> google.container.v1.Operation + 97, // 337: google.container.v1.ClusterManager.SetLegacyAbac:output_type -> google.container.v1.Operation + 97, // 338: google.container.v1.ClusterManager.StartIPRotation:output_type -> google.container.v1.Operation + 97, // 339: google.container.v1.ClusterManager.CompleteIPRotation:output_type -> google.container.v1.Operation + 97, // 340: google.container.v1.ClusterManager.SetNodePoolSize:output_type -> google.container.v1.Operation + 97, // 341: google.container.v1.ClusterManager.SetNetworkPolicy:output_type -> google.container.v1.Operation + 97, // 342: google.container.v1.ClusterManager.SetMaintenancePolicy:output_type -> google.container.v1.Operation + 176, // 343: google.container.v1.ClusterManager.ListUsableSubnetworks:output_type -> google.container.v1.ListUsableSubnetworksResponse + 164, // 344: google.container.v1.ClusterManager.CheckAutopilotCompatibility:output_type -> google.container.v1.CheckAutopilotCompatibilityResponse + 311, // [311:345] is the sub-list for method output_type + 277, // [277:311] is the sub-list for method input_type + 277, // [277:277] is the sub-list for extension type_name + 277, // [277:277] is the sub-list for extension extendee + 0, // [0:277] is the sub-list for field type_name } func init() { file_google_container_v1_cluster_service_proto_init() } @@ -24444,7 +24550,7 @@ func file_google_container_v1_cluster_service_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_container_v1_cluster_service_proto_rawDesc, - NumEnums: 46, + NumEnums: 47, NumMessages: 184, NumExtensions: 0, NumServices: 1, @@ -24536,8 +24642,6 @@ type ClusterManagerClient interface { GetServerConfig(ctx context.Context, in *GetServerConfigRequest, opts ...grpc.CallOption) (*ServerConfig, error) // Gets the public component of the cluster signing keys in // JSON Web Key format. - // This API is not yet intended for general use, and is not available for all - // clusters. GetJSONWebKeys(ctx context.Context, in *GetJSONWebKeysRequest, opts ...grpc.CallOption) (*GetJSONWebKeysResponse, error) // Lists the node pools for a cluster. ListNodePools(ctx context.Context, in *ListNodePoolsRequest, opts ...grpc.CallOption) (*ListNodePoolsResponse, error) @@ -24959,8 +25063,6 @@ type ClusterManagerServer interface { GetServerConfig(context.Context, *GetServerConfigRequest) (*ServerConfig, error) // Gets the public component of the cluster signing keys in // JSON Web Key format. - // This API is not yet intended for general use, and is not available for all - // clusters. GetJSONWebKeys(context.Context, *GetJSONWebKeysRequest) (*GetJSONWebKeysResponse, error) // Lists the node pools for a cluster. ListNodePools(context.Context, *ListNodePoolsRequest) (*ListNodePoolsResponse, error) diff --git a/dataplex/apiv1/dataplexpb/logs.pb.go b/dataplex/apiv1/dataplexpb/logs.pb.go index ca3af726d7c9..6f58adac40c3 100755 --- a/dataplex/apiv1/dataplexpb/logs.pb.go +++ b/dataplex/apiv1/dataplexpb/logs.pb.go @@ -2825,516 +2825,518 @@ var file_google_cloud_dataplex_v1_logs_proto_rawDesc = []byte{ 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x1a, - 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 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, 0xd4, 0x0a, 0x0a, 0x0e, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x61, 0x6b, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x6b, 0x65, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, - 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, - 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, - 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x50, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0xb6, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0xd4, 0x0a, 0x0a, + 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x61, 0x6b, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x6b, 0x65, + 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, + 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, - 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, 0x70, 0x0a, 0x0d, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xc7, - 0x01, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x14, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x23, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb4, 0x01, - 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, - 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, - 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x15, 0x0a, - 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0x07, 0x22, 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x09, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, - 0x4c, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x22, 0xa6, 0x06, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, - 0x6e, 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, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x59, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb6, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x66, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x6f, 0x62, - 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, + 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 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, 0x70, 0x0a, + 0x0d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, + 0xc7, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x23, 0x0a, 0x0d, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb4, + 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x4e, 0x54, 0x49, + 0x54, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, + 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x04, + 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x15, + 0x0a, 0x11, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x45, 0x44, 0x10, 0x07, 0x22, 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, + 0x49, 0x4c, 0x45, 0x53, 0x45, 0x54, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0xa6, 0x06, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, + 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, + 0x65, 0x6e, 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, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, + 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, - 0x4f, 0x54, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x02, 0x22, 0x55, 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, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, - 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x04, - 0x22, 0x30, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x53, - 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x41, 0x50, 0x52, 0x4f, 0x43, - 0x10, 0x01, 0x22, 0x57, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x41, 0x53, - 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x55, - 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x22, 0xe9, 0x06, 0x0a, 0x0c, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x6f, + 0x62, 0x12, 0x60, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x73, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x75, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x13, 0x75, - 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 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, 0x12, 0x75, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xee, 0x02, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, - 0x74, 0x12, 0x51, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x69, - 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x06, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, - 0x50, 0x41, 0x52, 0x4b, 0x5f, 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, - 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x22, 0x53, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x53, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, - 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x04, 0x42, 0x08, 0x0a, - 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xea, 0x07, 0x0a, 0x0f, 0x47, 0x6f, 0x76, 0x65, - 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, - 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, - 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0xe6, 0x01, 0x0a, 0x06, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x5c, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x41, - 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, - 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x4c, 0x45, 0x53, 0x45, 0x54, 0x10, - 0x02, 0x22, 0xa5, 0x04, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x52, - 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x41, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x42, - 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, - 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, - 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, - 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, - 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x58, 0x4f, 0x4e, 0x4f, 0x4d, - 0x59, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x49, - 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x41, - 0x47, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x49, - 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x41, - 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x49, - 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x41, - 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x49, 0x41, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, - 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x12, 0x25, 0x0a, 0x21, - 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, - 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x53, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, - 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x53, 0x10, 0x10, 0x12, 0x1a, 0x0a, - 0x16, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x4f, 0x56, - 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x50, 0x52, 0x4f, - 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x12, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x22, 0xaa, 0x16, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, - 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x3b, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 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, 0x39, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 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, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 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, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x51, 0x75, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, + 0x4e, 0x4f, 0x54, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x02, 0x22, 0x55, 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, 0x0d, 0x0a, 0x09, 0x53, 0x55, + 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, + 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, + 0x04, 0x22, 0x30, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, + 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x41, 0x50, 0x52, 0x4f, + 0x43, 0x10, 0x01, 0x22, 0x57, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x58, 0x45, 0x43, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x41, + 0x53, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, + 0x55, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x22, 0xe9, 0x06, 0x0a, + 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x76, 0x0a, - 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x65, 0x64, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x75, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x13, + 0x75, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 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, 0x12, 0x75, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xee, 0x02, 0x0a, 0x0b, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, + 0x78, 0x74, 0x12, 0x51, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, + 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x3d, 0x0a, 0x06, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x53, 0x50, 0x41, 0x52, 0x4b, 0x5f, 0x53, 0x51, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, + 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x22, 0x53, 0x0a, 0x09, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x55, 0x45, 0x52, 0x59, + 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x04, 0x42, 0x08, + 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0xea, 0x07, 0x0a, 0x0f, 0x47, 0x6f, 0x76, + 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0xe6, 0x01, 0x0a, 0x06, 0x45, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x5c, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, + 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x4c, 0x45, 0x53, 0x45, 0x54, + 0x10, 0x02, 0x22, 0xa5, 0x04, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x41, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, + 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x49, 0x47, 0x51, 0x55, + 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, + 0x1a, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x1e, 0x0a, + 0x1a, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x06, 0x12, 0x1e, 0x0a, + 0x1a, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x07, 0x12, 0x1c, 0x0a, + 0x18, 0x42, 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x54, 0x41, 0x58, 0x4f, 0x4e, 0x4f, + 0x4d, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x1e, 0x0a, 0x1a, 0x42, + 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, + 0x41, 0x47, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x42, + 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, + 0x41, 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x12, 0x26, 0x0a, 0x22, 0x42, + 0x49, 0x47, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, + 0x41, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x49, 0x41, 0x4d, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, + 0x59, 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x12, 0x25, 0x0a, + 0x21, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, + 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x53, 0x10, 0x0f, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, + 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4c, + 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x53, 0x10, 0x10, 0x12, 0x1a, + 0x0a, 0x16, 0x47, 0x4f, 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x10, 0x11, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x4f, + 0x56, 0x45, 0x52, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x50, 0x52, + 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x12, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xaa, 0x16, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, + 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, + 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, 0x39, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 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, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 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, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, - 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x76, 0x0a, 0x18, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x63, - 0x61, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x70, 0x65, 0x63, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x30, 0x0a, - 0x11, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, - 0x87, 0x05, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x79, 0x0a, 0x10, 0x64, 0x69, - 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x76, 0x0a, 0x0f, 0x64, - 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, - 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, - 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x6f, - 0x72, 0x65, 0x1a, 0x42, 0x0a, 0x14, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, - 0x61, 0x73, 0x73, 0x65, 0x64, 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, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x02, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x02, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa8, 0x01, 0x0a, 0x19, 0x44, 0x61, - 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x72, 0x6f, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x13, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x1a, 0x74, 0x0a, 0x19, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, - 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x77, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x1a, 0x8d, 0x03, 0x0a, 0x15, 0x50, - 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x16, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x5e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x51, + 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xc9, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, - 0xe8, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x46, 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, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, - 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0x03, 0x22, 0x49, 0x0a, 0x08, 0x53, 0x63, - 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, - 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x51, 0x55, 0x41, 0x4c, - 0x49, 0x54, 0x59, 0x10, 0x02, 0x22, 0x62, 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, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, - 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0x3f, 0x0a, 0x07, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, - 0x09, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, - 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x39, 0x0a, 0x05, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, - 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, - 0x54, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, - 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x22, 0x81, 0x08, 0x0a, 0x19, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x09, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, - 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x69, 0x0a, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x75, 0x6c, 0x65, - 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x76, + 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, + 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x48, 0x01, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x76, 0x0a, 0x18, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, + 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x30, + 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x1a, 0x87, 0x05, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x79, 0x0a, 0x10, 0x64, + 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x76, 0x0a, 0x0f, + 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x1a, 0x42, 0x0a, 0x14, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 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, 0x08, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x44, 0x69, 0x6d, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x02, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 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, 0x02, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa8, 0x01, 0x0a, 0x19, 0x44, + 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x72, 0x6f, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, + 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x70, + 0x70, 0x6c, 0x69, 0x65, 0x64, 0x1a, 0x74, 0x0a, 0x19, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, + 0x12, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x77, 0x46, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x1a, 0x8d, 0x03, 0x0a, 0x15, + 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x16, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, - 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, - 0x73, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x6f, 0x77, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x75, - 0x6c, 0x6c, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xff, 0x01, 0x0a, 0x08, 0x52, - 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x55, 0x4c, 0x45, 0x5f, + 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x14, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x1a, 0xe8, 0x01, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6e, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0x46, 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, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0x03, 0x22, 0x49, 0x0a, 0x08, 0x53, + 0x63, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x4e, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x45, - 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, - 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, 0x45, 0x58, 0x50, - 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x4f, - 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x45, - 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x54, - 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1f, - 0x0a, 0x1b, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x41, 0x4e, 0x47, - 0x45, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, - 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, - 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x45, - 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x22, 0x4d, 0x0a, 0x0e, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, - 0x0a, 0x1b, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, - 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x06, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x65, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x65, 0x78, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, - 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x70, - 0x62, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, + 0x4c, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x51, 0x55, 0x41, + 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x22, 0x62, 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, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, + 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, + 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0x3f, 0x0a, 0x07, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, + 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x39, 0x0a, 0x05, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, + 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, + 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x10, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x22, 0x81, 0x08, 0x0a, 0x19, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, + 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, + 0x72, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x69, 0x0a, 0x0e, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x75, 0x6c, + 0x65, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, + 0x61, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, + 0x61, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x77, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x6f, + 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, + 0x75, 0x6c, 0x6c, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xff, 0x01, 0x0a, 0x08, + 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x55, 0x4c, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x4e, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, + 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, 0x45, 0x58, + 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x52, + 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, + 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, + 0x54, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, + 0x1f, 0x0a, 0x1b, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x41, 0x4e, + 0x47, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, + 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x4e, 0x45, 0x53, 0x53, 0x5f, + 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x22, 0x4d, 0x0a, + 0x0e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x1b, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x02, 0x22, 0x38, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x50, 0x41, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x65, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, + 0x78, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, + 0x70, 0x62, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/firestore/apiv1/firestorepb/document.pb.go b/firestore/apiv1/firestorepb/document.pb.go index 19cd51913a5a..01b705183b53 100755 --- a/firestore/apiv1/firestorepb/document.pb.go +++ b/firestore/apiv1/firestorepb/document.pb.go @@ -53,23 +53,23 @@ type Document struct { // // The map keys represent field names. // - // A simple field name contains only characters `a` to `z`, `A` to `Z`, - // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, - // `foo_bar_17`. - // // Field names matching the regular expression `__.*__` are reserved. Reserved - // field names are forbidden except in certain documented contexts. The map - // keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be + // field names are forbidden except in certain documented contexts. The field + // names, represented as UTF-8, must not exceed 1,500 bytes and cannot be // empty. // // Field paths may be used in other contexts to refer to structured fields - // defined here. For `map_value`, the field path is represented by the simple - // or quoted field names of the containing fields, delimited by `.`. For - // example, the structured field - // `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be - // represented by the field path `foo.x&y`. + // defined here. For `map_value`, the field path is represented by a + // dot-delimited (`.`) string of segments. Each segment is either a simple + // field name (defined below) or a quoted field name. For example, the + // structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" + // }}}` would be represented by the field path `` foo.`x&y` ``. + // + // A simple field name contains only characters `a` to `z`, `A` to `Z`, + // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, + // `foo_bar_17`. // - // Within a field path, a quoted field name starts and ends with `` ` `` and + // A quoted field name starts and ends with `` ` `` and // may contain any character. Some characters, including `` ` ``, must be // escaped using a `\`. For example, `` `x&y` `` represents `x&y` and // `` `bak\`tik` `` represents `` bak`tik ``. diff --git a/firestore/apiv1/firestorepb/query.pb.go b/firestore/apiv1/firestorepb/query.pb.go index d4e83e0ee9be..e6490a7ea5e4 100755 --- a/firestore/apiv1/firestorepb/query.pb.go +++ b/firestore/apiv1/firestorepb/query.pb.go @@ -342,6 +342,14 @@ func (StructuredQuery_UnaryFilter_Operator) EnumDescriptor() ([]byte, []int) { } // A Firestore query. +// +// The query stages are executed in the following order: +// 1. from +// 2. where +// 3. select +// 4. order_by + start_at + end_at +// 5. offset +// 6. limit type StructuredQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache diff --git a/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json b/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json index b22279f74423..cf26ba76e3b3 100644 --- a/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json +++ b/internal/generated/snippets/bigquery/analyticshub/apiv1/snippet_metadata.google.cloud.bigquery.analyticshub.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/analyticshub/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/biglake/apiv1/snippet_metadata.google.cloud.bigquery.biglake.v1.json b/internal/generated/snippets/bigquery/biglake/apiv1/snippet_metadata.google.cloud.bigquery.biglake.v1.json index bb658697fb47..f7bbb85178cc 100644 --- a/internal/generated/snippets/bigquery/biglake/apiv1/snippet_metadata.google.cloud.bigquery.biglake.v1.json +++ b/internal/generated/snippets/bigquery/biglake/apiv1/snippet_metadata.google.cloud.bigquery.biglake.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/biglake/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/biglake/apiv1alpha1/snippet_metadata.google.cloud.bigquery.biglake.v1alpha1.json b/internal/generated/snippets/bigquery/biglake/apiv1alpha1/snippet_metadata.google.cloud.bigquery.biglake.v1alpha1.json index 5c0e81d08a92..64d8d335c76a 100644 --- a/internal/generated/snippets/bigquery/biglake/apiv1alpha1/snippet_metadata.google.cloud.bigquery.biglake.v1alpha1.json +++ b/internal/generated/snippets/bigquery/biglake/apiv1alpha1/snippet_metadata.google.cloud.bigquery.biglake.v1alpha1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/biglake/apiv1alpha1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json b/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json index bccfca9c0a2f..d630887583c8 100644 --- a/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json +++ b/internal/generated/snippets/bigquery/connection/apiv1/snippet_metadata.google.cloud.bigquery.connection.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/connection/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json b/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json index 36667e70e8c2..f29ff1892548 100644 --- a/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json +++ b/internal/generated/snippets/bigquery/connection/apiv1beta1/snippet_metadata.google.cloud.bigquery.connection.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/connection/apiv1beta1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json b/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json index 1bb784f75262..3766adf266b6 100644 --- a/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json +++ b/internal/generated/snippets/bigquery/dataexchange/apiv1beta1/snippet_metadata.google.cloud.bigquery.dataexchange.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/dataexchange/apiv1beta1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json index b7aa9e777659..9c71c0d4ea6c 100644 --- a/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json +++ b/internal/generated/snippets/bigquery/datapolicies/apiv1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datapolicies/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json index 05ad140e9196..fe196522758b 100644 --- a/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json +++ b/internal/generated/snippets/bigquery/datapolicies/apiv1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datapolicies/apiv1beta1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json index d0e7d3800e30..111b4900ef0a 100644 --- a/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json +++ b/internal/generated/snippets/bigquery/datatransfer/apiv1/snippet_metadata.google.cloud.bigquery.datatransfer.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/datatransfer/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json b/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json index 958f839d12c5..bc6bb3595e0c 100644 --- a/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json +++ b/internal/generated/snippets/bigquery/migration/apiv2/snippet_metadata.google.cloud.bigquery.migration.v2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/migration/apiv2", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json b/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json index b234799f9619..058dc6b2e3db 100644 --- a/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json +++ b/internal/generated/snippets/bigquery/migration/apiv2alpha/snippet_metadata.google.cloud.bigquery.migration.v2alpha.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/migration/apiv2alpha", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json b/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json index 17996d8626df..e3b40f5decf4 100644 --- a/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json +++ b/internal/generated/snippets/bigquery/reservation/apiv1/snippet_metadata.google.cloud.bigquery.reservation.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/reservation/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json b/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json index 710e810a4ca2..2549e67c74ad 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json +++ b/internal/generated/snippets/bigquery/storage/apiv1/snippet_metadata.google.cloud.bigquery.storage.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json b/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json index ee8aa8241675..13d5de44b0f3 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json +++ b/internal/generated/snippets/bigquery/storage/apiv1beta1/snippet_metadata.google.cloud.bigquery.storage.v1beta1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1beta1", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json b/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json index fbbffd785e41..e912e22cebe7 100644 --- a/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json +++ b/internal/generated/snippets/bigquery/storage/apiv1beta2/snippet_metadata.google.cloud.bigquery.storage.v1beta2.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/bigquery/storage/apiv1beta2", - "version": "1.57.1", + "version": "1.58.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json index c6317093d9e8..d5e44d2af1cb 100644 --- a/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json +++ b/internal/generated/snippets/container/apiv1/snippet_metadata.google.container.v1.json @@ -426,7 +426,7 @@ { "regionTag": "container_v1_generated_ClusterManager_GetJSONWebKeys_sync", "title": "container GetJSONWebKeys Sample", - "description": "GetJSONWebKeys gets the public component of the cluster signing keys in\nJSON Web Key format.\nThis API is not yet intended for general use, and is not available for all\nclusters.", + "description": "GetJSONWebKeys gets the public component of the cluster signing keys in\nJSON Web Key format.", "file": "ClusterManagerClient/GetJSONWebKeys/main.go", "language": "GO", "clientMethod": { diff --git a/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json b/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json index b997acde4aab..81859101f473 100644 --- a/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json +++ b/internal/generated/snippets/pubsub/apiv1/snippet_metadata.google.pubsub.v1.json @@ -1,7 +1,7 @@ { "clientLibrary": { "name": "cloud.google.com/go/pubsub/apiv1", - "version": "1.33.0", + "version": "1.34.0", "language": "GO", "apis": [ { diff --git a/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ExportAnalyticsMetrics/main.go b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ExportAnalyticsMetrics/main.go new file mode 100644 index 000000000000..106f958aae26 --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ExportAnalyticsMetrics/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2alpha_generated_AnalyticsService_ExportAnalyticsMetrics_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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ExportAnalyticsMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#ExportAnalyticsMetricsRequest. + } + op, err := c.ExportAnalyticsMetrics(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_AnalyticsService_ExportAnalyticsMetrics_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/GetOperation/main.go b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/GetOperation/main.go new file mode 100644 index 000000000000..9a152f9994bc --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2alpha_generated_AnalyticsService_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.NewAnalyticsClient(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_AnalyticsService_GetOperation_sync] diff --git a/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ListOperations/main.go b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ListOperations/main.go new file mode 100644 index 000000000000..d21d7086c66b --- /dev/null +++ b/internal/generated/snippets/retail/apiv2alpha/AnalyticsClient/ListOperations/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2alpha_generated_AnalyticsService_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.NewAnalyticsClient(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_AnalyticsService_ListOperations_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 c96b16677da5..024a09848b38 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 @@ -11,6 +11,144 @@ ] }, "snippets": [ + { + "regionTag": "retail_v2alpha_generated_AnalyticsService_ExportAnalyticsMetrics_sync", + "title": "retail ExportAnalyticsMetrics Sample", + "description": "ExportAnalyticsMetrics exports analytics metrics.\n\n`Operation.response` is of type `ExportAnalyticsMetricsResponse`.\n`Operation.metadata` is of type `ExportMetadata`.", + "file": "AnalyticsClient/ExportAnalyticsMetrics/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExportAnalyticsMetrics", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient.ExportAnalyticsMetrics", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.ExportAnalyticsMetricsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExportAnalyticsMetricsOperation", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient" + }, + "method": { + "shortName": "ExportAnalyticsMetrics", + "fullName": "google.cloud.retail.v2alpha.AnalyticsService.ExportAnalyticsMetrics", + "service": { + "shortName": "AnalyticsService", + "fullName": "google.cloud.retail.v2alpha.AnalyticsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_AnalyticsService_GetOperation_sync", + "title": "retail GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "AnalyticsClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2alpha_generated_AnalyticsService_ListOperations_sync", + "title": "retail ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "AnalyticsClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2alpha.AnalyticsClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, { "regionTag": "retail_v2alpha_generated_CatalogService_AddCatalogAttribute_sync", "title": "retail AddCatalogAttribute Sample", diff --git a/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ExportAnalyticsMetrics/main.go b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ExportAnalyticsMetrics/main.go new file mode 100644 index 000000000000..fcca4529ffcf --- /dev/null +++ b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ExportAnalyticsMetrics/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2beta_generated_AnalyticsService_ExportAnalyticsMetrics_sync] + +package main + +import ( + "context" + + retail "cloud.google.com/go/retail/apiv2beta" + retailpb "cloud.google.com/go/retail/apiv2beta/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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ExportAnalyticsMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2beta/retailpb#ExportAnalyticsMetricsRequest. + } + op, err := c.ExportAnalyticsMetrics(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_v2beta_generated_AnalyticsService_ExportAnalyticsMetrics_sync] diff --git a/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/GetOperation/main.go b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/GetOperation/main.go new file mode 100644 index 000000000000..a4e41362548c --- /dev/null +++ b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2beta_generated_AnalyticsService_GetOperation_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2beta" +) + +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.NewAnalyticsClient(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_v2beta_generated_AnalyticsService_GetOperation_sync] diff --git a/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ListOperations/main.go b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ListOperations/main.go new file mode 100644 index 000000000000..49918f9c78f9 --- /dev/null +++ b/internal/generated/snippets/retail/apiv2beta/AnalyticsClient/ListOperations/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START retail_v2beta_generated_AnalyticsService_ListOperations_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2beta" + "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.NewAnalyticsClient(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_v2beta_generated_AnalyticsService_ListOperations_sync] diff --git a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json index a6d61996264d..efe7610dec5a 100644 --- a/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json +++ b/internal/generated/snippets/retail/apiv2beta/snippet_metadata.google.cloud.retail.v2beta.json @@ -11,6 +11,144 @@ ] }, "snippets": [ + { + "regionTag": "retail_v2beta_generated_AnalyticsService_ExportAnalyticsMetrics_sync", + "title": "retail ExportAnalyticsMetrics Sample", + "description": "ExportAnalyticsMetrics exports analytics metrics.\n\n`Operation.response` is of type `ExportAnalyticsMetricsResponse`.\n`Operation.metadata` is of type `ExportMetadata`.", + "file": "AnalyticsClient/ExportAnalyticsMetrics/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExportAnalyticsMetrics", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient.ExportAnalyticsMetrics", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "retailpb.ExportAnalyticsMetricsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExportAnalyticsMetricsOperation", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient" + }, + "method": { + "shortName": "ExportAnalyticsMetrics", + "fullName": "google.cloud.retail.v2beta.AnalyticsService.ExportAnalyticsMetrics", + "service": { + "shortName": "AnalyticsService", + "fullName": "google.cloud.retail.v2beta.AnalyticsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2beta_generated_AnalyticsService_GetOperation_sync", + "title": "retail GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "AnalyticsClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "retail_v2beta_generated_AnalyticsService_ListOperations_sync", + "title": "retail ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "AnalyticsClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "AnalyticsClient", + "fullName": "google.cloud.retail.v2beta.AnalyticsClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, { "regionTag": "retail_v2beta_generated_CatalogService_AddCatalogAttribute_sync", "title": "retail AddCatalogAttribute Sample", diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAccessRule/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAccessRule/main.go new file mode 100644 index 000000000000..0ef2eb99d3c2 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAccessRule/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_CreateExternalAccessRule_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.CreateExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateExternalAccessRuleRequest. + } + op, err := c.CreateExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_CreateExternalAccessRule_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAddress/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAddress/main.go new file mode 100644 index 000000000000..9a22e3b485de --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateExternalAddress/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_CreateExternalAddress_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.CreateExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateExternalAddressRequest. + } + op, err := c.CreateExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_CreateExternalAddress_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/CreateLoggingServer/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateLoggingServer/main.go new file mode 100644 index 000000000000..c1ede32896ad --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateLoggingServer/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_CreateLoggingServer_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.CreateLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateLoggingServerRequest. + } + op, err := c.CreateLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_CreateLoggingServer_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/CreateManagementDnsZoneBinding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateManagementDnsZoneBinding/main.go new file mode 100644 index 000000000000..7ceb642a5fdf --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateManagementDnsZoneBinding/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_CreateManagementDnsZoneBinding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.CreateManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateManagementDnsZoneBindingRequest. + } + op, err := c.CreateManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_CreateManagementDnsZoneBinding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/CreateNetworkPeering/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateNetworkPeering/main.go new file mode 100644 index 000000000000..745ea6a5f07f --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/CreateNetworkPeering/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_CreateNetworkPeering_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.CreateNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateNetworkPeeringRequest. + } + op, err := c.CreateNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_CreateNetworkPeering_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAccessRule/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAccessRule/main.go new file mode 100644 index 000000000000..1eb21448ba80 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAccessRule/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_DeleteExternalAccessRule_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.DeleteExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteExternalAccessRuleRequest. + } + op, err := c.DeleteExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_DeleteExternalAccessRule_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAddress/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAddress/main.go new file mode 100644 index 000000000000..e6152e690dde --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteExternalAddress/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_DeleteExternalAddress_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.DeleteExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteExternalAddressRequest. + } + op, err := c.DeleteExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_DeleteExternalAddress_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteLoggingServer/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteLoggingServer/main.go new file mode 100644 index 000000000000..97488e3e2d46 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteLoggingServer/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_DeleteLoggingServer_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.DeleteLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteLoggingServerRequest. + } + op, err := c.DeleteLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_DeleteLoggingServer_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteManagementDnsZoneBinding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteManagementDnsZoneBinding/main.go new file mode 100644 index 000000000000..f25a79552325 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteManagementDnsZoneBinding/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_DeleteManagementDnsZoneBinding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.DeleteManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteManagementDnsZoneBindingRequest. + } + op, err := c.DeleteManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_DeleteManagementDnsZoneBinding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteNetworkPeering/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteNetworkPeering/main.go new file mode 100644 index 000000000000..7268193dfc1c --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/DeleteNetworkPeering/main.go @@ -0,0 +1,56 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_DeleteNetworkPeering_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.DeleteNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteNetworkPeeringRequest. + } + op, err := c.DeleteNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_DeleteNetworkPeering_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/FetchNetworkPolicyExternalAddresses/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/FetchNetworkPolicyExternalAddresses/main.go new file mode 100644 index 000000000000..f3a4a345b230 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/FetchNetworkPolicyExternalAddresses/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_FetchNetworkPolicyExternalAddresses_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#FetchNetworkPolicyExternalAddressesRequest. + } + it := c.FetchNetworkPolicyExternalAddresses(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_FetchNetworkPolicyExternalAddresses_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsBindPermission/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsBindPermission/main.go new file mode 100644 index 000000000000..59243767c115 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsBindPermission/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetDnsBindPermission_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetDnsBindPermissionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetDnsBindPermissionRequest. + } + resp, err := c.GetDnsBindPermission(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetDnsBindPermission_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsForwarding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsForwarding/main.go new file mode 100644 index 000000000000..4910b151c237 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetDnsForwarding/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetDnsForwarding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetDnsForwardingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetDnsForwardingRequest. + } + resp, err := c.GetDnsForwarding(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetDnsForwarding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAccessRule/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAccessRule/main.go new file mode 100644 index 000000000000..08c0f026a568 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAccessRule/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetExternalAccessRule_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetExternalAccessRuleRequest. + } + resp, err := c.GetExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetExternalAccessRule_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAddress/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAddress/main.go new file mode 100644 index 000000000000..533a736b7114 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetExternalAddress/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetExternalAddress_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetExternalAddressRequest. + } + resp, err := c.GetExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetExternalAddress_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetLoggingServer/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetLoggingServer/main.go new file mode 100644 index 000000000000..b82e67ee6d1d --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetLoggingServer/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetLoggingServer_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetLoggingServerRequest. + } + resp, err := c.GetLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetLoggingServer_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetManagementDnsZoneBinding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetManagementDnsZoneBinding/main.go new file mode 100644 index 000000000000..edf47ee172cd --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetManagementDnsZoneBinding/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetManagementDnsZoneBinding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetManagementDnsZoneBindingRequest. + } + resp, err := c.GetManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetManagementDnsZoneBinding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetNetworkPeering/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetNetworkPeering/main.go new file mode 100644 index 000000000000..ae4660cd0942 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetNetworkPeering/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetNetworkPeering_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNetworkPeeringRequest. + } + resp, err := c.GetNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetNetworkPeering_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GetNode/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GetNode/main.go new file mode 100644 index 000000000000..ee5ab2ff6814 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GetNode/main.go @@ -0,0 +1,53 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GetNode_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNodeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNodeRequest. + } + resp, err := c.GetNode(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GetNode_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/GrantDnsBindPermission/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/GrantDnsBindPermission/main.go new file mode 100644 index 000000000000..d16d138ce729 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/GrantDnsBindPermission/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_GrantDnsBindPermission_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GrantDnsBindPermissionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GrantDnsBindPermissionRequest. + } + op, err := c.GrantDnsBindPermission(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_GrantDnsBindPermission_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAccessRules/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAccessRules/main.go new file mode 100644 index 000000000000..87bd35492b60 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAccessRules/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListExternalAccessRules_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListExternalAccessRulesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListExternalAccessRulesRequest. + } + it := c.ListExternalAccessRules(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListExternalAccessRules_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAddresses/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAddresses/main.go new file mode 100644 index 000000000000..a430bd3b3eac --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListExternalAddresses/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListExternalAddresses_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListExternalAddressesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListExternalAddressesRequest. + } + it := c.ListExternalAddresses(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListExternalAddresses_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListLoggingServers/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListLoggingServers/main.go new file mode 100644 index 000000000000..3739b65e79f4 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListLoggingServers/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListLoggingServers_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListLoggingServersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListLoggingServersRequest. + } + it := c.ListLoggingServers(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListLoggingServers_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListManagementDnsZoneBindings/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListManagementDnsZoneBindings/main.go new file mode 100644 index 000000000000..ee2b3afa909c --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListManagementDnsZoneBindings/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListManagementDnsZoneBindings_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListManagementDnsZoneBindingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListManagementDnsZoneBindingsRequest. + } + it := c.ListManagementDnsZoneBindings(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListManagementDnsZoneBindings_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListNetworkPeerings/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListNetworkPeerings/main.go new file mode 100644 index 000000000000..78d0e375c637 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListNetworkPeerings/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListNetworkPeerings_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNetworkPeeringsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNetworkPeeringsRequest. + } + it := c.ListNetworkPeerings(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListNetworkPeerings_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListNodes/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListNodes/main.go new file mode 100644 index 000000000000..7ae1c8ffa8bc --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListNodes/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListNodes_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNodesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNodesRequest. + } + it := c.ListNodes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListNodes_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/ListPeeringRoutes/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/ListPeeringRoutes/main.go new file mode 100644 index 000000000000..d6ad6380ef58 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/ListPeeringRoutes/main.go @@ -0,0 +1,60 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_ListPeeringRoutes_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" + "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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListPeeringRoutesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListPeeringRoutesRequest. + } + it := c.ListPeeringRoutes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END vmwareengine_v1_generated_VmwareEngine_ListPeeringRoutes_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/RepairManagementDnsZoneBinding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/RepairManagementDnsZoneBinding/main.go new file mode 100644 index 000000000000..491fdc7fe9a1 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/RepairManagementDnsZoneBinding/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_RepairManagementDnsZoneBinding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.RepairManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#RepairManagementDnsZoneBindingRequest. + } + op, err := c.RepairManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_RepairManagementDnsZoneBinding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/RevokeDnsBindPermission/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/RevokeDnsBindPermission/main.go new file mode 100644 index 000000000000..8d51ccf63069 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/RevokeDnsBindPermission/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_RevokeDnsBindPermission_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.RevokeDnsBindPermissionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#RevokeDnsBindPermissionRequest. + } + op, err := c.RevokeDnsBindPermission(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_RevokeDnsBindPermission_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateDnsForwarding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateDnsForwarding/main.go new file mode 100644 index 000000000000..0be7b33b9fac --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateDnsForwarding/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateDnsForwarding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateDnsForwardingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateDnsForwardingRequest. + } + op, err := c.UpdateDnsForwarding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateDnsForwarding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAccessRule/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAccessRule/main.go new file mode 100644 index 000000000000..6b2cb22d49ae --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAccessRule/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateExternalAccessRule_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateExternalAccessRuleRequest. + } + op, err := c.UpdateExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateExternalAccessRule_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAddress/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAddress/main.go new file mode 100644 index 000000000000..3e5d3faca3d7 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateExternalAddress/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateExternalAddress_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateExternalAddressRequest. + } + op, err := c.UpdateExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateExternalAddress_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateLoggingServer/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateLoggingServer/main.go new file mode 100644 index 000000000000..9114e7a3e062 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateLoggingServer/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateLoggingServer_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateLoggingServerRequest. + } + op, err := c.UpdateLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateLoggingServer_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateManagementDnsZoneBinding/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateManagementDnsZoneBinding/main.go new file mode 100644 index 000000000000..cfe67fe9cb96 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateManagementDnsZoneBinding/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateManagementDnsZoneBinding_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateManagementDnsZoneBindingRequest. + } + op, err := c.UpdateManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateManagementDnsZoneBinding_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateNetworkPeering/main.go b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateNetworkPeering/main.go new file mode 100644 index 000000000000..451e8a35e073 --- /dev/null +++ b/internal/generated/snippets/vmwareengine/apiv1/Client/UpdateNetworkPeering/main.go @@ -0,0 +1,58 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START vmwareengine_v1_generated_VmwareEngine_UpdateNetworkPeering_sync] + +package main + +import ( + "context" + + vmwareengine "cloud.google.com/go/vmwareengine/apiv1" + vmwareenginepb "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb" +) + +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 := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateNetworkPeeringRequest. + } + op, err := c.UpdateNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END vmwareengine_v1_generated_VmwareEngine_UpdateNetworkPeering_sync] diff --git a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json index 82bf68c80e61..15bc5ff0c677 100644 --- a/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json +++ b/internal/generated/snippets/vmwareengine/apiv1/snippet_metadata.google.cloud.vmwareengine.v1.json @@ -58,21 +58,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateHcxActivationKey_sync", - "title": "vmwareengine CreateHcxActivationKey Sample", - "description": "CreateHcxActivationKey creates a new HCX activation key in a given private cloud.", - "file": "Client/CreateHcxActivationKey/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateExternalAccessRule_sync", + "title": "vmwareengine CreateExternalAccessRule Sample", + "description": "CreateExternalAccessRule creates a new external access rule in a given network policy.", + "file": "Client/CreateExternalAccessRule/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateHcxActivationKey", - "fullName": "google.cloud.vmwareengine.v1.Client.CreateHcxActivationKey", + "shortName": "CreateExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateExternalAccessRule", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.CreateHcxActivationKeyRequest", + "type": "vmwareenginepb.CreateExternalAccessRuleRequest", "name": "req" }, { @@ -80,14 +80,14 @@ "name": "opts" } ], - "resultType": "CreateHcxActivationKeyOperation", + "resultType": "CreateExternalAccessRuleOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "CreateHcxActivationKey", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey", + "shortName": "CreateExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -104,21 +104,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateNetworkPolicy_sync", - "title": "vmwareengine CreateNetworkPolicy Sample", - "description": "CreateNetworkPolicy creates a new network policy in a given VMware Engine network of a\nproject and location (region). A new network policy cannot be created if\nanother network policy already exists in the same scope.", - "file": "Client/CreateNetworkPolicy/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateExternalAddress_sync", + "title": "vmwareengine CreateExternalAddress Sample", + "description": "CreateExternalAddress creates a new `ExternalAddress` resource in a given private cloud. The\nnetwork policy that corresponds to the private cloud must have the external\nIP address network service enabled (`NetworkPolicy.external_ip`).", + "file": "Client/CreateExternalAddress/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.Client.CreateNetworkPolicy", + "shortName": "CreateExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateExternalAddress", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.CreateNetworkPolicyRequest", + "type": "vmwareenginepb.CreateExternalAddressRequest", "name": "req" }, { @@ -126,14 +126,14 @@ "name": "opts" } ], - "resultType": "CreateNetworkPolicyOperation", + "resultType": "CreateExternalAddressOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "CreateNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy", + "shortName": "CreateExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -150,21 +150,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreatePrivateCloud_sync", - "title": "vmwareengine CreatePrivateCloud Sample", - "description": "CreatePrivateCloud creates a new `PrivateCloud` resource in a given project and location.\nPrivate clouds can only be created in zones, regional private clouds are\nnot supported.\n\nCreating a private cloud also creates a [management\ncluster](https: //cloud.google.com/vmware-engine/docs/concepts-vmware-components)\nfor that private cloud.", - "file": "Client/CreatePrivateCloud/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateHcxActivationKey_sync", + "title": "vmwareengine CreateHcxActivationKey Sample", + "description": "CreateHcxActivationKey creates a new HCX activation key in a given private cloud.", + "file": "Client/CreateHcxActivationKey/main.go", "language": "GO", "clientMethod": { - "shortName": "CreatePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.Client.CreatePrivateCloud", + "shortName": "CreateHcxActivationKey", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateHcxActivationKey", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.CreatePrivateCloudRequest", + "type": "vmwareenginepb.CreateHcxActivationKeyRequest", "name": "req" }, { @@ -172,14 +172,14 @@ "name": "opts" } ], - "resultType": "CreatePrivateCloudOperation", + "resultType": "CreateHcxActivationKeyOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "CreatePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud", + "shortName": "CreateHcxActivationKey", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -196,21 +196,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreatePrivateConnection_sync", - "title": "vmwareengine CreatePrivateConnection Sample", - "description": "CreatePrivateConnection creates a new private connection that can be used for accessing private\nClouds.", - "file": "Client/CreatePrivateConnection/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateLoggingServer_sync", + "title": "vmwareengine CreateLoggingServer Sample", + "description": "CreateLoggingServer create a new logging server for a given private cloud.", + "file": "Client/CreateLoggingServer/main.go", "language": "GO", "clientMethod": { - "shortName": "CreatePrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.Client.CreatePrivateConnection", + "shortName": "CreateLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateLoggingServer", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.CreatePrivateConnectionRequest", + "type": "vmwareenginepb.CreateLoggingServerRequest", "name": "req" }, { @@ -218,14 +218,14 @@ "name": "opts" } ], - "resultType": "CreatePrivateConnectionOperation", + "resultType": "CreateLoggingServerOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "CreatePrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection", + "shortName": "CreateLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -242,21 +242,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateVmwareEngineNetwork_sync", - "title": "vmwareengine CreateVmwareEngineNetwork Sample", - "description": "CreateVmwareEngineNetwork creates a new VMware Engine network that can be used by a private cloud.", - "file": "Client/CreateVmwareEngineNetwork/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateManagementDnsZoneBinding_sync", + "title": "vmwareengine CreateManagementDnsZoneBinding Sample", + "description": "CreateManagementDnsZoneBinding creates a new `ManagementDnsZoneBinding` resource in a private cloud.\nThis RPC creates the DNS binding and the resource that represents the\nDNS binding of the consumer VPC network to the management DNS zone. A\nmanagement DNS zone is the Cloud DNS cross-project binding zone that\nVMware Engine creates for each private cloud. It contains FQDNs and\ncorresponding IP addresses for the private cloud's ESXi hosts and\nmanagement VM appliances like vCenter and NSX Manager.", + "file": "Client/CreateManagementDnsZoneBinding/main.go", "language": "GO", "clientMethod": { - "shortName": "CreateVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.Client.CreateVmwareEngineNetwork", + "shortName": "CreateManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateManagementDnsZoneBinding", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.CreateVmwareEngineNetworkRequest", + "type": "vmwareenginepb.CreateManagementDnsZoneBindingRequest", "name": "req" }, { @@ -264,14 +264,14 @@ "name": "opts" } ], - "resultType": "CreateVmwareEngineNetworkOperation", + "resultType": "CreateManagementDnsZoneBindingOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "CreateVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork", + "shortName": "CreateManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateManagementDnsZoneBinding", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -288,21 +288,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteCluster_sync", - "title": "vmwareengine DeleteCluster Sample", - "description": "DeleteCluster deletes a `Cluster` resource. To avoid unintended data loss, migrate or\ngracefully shut down any workloads running on the cluster before deletion.\nYou cannot delete the management cluster of a private cloud using this\nmethod.", - "file": "Client/DeleteCluster/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateNetworkPeering_sync", + "title": "vmwareengine CreateNetworkPeering Sample", + "description": "CreateNetworkPeering creates a new network peering between the peer network and VMware Engine\nnetwork provided in a `NetworkPeering` resource. NetworkPeering is a\nglobal resource and location can only be global.", + "file": "Client/CreateNetworkPeering/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteCluster", - "fullName": "google.cloud.vmwareengine.v1.Client.DeleteCluster", + "shortName": "CreateNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateNetworkPeering", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.DeleteClusterRequest", + "type": "vmwareenginepb.CreateNetworkPeeringRequest", "name": "req" }, { @@ -310,14 +310,14 @@ "name": "opts" } ], - "resultType": "DeleteClusterOperation", + "resultType": "CreateNetworkPeeringOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeleteCluster", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster", + "shortName": "CreateNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -328,27 +328,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteNetworkPolicy_sync", - "title": "vmwareengine DeleteNetworkPolicy Sample", - "description": "DeleteNetworkPolicy deletes a `NetworkPolicy` resource. A network policy cannot be deleted\nwhen `NetworkService.state` is set to `RECONCILING` for either its external\nIP or internet access service.", - "file": "Client/DeleteNetworkPolicy/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateNetworkPolicy_sync", + "title": "vmwareengine CreateNetworkPolicy Sample", + "description": "CreateNetworkPolicy creates a new network policy in a given VMware Engine network of a\nproject and location (region). A new network policy cannot be created if\nanother network policy already exists in the same scope.", + "file": "Client/CreateNetworkPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.Client.DeleteNetworkPolicy", + "shortName": "CreateNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateNetworkPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.DeleteNetworkPolicyRequest", + "type": "vmwareenginepb.CreateNetworkPolicyRequest", "name": "req" }, { @@ -356,14 +356,14 @@ "name": "opts" } ], - "resultType": "DeleteNetworkPolicyOperation", + "resultType": "CreateNetworkPolicyOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeleteNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy", + "shortName": "CreateNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -374,27 +374,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteOperation_sync", - "title": "vmwareengine DeleteOperation Sample", - "description": "DeleteOperation is a utility method from google.longrunning.Operations.", - "file": "Client/DeleteOperation/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreatePrivateCloud_sync", + "title": "vmwareengine CreatePrivateCloud Sample", + "description": "CreatePrivateCloud creates a new `PrivateCloud` resource in a given project and location.\nPrivate clouds of type `STANDARD` and\n`TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are\nregional.\nCreating a private cloud also creates a [management\ncluster](https: //cloud.google.com/vmware-engine/docs/concepts-vmware-components)\nfor that private cloud.", + "file": "Client/CreatePrivateCloud/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteOperation", - "fullName": "google.cloud.vmwareengine.v1.Client.DeleteOperation", + "shortName": "CreatePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.Client.CreatePrivateCloud", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.DeleteOperationRequest", + "type": "vmwareenginepb.CreatePrivateCloudRequest", "name": "req" }, { @@ -402,16 +402,17 @@ "name": "opts" } ], + "resultType": "CreatePrivateCloudOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeleteOperation", - "fullName": "google.longrunning.Operations.DeleteOperation", + "shortName": "CreatePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -419,27 +420,27 @@ "segments": [ { "start": 18, - "end": 51, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeletePrivateCloud_sync", - "title": "vmwareengine DeletePrivateCloud Sample", - "description": "DeletePrivateCloud schedules a `PrivateCloud` resource for deletion.\n\nA `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state`\nset to `DELETED` and `expireTime` set to the time when deletion is final\nand can no longer be reversed. The delete operation is marked as done\nas soon as the `PrivateCloud` is successfully scheduled for deletion\n(this also applies when `delayHours` is set to zero), and the operation is\nnot kept in pending state until `PrivateCloud` is purged.\n`PrivateCloud` can be restored using `UndeletePrivateCloud` method before\nthe `expireTime` elapses. When `expireTime` is reached, deletion is final\nand all private cloud resources are irreversibly removed and billing stops.\nDuring the final removal process, `PrivateCloud.state` is set to `PURGING`.\n`PrivateCloud` can be polled using standard `GET` method for the whole\nperiod of deletion and purging. It will not be returned only\nwhen it is completely purged.", - "file": "Client/DeletePrivateCloud/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreatePrivateConnection_sync", + "title": "vmwareengine CreatePrivateConnection Sample", + "description": "CreatePrivateConnection creates a new private connection that can be used for accessing private\nClouds.", + "file": "Client/CreatePrivateConnection/main.go", "language": "GO", "clientMethod": { - "shortName": "DeletePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.Client.DeletePrivateCloud", + "shortName": "CreatePrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.Client.CreatePrivateConnection", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.DeletePrivateCloudRequest", + "type": "vmwareenginepb.CreatePrivateConnectionRequest", "name": "req" }, { @@ -447,14 +448,14 @@ "name": "opts" } ], - "resultType": "DeletePrivateCloudOperation", + "resultType": "CreatePrivateConnectionOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeletePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud", + "shortName": "CreatePrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -471,21 +472,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeletePrivateConnection_sync", - "title": "vmwareengine DeletePrivateConnection Sample", - "description": "DeletePrivateConnection deletes a `PrivateConnection` resource. When a private connection is\ndeleted for a VMware Engine network, the connected network becomes\ninaccessible to that VMware Engine network.", - "file": "Client/DeletePrivateConnection/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_CreateVmwareEngineNetwork_sync", + "title": "vmwareengine CreateVmwareEngineNetwork Sample", + "description": "CreateVmwareEngineNetwork creates a new VMware Engine network that can be used by a private cloud.", + "file": "Client/CreateVmwareEngineNetwork/main.go", "language": "GO", "clientMethod": { - "shortName": "DeletePrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.Client.DeletePrivateConnection", + "shortName": "CreateVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.Client.CreateVmwareEngineNetwork", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.DeletePrivateConnectionRequest", + "type": "vmwareenginepb.CreateVmwareEngineNetworkRequest", "name": "req" }, { @@ -493,14 +494,14 @@ "name": "opts" } ], - "resultType": "DeletePrivateConnectionOperation", + "resultType": "CreateVmwareEngineNetworkOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeletePrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection", + "shortName": "CreateVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -511,27 +512,27 @@ "segments": [ { "start": 18, - "end": 56, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteVmwareEngineNetwork_sync", - "title": "vmwareengine DeleteVmwareEngineNetwork Sample", - "description": "DeleteVmwareEngineNetwork deletes a `VmwareEngineNetwork` resource. You can only delete a VMware\nEngine network after all resources that refer to it are deleted. For\nexample, a private cloud, a network peering, and a network policy can all\nrefer to the same VMware Engine network.", - "file": "Client/DeleteVmwareEngineNetwork/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteCluster_sync", + "title": "vmwareengine DeleteCluster Sample", + "description": "DeleteCluster deletes a `Cluster` resource. To avoid unintended data loss, migrate or\ngracefully shut down any workloads running on the cluster before deletion.\nYou cannot delete the management cluster of a private cloud using this\nmethod.", + "file": "Client/DeleteCluster/main.go", "language": "GO", "clientMethod": { - "shortName": "DeleteVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.Client.DeleteVmwareEngineNetwork", + "shortName": "DeleteCluster", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteCluster", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.DeleteVmwareEngineNetworkRequest", + "type": "vmwareenginepb.DeleteClusterRequest", "name": "req" }, { @@ -539,14 +540,14 @@ "name": "opts" } ], - "resultType": "DeleteVmwareEngineNetworkOperation", + "resultType": "DeleteClusterOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "DeleteVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork", + "shortName": "DeleteCluster", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -563,21 +564,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetCluster_sync", - "title": "vmwareengine GetCluster Sample", - "description": "GetCluster retrieves a `Cluster` resource by its resource name.", - "file": "Client/GetCluster/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteExternalAccessRule_sync", + "title": "vmwareengine DeleteExternalAccessRule Sample", + "description": "DeleteExternalAccessRule deletes a single external access rule.", + "file": "Client/DeleteExternalAccessRule/main.go", "language": "GO", "clientMethod": { - "shortName": "GetCluster", - "fullName": "google.cloud.vmwareengine.v1.Client.GetCluster", + "shortName": "DeleteExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteExternalAccessRule", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetClusterRequest", + "type": "vmwareenginepb.DeleteExternalAccessRuleRequest", "name": "req" }, { @@ -585,14 +586,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.Cluster", + "resultType": "DeleteExternalAccessRuleOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetCluster", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetCluster", + "shortName": "DeleteExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -603,27 +604,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetHcxActivationKey_sync", - "title": "vmwareengine GetHcxActivationKey Sample", - "description": "GetHcxActivationKey retrieves a `HcxActivationKey` resource by its resource name.", - "file": "Client/GetHcxActivationKey/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteExternalAddress_sync", + "title": "vmwareengine DeleteExternalAddress Sample", + "description": "DeleteExternalAddress deletes a single external IP address. When you delete an external IP\naddress, connectivity between the external IP address and the corresponding\ninternal IP address is lost.", + "file": "Client/DeleteExternalAddress/main.go", "language": "GO", "clientMethod": { - "shortName": "GetHcxActivationKey", - "fullName": "google.cloud.vmwareengine.v1.Client.GetHcxActivationKey", + "shortName": "DeleteExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteExternalAddress", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetHcxActivationKeyRequest", + "type": "vmwareenginepb.DeleteExternalAddressRequest", "name": "req" }, { @@ -631,14 +632,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.HcxActivationKey", + "resultType": "DeleteExternalAddressOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetHcxActivationKey", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey", + "shortName": "DeleteExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -649,27 +650,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetIamPolicy_sync", - "title": "vmwareengine 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": "Client/GetIamPolicy/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteLoggingServer_sync", + "title": "vmwareengine DeleteLoggingServer Sample", + "description": "DeleteLoggingServer deletes a single logging server.", + "file": "Client/DeleteLoggingServer/main.go", "language": "GO", "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.vmwareengine.v1.Client.GetIamPolicy", + "shortName": "DeleteLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteLoggingServer", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.GetIamPolicyRequest", + "type": "vmwareenginepb.DeleteLoggingServerRequest", "name": "req" }, { @@ -677,17 +678,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "DeleteLoggingServerOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "shortName": "DeleteLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -695,27 +696,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetLocation_sync", - "title": "vmwareengine GetLocation Sample", - "description": "GetLocation gets information about a location.", - "file": "Client/GetLocation/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteManagementDnsZoneBinding_sync", + "title": "vmwareengine DeleteManagementDnsZoneBinding Sample", + "description": "DeleteManagementDnsZoneBinding deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone\nbinding is deleted, the corresponding consumer VPC network is no longer\nbound to the management DNS zone.", + "file": "Client/DeleteManagementDnsZoneBinding/main.go", "language": "GO", "clientMethod": { - "shortName": "GetLocation", - "fullName": "google.cloud.vmwareengine.v1.Client.GetLocation", + "shortName": "DeleteManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteManagementDnsZoneBinding", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.GetLocationRequest", + "type": "vmwareenginepb.DeleteManagementDnsZoneBindingRequest", "name": "req" }, { @@ -723,17 +724,17 @@ "name": "opts" } ], - "resultType": "*locationpb.Location", + "resultType": "DeleteManagementDnsZoneBindingOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetLocation", - "fullName": "google.cloud.location.Locations.GetLocation", + "shortName": "DeleteManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -741,27 +742,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNetworkPolicy_sync", - "title": "vmwareengine GetNetworkPolicy Sample", - "description": "GetNetworkPolicy retrieves a `NetworkPolicy` resource by its resource name.", - "file": "Client/GetNetworkPolicy/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteNetworkPeering_sync", + "title": "vmwareengine DeleteNetworkPeering Sample", + "description": "DeleteNetworkPeering deletes a `NetworkPeering` resource. When a network peering is deleted for\na VMware Engine network, the peer network becomes inaccessible to that\nVMware Engine network. NetworkPeering is a global resource and location can\nonly be global.", + "file": "Client/DeleteNetworkPeering/main.go", "language": "GO", "clientMethod": { - "shortName": "GetNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.Client.GetNetworkPolicy", + "shortName": "DeleteNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteNetworkPeering", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetNetworkPolicyRequest", + "type": "vmwareenginepb.DeleteNetworkPeeringRequest", "name": "req" }, { @@ -769,14 +770,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.NetworkPolicy", + "resultType": "DeleteNetworkPeeringOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetNetworkPolicy", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy", + "shortName": "DeleteNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -787,19 +788,892 @@ "segments": [ { "start": 18, - "end": 53, + "end": 56, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNodeType_sync", - "title": "vmwareengine GetNodeType Sample", - "description": "GetNodeType gets details of a single `NodeType`.", - "file": "Client/GetNodeType/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteNetworkPolicy_sync", + "title": "vmwareengine DeleteNetworkPolicy Sample", + "description": "DeleteNetworkPolicy deletes a `NetworkPolicy` resource. A network policy cannot be deleted\nwhen `NetworkService.state` is set to `RECONCILING` for either its external\nIP or internet access service.", + "file": "Client/DeleteNetworkPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "GetNodeType", + "shortName": "DeleteNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteNetworkPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.DeleteNetworkPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteNetworkPolicyOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "DeleteNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteOperation_sync", + "title": "vmwareengine DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "Client/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeletePrivateCloud_sync", + "title": "vmwareengine DeletePrivateCloud Sample", + "description": "DeletePrivateCloud schedules a `PrivateCloud` resource for deletion.\n\nA `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state`\nset to `DELETED` and `expireTime` set to the time when deletion is final\nand can no longer be reversed. The delete operation is marked as done\nas soon as the `PrivateCloud` is successfully scheduled for deletion\n(this also applies when `delayHours` is set to zero), and the operation is\nnot kept in pending state until `PrivateCloud` is purged.\n`PrivateCloud` can be restored using `UndeletePrivateCloud` method before\nthe `expireTime` elapses. When `expireTime` is reached, deletion is final\nand all private cloud resources are irreversibly removed and billing stops.\nDuring the final removal process, `PrivateCloud.state` is set to `PURGING`.\n`PrivateCloud` can be polled using standard `GET` method for the whole\nperiod of deletion and purging. It will not be returned only\nwhen it is completely purged.", + "file": "Client/DeletePrivateCloud/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeletePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.Client.DeletePrivateCloud", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.DeletePrivateCloudRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeletePrivateCloudOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "DeletePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeletePrivateConnection_sync", + "title": "vmwareengine DeletePrivateConnection Sample", + "description": "DeletePrivateConnection deletes a `PrivateConnection` resource. When a private connection is\ndeleted for a VMware Engine network, the connected network becomes\ninaccessible to that VMware Engine network.", + "file": "Client/DeletePrivateConnection/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeletePrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.Client.DeletePrivateConnection", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.DeletePrivateConnectionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeletePrivateConnectionOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "DeletePrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_DeleteVmwareEngineNetwork_sync", + "title": "vmwareengine DeleteVmwareEngineNetwork Sample", + "description": "DeleteVmwareEngineNetwork deletes a `VmwareEngineNetwork` resource. You can only delete a VMware\nEngine network after all resources that refer to it are deleted. For\nexample, a private cloud, a network peering, and a network policy can all\nrefer to the same VMware Engine network.", + "file": "Client/DeleteVmwareEngineNetwork/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.Client.DeleteVmwareEngineNetwork", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.DeleteVmwareEngineNetworkRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteVmwareEngineNetworkOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "DeleteVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_FetchNetworkPolicyExternalAddresses_sync", + "title": "vmwareengine FetchNetworkPolicyExternalAddresses Sample", + "description": "FetchNetworkPolicyExternalAddresses lists external IP addresses assigned to VMware workload VMs within the\nscope of the given network policy.", + "file": "Client/FetchNetworkPolicyExternalAddresses/main.go", + "language": "GO", + "clientMethod": { + "shortName": "FetchNetworkPolicyExternalAddresses", + "fullName": "google.cloud.vmwareengine.v1.Client.FetchNetworkPolicyExternalAddresses", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExternalAddressIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "FetchNetworkPolicyExternalAddresses", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetCluster_sync", + "title": "vmwareengine GetCluster Sample", + "description": "GetCluster retrieves a `Cluster` resource by its resource name.", + "file": "Client/GetCluster/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetCluster", + "fullName": "google.cloud.vmwareengine.v1.Client.GetCluster", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetClusterRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.Cluster", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetCluster", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetCluster", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetDnsBindPermission_sync", + "title": "vmwareengine GetDnsBindPermission Sample", + "description": "GetDnsBindPermission gets all the principals having bind permission on the intranet VPC\nassociated with the consumer project granted by the Grant API.\nDnsBindPermission is a global resource and location can only be global.", + "file": "Client/GetDnsBindPermission/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.Client.GetDnsBindPermission", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetDnsBindPermissionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.DnsBindPermission", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetDnsForwarding_sync", + "title": "vmwareengine GetDnsForwarding Sample", + "description": "GetDnsForwarding gets details of the `DnsForwarding` config.", + "file": "Client/GetDnsForwarding/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetDnsForwarding", + "fullName": "google.cloud.vmwareengine.v1.Client.GetDnsForwarding", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetDnsForwardingRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.DnsForwarding", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetDnsForwarding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetExternalAccessRule_sync", + "title": "vmwareengine GetExternalAccessRule Sample", + "description": "GetExternalAccessRule gets details of a single external access rule.", + "file": "Client/GetExternalAccessRule/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.Client.GetExternalAccessRule", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetExternalAccessRuleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.ExternalAccessRule", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetExternalAddress_sync", + "title": "vmwareengine GetExternalAddress Sample", + "description": "GetExternalAddress gets details of a single external IP address.", + "file": "Client/GetExternalAddress/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.Client.GetExternalAddress", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetExternalAddressRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.ExternalAddress", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetHcxActivationKey_sync", + "title": "vmwareengine GetHcxActivationKey Sample", + "description": "GetHcxActivationKey retrieves a `HcxActivationKey` resource by its resource name.", + "file": "Client/GetHcxActivationKey/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetHcxActivationKey", + "fullName": "google.cloud.vmwareengine.v1.Client.GetHcxActivationKey", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetHcxActivationKeyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.HcxActivationKey", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetHcxActivationKey", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetIamPolicy_sync", + "title": "vmwareengine 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": "Client/GetIamPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.vmwareengine.v1.Client.GetIamPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "iampb.GetIamPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*iampb.Policy", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.GetIamPolicy", + "service": { + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetLocation_sync", + "title": "vmwareengine GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "Client/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.vmwareengine.v1.Client.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetLoggingServer_sync", + "title": "vmwareengine GetLoggingServer Sample", + "description": "GetLoggingServer gets details of a logging server.", + "file": "Client/GetLoggingServer/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.Client.GetLoggingServer", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetLoggingServerRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.LoggingServer", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetManagementDnsZoneBinding_sync", + "title": "vmwareengine GetManagementDnsZoneBinding Sample", + "description": "GetManagementDnsZoneBinding retrieves a 'ManagementDnsZoneBinding' resource by its resource name.", + "file": "Client/GetManagementDnsZoneBinding/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.Client.GetManagementDnsZoneBinding", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetManagementDnsZoneBindingRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.ManagementDnsZoneBinding", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNetworkPeering_sync", + "title": "vmwareengine GetNetworkPeering Sample", + "description": "GetNetworkPeering retrieves a `NetworkPeering` resource by its resource name. The resource\ncontains details of the network peering, such as peered\nnetworks, import and export custom route configurations, and peering state.\nNetworkPeering is a global resource and location can only be global.", + "file": "Client/GetNetworkPeering/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.Client.GetNetworkPeering", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetNetworkPeeringRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.NetworkPeering", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNetworkPolicy_sync", + "title": "vmwareengine GetNetworkPolicy Sample", + "description": "GetNetworkPolicy retrieves a `NetworkPolicy` resource by its resource name.", + "file": "Client/GetNetworkPolicy/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.Client.GetNetworkPolicy", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetNetworkPolicyRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.NetworkPolicy", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetNetworkPolicy", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNode_sync", + "title": "vmwareengine GetNode Sample", + "description": "GetNode gets details of a single node.", + "file": "Client/GetNode/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNode", + "fullName": "google.cloud.vmwareengine.v1.Client.GetNode", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetNodeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.Node", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetNode", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNode", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetNodeType_sync", + "title": "vmwareengine GetNodeType Sample", + "description": "GetNodeType gets details of a single `NodeType`.", + "file": "Client/GetNodeType/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetNodeType", "fullName": "google.cloud.vmwareengine.v1.Client.GetNodeType", "parameters": [ { @@ -807,7 +1681,697 @@ "name": "ctx" }, { - "type": "vmwareenginepb.GetNodeTypeRequest", + "type": "vmwareenginepb.GetNodeTypeRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.NodeType", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetNodeType", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetOperation_sync", + "title": "vmwareengine GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "Client/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.vmwareengine.v1.Client.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetPrivateCloud_sync", + "title": "vmwareengine GetPrivateCloud Sample", + "description": "GetPrivateCloud retrieves a `PrivateCloud` resource by its resource name.", + "file": "Client/GetPrivateCloud/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetPrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.Client.GetPrivateCloud", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetPrivateCloudRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.PrivateCloud", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetPrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetPrivateConnection_sync", + "title": "vmwareengine GetPrivateConnection Sample", + "description": "GetPrivateConnection retrieves a `PrivateConnection` resource by its resource name. The resource\ncontains details of the private connection, such as connected\nnetwork, routing mode and state.", + "file": "Client/GetPrivateConnection/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetPrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.Client.GetPrivateConnection", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetPrivateConnectionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.PrivateConnection", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetPrivateConnection", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetSubnet_sync", + "title": "vmwareengine GetSubnet Sample", + "description": "GetSubnet gets details of a single subnet.", + "file": "Client/GetSubnet/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetSubnet", + "fullName": "google.cloud.vmwareengine.v1.Client.GetSubnet", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetSubnetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.Subnet", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetSubnet", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetVmwareEngineNetwork_sync", + "title": "vmwareengine GetVmwareEngineNetwork Sample", + "description": "GetVmwareEngineNetwork retrieves a `VmwareEngineNetwork` resource by its resource name. The\nresource contains details of the VMware Engine network, such as its VMware\nEngine network type, peered networks in a service project, and state\n(for example, `CREATING`, `ACTIVE`, `DELETING`).", + "file": "Client/GetVmwareEngineNetwork/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.Client.GetVmwareEngineNetwork", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GetVmwareEngineNetworkRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*vmwareenginepb.VmwareEngineNetwork", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GetVmwareEngineNetwork", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_GrantDnsBindPermission_sync", + "title": "vmwareengine GrantDnsBindPermission Sample", + "description": "GrantDnsBindPermission grants the bind permission to the customer provided principal(user /\nservice account) to bind their DNS zone with the intranet VPC associated\nwith the project. DnsBindPermission is a global resource and location can\nonly be global.", + "file": "Client/GrantDnsBindPermission/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GrantDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.Client.GrantDnsBindPermission", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.GrantDnsBindPermissionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "GrantDnsBindPermissionOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "GrantDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListClusters_sync", + "title": "vmwareengine ListClusters Sample", + "description": "ListClusters lists `Cluster` resources in a given private cloud.", + "file": "Client/ListClusters/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListClusters", + "fullName": "google.cloud.vmwareengine.v1.Client.ListClusters", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListClustersRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ClusterIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListClusters", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListClusters", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListExternalAccessRules_sync", + "title": "vmwareengine ListExternalAccessRules Sample", + "description": "ListExternalAccessRules lists `ExternalAccessRule` resources in the specified network policy.", + "file": "Client/ListExternalAccessRules/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListExternalAccessRules", + "fullName": "google.cloud.vmwareengine.v1.Client.ListExternalAccessRules", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListExternalAccessRulesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExternalAccessRuleIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListExternalAccessRules", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListExternalAddresses_sync", + "title": "vmwareengine ListExternalAddresses Sample", + "description": "ListExternalAddresses lists external IP addresses assigned to VMware workload VMs in a given\nprivate cloud.", + "file": "Client/ListExternalAddresses/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListExternalAddresses", + "fullName": "google.cloud.vmwareengine.v1.Client.ListExternalAddresses", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListExternalAddressesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExternalAddressIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListExternalAddresses", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListHcxActivationKeys_sync", + "title": "vmwareengine ListHcxActivationKeys Sample", + "description": "ListHcxActivationKeys lists `HcxActivationKey` resources in a given private cloud.", + "file": "Client/ListHcxActivationKeys/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListHcxActivationKeys", + "fullName": "google.cloud.vmwareengine.v1.Client.ListHcxActivationKeys", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListHcxActivationKeysRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "HcxActivationKeyIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListHcxActivationKeys", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListLocations_sync", + "title": "vmwareengine ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "Client/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.vmwareengine.v1.Client.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListLoggingServers_sync", + "title": "vmwareengine ListLoggingServers Sample", + "description": "ListLoggingServers lists logging servers configured for a given private\ncloud.", + "file": "Client/ListLoggingServers/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLoggingServers", + "fullName": "google.cloud.vmwareengine.v1.Client.ListLoggingServers", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListLoggingServersRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LoggingServerIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListLoggingServers", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListManagementDnsZoneBindings_sync", + "title": "vmwareengine ListManagementDnsZoneBindings Sample", + "description": "ListManagementDnsZoneBindings lists Consumer VPCs bound to Management DNS Zone of a given private cloud.", + "file": "Client/ListManagementDnsZoneBindings/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListManagementDnsZoneBindings", + "fullName": "google.cloud.vmwareengine.v1.Client.ListManagementDnsZoneBindings", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListManagementDnsZoneBindingsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ManagementDnsZoneBindingIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListManagementDnsZoneBindings", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNetworkPeerings_sync", + "title": "vmwareengine ListNetworkPeerings Sample", + "description": "ListNetworkPeerings lists `NetworkPeering` resources in a given project. NetworkPeering is a\nglobal resource and location can only be global.", + "file": "Client/ListNetworkPeerings/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListNetworkPeerings", + "fullName": "google.cloud.vmwareengine.v1.Client.ListNetworkPeerings", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListNetworkPeeringsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "NetworkPeeringIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListNetworkPeerings", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings", + "service": { + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNetworkPolicies_sync", + "title": "vmwareengine ListNetworkPolicies Sample", + "description": "ListNetworkPolicies lists `NetworkPolicy` resources in a specified project and location.", + "file": "Client/ListNetworkPolicies/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListNetworkPolicies", + "fullName": "google.cloud.vmwareengine.v1.Client.ListNetworkPolicies", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListNetworkPoliciesRequest", "name": "req" }, { @@ -815,14 +2379,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.NodeType", + "resultType": "NetworkPolicyIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetNodeType", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType", + "shortName": "ListNetworkPolicies", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -833,27 +2397,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetOperation_sync", - "title": "vmwareengine GetOperation Sample", - "description": "GetOperation is a utility method from google.longrunning.Operations.", - "file": "Client/GetOperation/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNodeTypes_sync", + "title": "vmwareengine ListNodeTypes Sample", + "description": "ListNodeTypes lists node types", + "file": "Client/ListNodeTypes/main.go", "language": "GO", "clientMethod": { - "shortName": "GetOperation", - "fullName": "google.cloud.vmwareengine.v1.Client.GetOperation", + "shortName": "ListNodeTypes", + "fullName": "google.cloud.vmwareengine.v1.Client.ListNodeTypes", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.GetOperationRequest", + "type": "vmwareenginepb.ListNodeTypesRequest", "name": "req" }, { @@ -861,17 +2425,17 @@ "name": "opts" } ], - "resultType": "*longrunningpb.Operation", + "resultType": "NodeTypeIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetOperation", - "fullName": "google.longrunning.Operations.GetOperation", + "shortName": "ListNodeTypes", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -879,27 +2443,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetPrivateCloud_sync", - "title": "vmwareengine GetPrivateCloud Sample", - "description": "GetPrivateCloud retrieves a `PrivateCloud` resource by its resource name.", - "file": "Client/GetPrivateCloud/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNodes_sync", + "title": "vmwareengine ListNodes Sample", + "description": "ListNodes lists nodes in a given cluster.", + "file": "Client/ListNodes/main.go", "language": "GO", "clientMethod": { - "shortName": "GetPrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.Client.GetPrivateCloud", + "shortName": "ListNodes", + "fullName": "google.cloud.vmwareengine.v1.Client.ListNodes", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetPrivateCloudRequest", + "type": "vmwareenginepb.ListNodesRequest", "name": "req" }, { @@ -907,14 +2471,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.PrivateCloud", + "resultType": "NodeIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetPrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud", + "shortName": "ListNodes", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNodes", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -925,27 +2489,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetPrivateConnection_sync", - "title": "vmwareengine GetPrivateConnection Sample", - "description": "GetPrivateConnection retrieves a `PrivateConnection` resource by its resource name. The resource\ncontains details of the private connection, such as connected\nnetwork, routing mode and state.", - "file": "Client/GetPrivateConnection/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListOperations_sync", + "title": "vmwareengine ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "Client/ListOperations/main.go", "language": "GO", "clientMethod": { - "shortName": "GetPrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.Client.GetPrivateConnection", + "shortName": "ListOperations", + "fullName": "google.cloud.vmwareengine.v1.Client.ListOperations", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetPrivateConnectionRequest", + "type": "longrunningpb.ListOperationsRequest", "name": "req" }, { @@ -953,14 +2517,60 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.PrivateConnection", + "resultType": "OperationIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetPrivateConnection", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection", + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPeeringRoutes_sync", + "title": "vmwareengine ListPeeringRoutes Sample", + "description": "ListPeeringRoutes lists the network peering routes exchanged over a peering connection.\nNetworkPeering is a global resource and location can only be global.", + "file": "Client/ListPeeringRoutes/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListPeeringRoutes", + "fullName": "google.cloud.vmwareengine.v1.Client.ListPeeringRoutes", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "vmwareenginepb.ListPeeringRoutesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "PeeringRouteIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.vmwareengine.v1.Client" + }, + "method": { + "shortName": "ListPeeringRoutes", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -971,27 +2581,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetSubnet_sync", - "title": "vmwareengine GetSubnet Sample", - "description": "GetSubnet gets details of a single subnet.", - "file": "Client/GetSubnet/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateClouds_sync", + "title": "vmwareengine ListPrivateClouds Sample", + "description": "ListPrivateClouds lists `PrivateCloud` resources in a given project and location.", + "file": "Client/ListPrivateClouds/main.go", "language": "GO", "clientMethod": { - "shortName": "GetSubnet", - "fullName": "google.cloud.vmwareengine.v1.Client.GetSubnet", + "shortName": "ListPrivateClouds", + "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateClouds", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetSubnetRequest", + "type": "vmwareenginepb.ListPrivateCloudsRequest", "name": "req" }, { @@ -999,14 +2609,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.Subnet", + "resultType": "PrivateCloudIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetSubnet", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet", + "shortName": "ListPrivateClouds", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1017,27 +2627,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_GetVmwareEngineNetwork_sync", - "title": "vmwareengine GetVmwareEngineNetwork Sample", - "description": "GetVmwareEngineNetwork retrieves a `VmwareEngineNetwork` resource by its resource name. The\nresource contains details of the VMware Engine network, such as its VMware\nEngine network type, peered networks in a service project, and state\n(for example, `CREATING`, `ACTIVE`, `DELETING`).", - "file": "Client/GetVmwareEngineNetwork/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateConnectionPeeringRoutes_sync", + "title": "vmwareengine ListPrivateConnectionPeeringRoutes Sample", + "description": "ListPrivateConnectionPeeringRoutes lists the private connection routes exchanged over a peering connection.", + "file": "Client/ListPrivateConnectionPeeringRoutes/main.go", "language": "GO", "clientMethod": { - "shortName": "GetVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.Client.GetVmwareEngineNetwork", + "shortName": "ListPrivateConnectionPeeringRoutes", + "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateConnectionPeeringRoutes", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.GetVmwareEngineNetworkRequest", + "type": "vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest", "name": "req" }, { @@ -1045,14 +2655,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.VmwareEngineNetwork", + "resultType": "PeeringRouteIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "GetVmwareEngineNetwork", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork", + "shortName": "ListPrivateConnectionPeeringRoutes", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1063,27 +2673,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 60, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListClusters_sync", - "title": "vmwareengine ListClusters Sample", - "description": "ListClusters lists `Cluster` resources in a given private cloud.", - "file": "Client/ListClusters/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateConnections_sync", + "title": "vmwareengine ListPrivateConnections Sample", + "description": "ListPrivateConnections lists `PrivateConnection` resources in a given project and location.", + "file": "Client/ListPrivateConnections/main.go", "language": "GO", "clientMethod": { - "shortName": "ListClusters", - "fullName": "google.cloud.vmwareengine.v1.Client.ListClusters", + "shortName": "ListPrivateConnections", + "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateConnections", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListClustersRequest", + "type": "vmwareenginepb.ListPrivateConnectionsRequest", "name": "req" }, { @@ -1091,14 +2701,14 @@ "name": "opts" } ], - "resultType": "ClusterIterator", + "resultType": "PrivateConnectionIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListClusters", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListClusters", + "shortName": "ListPrivateConnections", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1115,21 +2725,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListHcxActivationKeys_sync", - "title": "vmwareengine ListHcxActivationKeys Sample", - "description": "ListHcxActivationKeys lists `HcxActivationKey` resources in a given private cloud.", - "file": "Client/ListHcxActivationKeys/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListSubnets_sync", + "title": "vmwareengine ListSubnets Sample", + "description": "ListSubnets lists subnets in a given private cloud.", + "file": "Client/ListSubnets/main.go", "language": "GO", "clientMethod": { - "shortName": "ListHcxActivationKeys", - "fullName": "google.cloud.vmwareengine.v1.Client.ListHcxActivationKeys", + "shortName": "ListSubnets", + "fullName": "google.cloud.vmwareengine.v1.Client.ListSubnets", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListHcxActivationKeysRequest", + "type": "vmwareenginepb.ListSubnetsRequest", "name": "req" }, { @@ -1137,14 +2747,14 @@ "name": "opts" } ], - "resultType": "HcxActivationKeyIterator", + "resultType": "SubnetIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListHcxActivationKeys", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys", + "shortName": "ListSubnets", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1161,21 +2771,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListLocations_sync", - "title": "vmwareengine ListLocations Sample", - "description": "ListLocations lists information about the supported locations for this service.", - "file": "Client/ListLocations/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListVmwareEngineNetworks_sync", + "title": "vmwareengine ListVmwareEngineNetworks Sample", + "description": "ListVmwareEngineNetworks lists `VmwareEngineNetwork` resources in a given project and location.", + "file": "Client/ListVmwareEngineNetworks/main.go", "language": "GO", "clientMethod": { - "shortName": "ListLocations", - "fullName": "google.cloud.vmwareengine.v1.Client.ListLocations", + "shortName": "ListVmwareEngineNetworks", + "fullName": "google.cloud.vmwareengine.v1.Client.ListVmwareEngineNetworks", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "locationpb.ListLocationsRequest", + "type": "vmwareenginepb.ListVmwareEngineNetworksRequest", "name": "req" }, { @@ -1183,17 +2793,17 @@ "name": "opts" } ], - "resultType": "LocationIterator", + "resultType": "VmwareEngineNetworkIterator", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListLocations", - "fullName": "google.cloud.location.Locations.ListLocations", + "shortName": "ListVmwareEngineNetworks", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks", "service": { - "shortName": "Locations", - "fullName": "google.cloud.location.Locations" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -1207,21 +2817,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNetworkPolicies_sync", - "title": "vmwareengine ListNetworkPolicies Sample", - "description": "ListNetworkPolicies lists `NetworkPolicy` resources in a specified project and location.", - "file": "Client/ListNetworkPolicies/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_RepairManagementDnsZoneBinding_sync", + "title": "vmwareengine RepairManagementDnsZoneBinding Sample", + "description": "RepairManagementDnsZoneBinding retries to create a `ManagementDnsZoneBinding` resource that is\nin failed state.", + "file": "Client/RepairManagementDnsZoneBinding/main.go", "language": "GO", "clientMethod": { - "shortName": "ListNetworkPolicies", - "fullName": "google.cloud.vmwareengine.v1.Client.ListNetworkPolicies", + "shortName": "RepairManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.Client.RepairManagementDnsZoneBinding", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListNetworkPoliciesRequest", + "type": "vmwareenginepb.RepairManagementDnsZoneBindingRequest", "name": "req" }, { @@ -1229,14 +2839,14 @@ "name": "opts" } ], - "resultType": "NetworkPolicyIterator", + "resultType": "RepairManagementDnsZoneBindingOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListNetworkPolicies", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies", + "shortName": "RepairManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.RepairManagementDnsZoneBinding", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1247,27 +2857,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListNodeTypes_sync", - "title": "vmwareengine ListNodeTypes Sample", - "description": "ListNodeTypes lists node types", - "file": "Client/ListNodeTypes/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ResetNsxCredentials_sync", + "title": "vmwareengine ResetNsxCredentials Sample", + "description": "ResetNsxCredentials resets credentials of the NSX appliance.", + "file": "Client/ResetNsxCredentials/main.go", "language": "GO", "clientMethod": { - "shortName": "ListNodeTypes", - "fullName": "google.cloud.vmwareengine.v1.Client.ListNodeTypes", + "shortName": "ResetNsxCredentials", + "fullName": "google.cloud.vmwareengine.v1.Client.ResetNsxCredentials", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListNodeTypesRequest", + "type": "vmwareenginepb.ResetNsxCredentialsRequest", "name": "req" }, { @@ -1275,14 +2885,14 @@ "name": "opts" } ], - "resultType": "NodeTypeIterator", + "resultType": "ResetNsxCredentialsOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListNodeTypes", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes", + "shortName": "ResetNsxCredentials", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1293,27 +2903,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListOperations_sync", - "title": "vmwareengine ListOperations Sample", - "description": "ListOperations is a utility method from google.longrunning.Operations.", - "file": "Client/ListOperations/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ResetVcenterCredentials_sync", + "title": "vmwareengine ResetVcenterCredentials Sample", + "description": "ResetVcenterCredentials resets credentials of the Vcenter appliance.", + "file": "Client/ResetVcenterCredentials/main.go", "language": "GO", "clientMethod": { - "shortName": "ListOperations", - "fullName": "google.cloud.vmwareengine.v1.Client.ListOperations", + "shortName": "ResetVcenterCredentials", + "fullName": "google.cloud.vmwareengine.v1.Client.ResetVcenterCredentials", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "longrunningpb.ListOperationsRequest", + "type": "vmwareenginepb.ResetVcenterCredentialsRequest", "name": "req" }, { @@ -1321,17 +2931,17 @@ "name": "opts" } ], - "resultType": "OperationIterator", + "resultType": "ResetVcenterCredentialsOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListOperations", - "fullName": "google.longrunning.Operations.ListOperations", + "shortName": "ResetVcenterCredentials", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials", "service": { - "shortName": "Operations", - "fullName": "google.longrunning.Operations" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -1339,27 +2949,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateClouds_sync", - "title": "vmwareengine ListPrivateClouds Sample", - "description": "ListPrivateClouds lists `PrivateCloud` resources in a given project and location.", - "file": "Client/ListPrivateClouds/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_RevokeDnsBindPermission_sync", + "title": "vmwareengine RevokeDnsBindPermission Sample", + "description": "RevokeDnsBindPermission revokes the bind permission from the customer provided principal(user /\nservice account) on the intranet VPC associated with the consumer project.\nDnsBindPermission is a global resource and location can only be global.", + "file": "Client/RevokeDnsBindPermission/main.go", "language": "GO", "clientMethod": { - "shortName": "ListPrivateClouds", - "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateClouds", + "shortName": "RevokeDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.Client.RevokeDnsBindPermission", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListPrivateCloudsRequest", + "type": "vmwareenginepb.RevokeDnsBindPermissionRequest", "name": "req" }, { @@ -1367,14 +2977,14 @@ "name": "opts" } ], - "resultType": "PrivateCloudIterator", + "resultType": "RevokeDnsBindPermissionOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListPrivateClouds", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds", + "shortName": "RevokeDnsBindPermission", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1385,27 +2995,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateConnectionPeeringRoutes_sync", - "title": "vmwareengine ListPrivateConnectionPeeringRoutes Sample", - "description": "ListPrivateConnectionPeeringRoutes lists the private connection routes exchanged over a peering connection.", - "file": "Client/ListPrivateConnectionPeeringRoutes/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_SetIamPolicy_sync", + "title": "vmwareengine 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": "Client/SetIamPolicy/main.go", "language": "GO", "clientMethod": { - "shortName": "ListPrivateConnectionPeeringRoutes", - "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateConnectionPeeringRoutes", + "shortName": "SetIamPolicy", + "fullName": "google.cloud.vmwareengine.v1.Client.SetIamPolicy", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest", + "type": "iampb.SetIamPolicyRequest", "name": "req" }, { @@ -1413,17 +3023,17 @@ "name": "opts" } ], - "resultType": "PeeringRouteIterator", + "resultType": "*iampb.Policy", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListPrivateConnectionPeeringRoutes", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes", + "shortName": "SetIamPolicy", + "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", "service": { - "shortName": "VmwareEngine", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -1431,27 +3041,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListPrivateConnections_sync", - "title": "vmwareengine ListPrivateConnections Sample", - "description": "ListPrivateConnections lists `PrivateConnection` resources in a given project and location.", - "file": "Client/ListPrivateConnections/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ShowNsxCredentials_sync", + "title": "vmwareengine ShowNsxCredentials Sample", + "description": "ShowNsxCredentials gets details of credentials for NSX appliance.", + "file": "Client/ShowNsxCredentials/main.go", "language": "GO", "clientMethod": { - "shortName": "ListPrivateConnections", - "fullName": "google.cloud.vmwareengine.v1.Client.ListPrivateConnections", + "shortName": "ShowNsxCredentials", + "fullName": "google.cloud.vmwareengine.v1.Client.ShowNsxCredentials", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListPrivateConnectionsRequest", + "type": "vmwareenginepb.ShowNsxCredentialsRequest", "name": "req" }, { @@ -1459,14 +3069,14 @@ "name": "opts" } ], - "resultType": "PrivateConnectionIterator", + "resultType": "*vmwareenginepb.Credentials", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListPrivateConnections", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections", + "shortName": "ShowNsxCredentials", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1477,27 +3087,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListSubnets_sync", - "title": "vmwareengine ListSubnets Sample", - "description": "ListSubnets lists subnets in a given private cloud.", - "file": "Client/ListSubnets/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_ShowVcenterCredentials_sync", + "title": "vmwareengine ShowVcenterCredentials Sample", + "description": "ShowVcenterCredentials gets details of credentials for Vcenter appliance.", + "file": "Client/ShowVcenterCredentials/main.go", "language": "GO", "clientMethod": { - "shortName": "ListSubnets", - "fullName": "google.cloud.vmwareengine.v1.Client.ListSubnets", + "shortName": "ShowVcenterCredentials", + "fullName": "google.cloud.vmwareengine.v1.Client.ShowVcenterCredentials", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListSubnetsRequest", + "type": "vmwareenginepb.ShowVcenterCredentialsRequest", "name": "req" }, { @@ -1505,14 +3115,14 @@ "name": "opts" } ], - "resultType": "SubnetIterator", + "resultType": "*vmwareenginepb.Credentials", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListSubnets", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets", + "shortName": "ShowVcenterCredentials", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1523,27 +3133,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ListVmwareEngineNetworks_sync", - "title": "vmwareengine ListVmwareEngineNetworks Sample", - "description": "ListVmwareEngineNetworks lists `VmwareEngineNetwork` resources in a given project and location.", - "file": "Client/ListVmwareEngineNetworks/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_TestIamPermissions_sync", + "title": "vmwareengine 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": "Client/TestIamPermissions/main.go", "language": "GO", "clientMethod": { - "shortName": "ListVmwareEngineNetworks", - "fullName": "google.cloud.vmwareengine.v1.Client.ListVmwareEngineNetworks", + "shortName": "TestIamPermissions", + "fullName": "google.cloud.vmwareengine.v1.Client.TestIamPermissions", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ListVmwareEngineNetworksRequest", + "type": "iampb.TestIamPermissionsRequest", "name": "req" }, { @@ -1551,17 +3161,17 @@ "name": "opts" } ], - "resultType": "VmwareEngineNetworkIterator", + "resultType": "*iampb.TestIamPermissionsResponse", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ListVmwareEngineNetworks", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks", + "shortName": "TestIamPermissions", + "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", "service": { - "shortName": "VmwareEngine", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" + "shortName": "IAMPolicy", + "fullName": "google.iam.v1.IAMPolicy" } } }, @@ -1569,27 +3179,27 @@ "segments": [ { "start": 18, - "end": 60, + "end": 53, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ResetNsxCredentials_sync", - "title": "vmwareengine ResetNsxCredentials Sample", - "description": "ResetNsxCredentials resets credentials of the NSX appliance.", - "file": "Client/ResetNsxCredentials/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UndeletePrivateCloud_sync", + "title": "vmwareengine UndeletePrivateCloud Sample", + "description": "UndeletePrivateCloud restores a private cloud that was previously scheduled for deletion by\n`DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has\n`PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to\nthe time when deletion can no longer be reversed.", + "file": "Client/UndeletePrivateCloud/main.go", "language": "GO", "clientMethod": { - "shortName": "ResetNsxCredentials", - "fullName": "google.cloud.vmwareengine.v1.Client.ResetNsxCredentials", + "shortName": "UndeletePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.Client.UndeletePrivateCloud", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ResetNsxCredentialsRequest", + "type": "vmwareenginepb.UndeletePrivateCloudRequest", "name": "req" }, { @@ -1597,14 +3207,14 @@ "name": "opts" } ], - "resultType": "ResetNsxCredentialsOperation", + "resultType": "UndeletePrivateCloudOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ResetNsxCredentials", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials", + "shortName": "UndeletePrivateCloud", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1621,21 +3231,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ResetVcenterCredentials_sync", - "title": "vmwareengine ResetVcenterCredentials Sample", - "description": "ResetVcenterCredentials resets credentials of the Vcenter appliance.", - "file": "Client/ResetVcenterCredentials/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateCluster_sync", + "title": "vmwareengine UpdateCluster Sample", + "description": "UpdateCluster modifies a `Cluster` resource. Only fields specified in `updateMask` are\napplied.\n\nDuring operation processing, the resource is temporarily in the `ACTIVE`\nstate before the operation fully completes. For that period of time, you\ncan't update the resource. Use the operation status to determine when the\nprocessing fully completes.", + "file": "Client/UpdateCluster/main.go", "language": "GO", "clientMethod": { - "shortName": "ResetVcenterCredentials", - "fullName": "google.cloud.vmwareengine.v1.Client.ResetVcenterCredentials", + "shortName": "UpdateCluster", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateCluster", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ResetVcenterCredentialsRequest", + "type": "vmwareenginepb.UpdateClusterRequest", "name": "req" }, { @@ -1643,14 +3253,14 @@ "name": "opts" } ], - "resultType": "ResetVcenterCredentialsOperation", + "resultType": "UpdateClusterOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ResetVcenterCredentials", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials", + "shortName": "UpdateCluster", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1667,21 +3277,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_SetIamPolicy_sync", - "title": "vmwareengine 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": "Client/SetIamPolicy/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateDnsForwarding_sync", + "title": "vmwareengine UpdateDnsForwarding Sample", + "description": "UpdateDnsForwarding updates the parameters of the `DnsForwarding` config, like associated\ndomains. Only fields specified in `update_mask` are applied.", + "file": "Client/UpdateDnsForwarding/main.go", "language": "GO", "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.vmwareengine.v1.Client.SetIamPolicy", + "shortName": "UpdateDnsForwarding", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateDnsForwarding", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.SetIamPolicyRequest", + "type": "vmwareenginepb.UpdateDnsForwardingRequest", "name": "req" }, { @@ -1689,17 +3299,17 @@ "name": "opts" } ], - "resultType": "*iampb.Policy", + "resultType": "UpdateDnsForwardingOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "SetIamPolicy", - "fullName": "google.iam.v1.IAMPolicy.SetIamPolicy", + "shortName": "UpdateDnsForwarding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -1707,27 +3317,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ShowNsxCredentials_sync", - "title": "vmwareengine ShowNsxCredentials Sample", - "description": "ShowNsxCredentials gets details of credentials for NSX appliance.", - "file": "Client/ShowNsxCredentials/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateExternalAccessRule_sync", + "title": "vmwareengine UpdateExternalAccessRule Sample", + "description": "UpdateExternalAccessRule updates the parameters of a single external access rule.\nOnly fields specified in `update_mask` are applied.", + "file": "Client/UpdateExternalAccessRule/main.go", "language": "GO", "clientMethod": { - "shortName": "ShowNsxCredentials", - "fullName": "google.cloud.vmwareengine.v1.Client.ShowNsxCredentials", + "shortName": "UpdateExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateExternalAccessRule", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ShowNsxCredentialsRequest", + "type": "vmwareenginepb.UpdateExternalAccessRuleRequest", "name": "req" }, { @@ -1735,14 +3345,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.Credentials", + "resultType": "UpdateExternalAccessRuleOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ShowNsxCredentials", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials", + "shortName": "UpdateExternalAccessRule", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1753,27 +3363,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_ShowVcenterCredentials_sync", - "title": "vmwareengine ShowVcenterCredentials Sample", - "description": "ShowVcenterCredentials gets details of credentials for Vcenter appliance.", - "file": "Client/ShowVcenterCredentials/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateExternalAddress_sync", + "title": "vmwareengine UpdateExternalAddress Sample", + "description": "UpdateExternalAddress updates the parameters of a single external IP address.\nOnly fields specified in `update_mask` are applied.\n\nDuring operation processing, the resource is temporarily in the `ACTIVE`\nstate before the operation fully completes. For that period of time, you\ncan't update the resource. Use the operation status to determine when the\nprocessing fully completes.", + "file": "Client/UpdateExternalAddress/main.go", "language": "GO", "clientMethod": { - "shortName": "ShowVcenterCredentials", - "fullName": "google.cloud.vmwareengine.v1.Client.ShowVcenterCredentials", + "shortName": "UpdateExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateExternalAddress", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.ShowVcenterCredentialsRequest", + "type": "vmwareenginepb.UpdateExternalAddressRequest", "name": "req" }, { @@ -1781,14 +3391,14 @@ "name": "opts" } ], - "resultType": "*vmwareenginepb.Credentials", + "resultType": "UpdateExternalAddressOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "ShowVcenterCredentials", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials", + "shortName": "UpdateExternalAddress", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1799,27 +3409,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_TestIamPermissions_sync", - "title": "vmwareengine 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": "Client/TestIamPermissions/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateLoggingServer_sync", + "title": "vmwareengine UpdateLoggingServer Sample", + "description": "UpdateLoggingServer updates the parameters of a single logging server.\nOnly fields specified in `update_mask` are applied.", + "file": "Client/UpdateLoggingServer/main.go", "language": "GO", "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.vmwareengine.v1.Client.TestIamPermissions", + "shortName": "UpdateLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateLoggingServer", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "iampb.TestIamPermissionsRequest", + "type": "vmwareenginepb.UpdateLoggingServerRequest", "name": "req" }, { @@ -1827,17 +3437,17 @@ "name": "opts" } ], - "resultType": "*iampb.TestIamPermissionsResponse", + "resultType": "UpdateLoggingServerOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "TestIamPermissions", - "fullName": "google.iam.v1.IAMPolicy.TestIamPermissions", + "shortName": "UpdateLoggingServer", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer", "service": { - "shortName": "IAMPolicy", - "fullName": "google.iam.v1.IAMPolicy" + "shortName": "VmwareEngine", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" } } }, @@ -1845,27 +3455,27 @@ "segments": [ { "start": 18, - "end": 53, + "end": 58, "type": "FULL" } ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_UndeletePrivateCloud_sync", - "title": "vmwareengine UndeletePrivateCloud Sample", - "description": "UndeletePrivateCloud restores a private cloud that was previously scheduled for deletion by\n`DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has\n`PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to\nthe time when deletion can no longer be reversed.", - "file": "Client/UndeletePrivateCloud/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateManagementDnsZoneBinding_sync", + "title": "vmwareengine UpdateManagementDnsZoneBinding Sample", + "description": "UpdateManagementDnsZoneBinding updates a `ManagementDnsZoneBinding` resource.\nOnly fields specified in `update_mask` are applied.", + "file": "Client/UpdateManagementDnsZoneBinding/main.go", "language": "GO", "clientMethod": { - "shortName": "UndeletePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.Client.UndeletePrivateCloud", + "shortName": "UpdateManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateManagementDnsZoneBinding", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.UndeletePrivateCloudRequest", + "type": "vmwareenginepb.UpdateManagementDnsZoneBindingRequest", "name": "req" }, { @@ -1873,14 +3483,14 @@ "name": "opts" } ], - "resultType": "UndeletePrivateCloudOperation", + "resultType": "UpdateManagementDnsZoneBindingOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "UndeletePrivateCloud", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud", + "shortName": "UpdateManagementDnsZoneBinding", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" @@ -1897,21 +3507,21 @@ ] }, { - "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateCluster_sync", - "title": "vmwareengine UpdateCluster Sample", - "description": "UpdateCluster modifies a `Cluster` resource. Only the following fields can be updated: \n`node_type_configs.*.node_count`. Only fields specified in `updateMask` are\napplied.\n\nDuring operation processing, the resource is temporarily in the `ACTIVE`\nstate before the operation fully completes. For that period of time, you\ncan't update the resource. Use the operation status to determine when the\nprocessing fully completes.", - "file": "Client/UpdateCluster/main.go", + "regionTag": "vmwareengine_v1_generated_VmwareEngine_UpdateNetworkPeering_sync", + "title": "vmwareengine UpdateNetworkPeering Sample", + "description": "UpdateNetworkPeering modifies a `NetworkPeering` resource. Only the `description` field can be\nupdated. Only fields specified in `updateMask` are applied. NetworkPeering\nis a global resource and location can only be global.", + "file": "Client/UpdateNetworkPeering/main.go", "language": "GO", "clientMethod": { - "shortName": "UpdateCluster", - "fullName": "google.cloud.vmwareengine.v1.Client.UpdateCluster", + "shortName": "UpdateNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.Client.UpdateNetworkPeering", "parameters": [ { "type": "context.Context", "name": "ctx" }, { - "type": "vmwareenginepb.UpdateClusterRequest", + "type": "vmwareenginepb.UpdateNetworkPeeringRequest", "name": "req" }, { @@ -1919,14 +3529,14 @@ "name": "opts" } ], - "resultType": "UpdateClusterOperation", + "resultType": "UpdateNetworkPeeringOperation", "client": { "shortName": "Client", "fullName": "google.cloud.vmwareengine.v1.Client" }, "method": { - "shortName": "UpdateCluster", - "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster", + "shortName": "UpdateNetworkPeering", + "fullName": "google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering", "service": { "shortName": "VmwareEngine", "fullName": "google.cloud.vmwareengine.v1.VmwareEngine" diff --git a/retail/apiv2alpha/analytics_client.go b/retail/apiv2alpha/analytics_client.go new file mode 100755 index 000000000000..0e0296724114 --- /dev/null +++ b/retail/apiv2alpha/analytics_client.go @@ -0,0 +1,706 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package retail + +import ( + "bytes" + "context" + "fmt" + "io" + "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/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newAnalyticsClientHook clientHook + +// AnalyticsCallOptions contains the retry settings for each method of AnalyticsClient. +type AnalyticsCallOptions struct { + ExportAnalyticsMetrics []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultAnalyticsGRPCClientOptions() []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 defaultAnalyticsCallOptions() *AnalyticsCallOptions { + return &AnalyticsCallOptions{ + ExportAnalyticsMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithTimeout(300000 * time.Millisecond), + 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 defaultAnalyticsRESTCallOptions() *AnalyticsCallOptions { + return &AnalyticsCallOptions{ + ExportAnalyticsMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithTimeout(300000 * time.Millisecond), + 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) + }), + }, + } +} + +// internalAnalyticsClient is an interface that defines the methods available from Retail API. +type internalAnalyticsClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ExportAnalyticsMetrics(context.Context, *retailpb.ExportAnalyticsMetricsRequest, ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) + ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// AnalyticsClient 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. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +type AnalyticsClient struct { + // The internal transport-dependent client. + internalClient internalAnalyticsClient + + // The call options for this service. + CallOptions *AnalyticsCallOptions + + // 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 *AnalyticsClient) 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 *AnalyticsClient) 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 *AnalyticsClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ExportAnalyticsMetrics exports analytics metrics. +// +// Operation.response is of type ExportAnalyticsMetricsResponse. +// Operation.metadata is of type ExportMetadata. +func (c *AnalyticsClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) { + return c.internalClient.ExportAnalyticsMetrics(ctx, req, opts...) +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *AnalyticsClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + return c.internalClient.ExportAnalyticsMetricsOperation(name) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *AnalyticsClient) 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 *AnalyticsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// analyticsGRPCClient 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 analyticsGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing AnalyticsClient + CallOptions **AnalyticsCallOptions + + // The gRPC API client. + analyticsClient retailpb.AnalyticsServiceClient + + // 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. + xGoogHeaders []string +} + +// NewAnalyticsClient creates a new analytics service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +func NewAnalyticsClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsClient, error) { + clientOpts := defaultAnalyticsGRPCClientOptions() + if newAnalyticsClientHook != nil { + hookOpts, err := newAnalyticsClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := AnalyticsClient{CallOptions: defaultAnalyticsCallOptions()} + + c := &analyticsGRPCClient{ + connPool: connPool, + analyticsClient: retailpb.NewAnalyticsServiceClient(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 *analyticsGRPCClient) 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 *analyticsGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *analyticsGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type analyticsRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing AnalyticsClient + CallOptions **AnalyticsCallOptions +} + +// NewAnalyticsRESTClient creates a new analytics service rest client. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +func NewAnalyticsRESTClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsClient, error) { + clientOpts := append(defaultAnalyticsRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultAnalyticsRESTCallOptions() + c := &analyticsRESTClient{ + 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 &AnalyticsClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultAnalyticsRESTClientOptions() []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 *analyticsRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *analyticsRESTClient) 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 *analyticsRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *analyticsGRPCClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "catalog", url.QueryEscape(req.GetCatalog()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ExportAnalyticsMetrics[0:len((*c.CallOptions).ExportAnalyticsMetrics):len((*c.CallOptions).ExportAnalyticsMetrics)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsClient.ExportAnalyticsMetrics(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *analyticsGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *analyticsGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ExportAnalyticsMetrics exports analytics metrics. +// +// Operation.response is of type ExportAnalyticsMetricsResponse. +// Operation.metadata is of type ExportMetadata. +func (c *analyticsRESTClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, 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("/v2alpha/%v:exportAnalyticsMetrics", req.GetCatalog()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "catalog", url.QueryEscape(req.GetCatalog()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v2alpha/%s", resp.GetName()) + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *analyticsRESTClient) 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *analyticsRESTClient) 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. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *analyticsGRPCClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *analyticsRESTClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + override := fmt.Sprintf("/v2alpha/%s", name) + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/retail/apiv2alpha/analytics_client_example_test.go b/retail/apiv2alpha/analytics_client_example_test.go new file mode 100644 index 000000000000..e05df01aa8a4 --- /dev/null +++ b/retail/apiv2alpha/analytics_client_example_test.go @@ -0,0 +1,146 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package 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 ExampleNewAnalyticsClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewAnalyticsRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleAnalyticsClient_ExportAnalyticsMetrics() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ExportAnalyticsMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#ExportAnalyticsMetricsRequest. + } + op, err := c.ExportAnalyticsMetrics(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAnalyticsClient_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.NewAnalyticsClient(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 ExampleAnalyticsClient_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.NewAnalyticsClient(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/auxiliary.go b/retail/apiv2alpha/auxiliary.go index a7ba8d381067..b7f6c20f5397 100755 --- a/retail/apiv2alpha/auxiliary.go +++ b/retail/apiv2alpha/auxiliary.go @@ -283,6 +283,70 @@ func (op *CreateModelOperation) Name() string { return op.lro.Name() } +// ExportAnalyticsMetricsOperation manages a long-running operation from ExportAnalyticsMetrics. +type ExportAnalyticsMetricsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ExportAnalyticsMetricsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*retailpb.ExportAnalyticsMetricsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.ExportAnalyticsMetricsResponse + 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 *ExportAnalyticsMetricsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*retailpb.ExportAnalyticsMetricsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.ExportAnalyticsMetricsResponse + 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 *ExportAnalyticsMetricsOperation) Metadata() (*retailpb.ExportMetadata, error) { + var meta retailpb.ExportMetadata + 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 *ExportAnalyticsMetricsOperation) 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 *ExportAnalyticsMetricsOperation) Name() string { + return op.lro.Name() +} + // ImportCompletionDataOperation manages a long-running operation from ImportCompletionData. type ImportCompletionDataOperation struct { lro *longrunning.Operation diff --git a/retail/apiv2alpha/doc.go b/retail/apiv2alpha/doc.go index 7255e98669fa..a3d3dfed0449 100755 --- a/retail/apiv2alpha/doc.go +++ b/retail/apiv2alpha/doc.go @@ -45,7 +45,7 @@ // // - It may require correct/in-range values for request initialization. // // - It may require 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.NewCatalogClient(ctx) +// c, err := retail.NewAnalyticsClient(ctx) // if err != nil { // // TODO: Handle error. // } @@ -65,17 +65,22 @@ // // - It may require correct/in-range values for request initialization. // // - It may require 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.NewCatalogClient(ctx) +// c, err := retail.NewAnalyticsClient(ctx) // if err != nil { // // TODO: Handle error. // } // defer c.Close() // -// req := &retailpb.AddCatalogAttributeRequest{ +// req := &retailpb.ExportAnalyticsMetricsRequest{ // // TODO: Fill request struct fields. -// // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#AddCatalogAttributeRequest. +// // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2alpha/retailpb#ExportAnalyticsMetricsRequest. // } -// resp, err := c.AddCatalogAttribute(ctx, req) +// op, err := c.ExportAnalyticsMetrics(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// +// resp, err := op.Wait(ctx) // if err != nil { // // TODO: Handle error. // } @@ -84,7 +89,7 @@ // // # Use of Context // -// The ctx passed to NewCatalogClient is used for authentication requests and +// The ctx passed to NewAnalyticsClient 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. // diff --git a/retail/apiv2alpha/gapic_metadata.json b/retail/apiv2alpha/gapic_metadata.json index c7946fbd6c62..ca2303643f01 100644 --- a/retail/apiv2alpha/gapic_metadata.json +++ b/retail/apiv2alpha/gapic_metadata.json @@ -5,6 +5,50 @@ "protoPackage": "google.cloud.retail.v2alpha", "libraryPackage": "cloud.google.com/go/retail/apiv2alpha", "services": { + "AnalyticsService": { + "clients": { + "grpc": { + "libraryClient": "AnalyticsClient", + "rpcs": { + "ExportAnalyticsMetrics": { + "methods": [ + "ExportAnalyticsMetrics" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + }, + "rest": { + "libraryClient": "AnalyticsClient", + "rpcs": { + "ExportAnalyticsMetrics": { + "methods": [ + "ExportAnalyticsMetrics" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + } + } + }, "CatalogService": { "clients": { "grpc": { diff --git a/retail/apiv2alpha/retailpb/analytics_service.pb.go b/retail/apiv2alpha/retailpb/analytics_service.pb.go new file mode 100755 index 000000000000..3b1ec2a00456 --- /dev/null +++ b/retail/apiv2alpha/retailpb/analytics_service.pb.go @@ -0,0 +1,231 @@ +// 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.31.0 +// protoc v4.23.2 +// source: google/cloud/retail/v2alpha/analytics_service.proto + +package retailpb + +import ( + context "context" + reflect "reflect" + + 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" +) + +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) +) + +var File_google_cloud_retail_v2alpha_analytics_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_analytics_service_proto_rawDesc = []byte{ + 0x0a, 0x33, 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, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 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, 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, 0x65, 0x78, 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, 0x32, 0x97, 0x03, 0x0a, 0x10, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xb7, 0x02, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0x68, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x01, 0x2a, 0x22, 0x4b, 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, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0xd9, 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, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 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_analytics_service_proto_goTypes = []interface{}{ + (*ExportAnalyticsMetricsRequest)(nil), // 0: google.cloud.retail.v2alpha.ExportAnalyticsMetricsRequest + (*longrunningpb.Operation)(nil), // 1: google.longrunning.Operation +} +var file_google_cloud_retail_v2alpha_analytics_service_proto_depIdxs = []int32{ + 0, // 0: google.cloud.retail.v2alpha.AnalyticsService.ExportAnalyticsMetrics:input_type -> google.cloud.retail.v2alpha.ExportAnalyticsMetricsRequest + 1, // 1: google.cloud.retail.v2alpha.AnalyticsService.ExportAnalyticsMetrics:output_type -> google.longrunning.Operation + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_analytics_service_proto_init() } +func file_google_cloud_retail_v2alpha_analytics_service_proto_init() { + if File_google_cloud_retail_v2alpha_analytics_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_export_config_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_analytics_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_analytics_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_analytics_service_proto_depIdxs, + }.Build() + File_google_cloud_retail_v2alpha_analytics_service_proto = out.File + file_google_cloud_retail_v2alpha_analytics_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_analytics_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_analytics_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 + +// AnalyticsServiceClient is the client API for AnalyticsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type AnalyticsServiceClient interface { + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + ExportAnalyticsMetrics(ctx context.Context, in *ExportAnalyticsMetricsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type analyticsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAnalyticsServiceClient(cc grpc.ClientConnInterface) AnalyticsServiceClient { + return &analyticsServiceClient{cc} +} + +func (c *analyticsServiceClient) ExportAnalyticsMetrics(ctx context.Context, in *ExportAnalyticsMetricsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.AnalyticsService/ExportAnalyticsMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AnalyticsServiceServer is the server API for AnalyticsService service. +type AnalyticsServiceServer interface { + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + ExportAnalyticsMetrics(context.Context, *ExportAnalyticsMetricsRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedAnalyticsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedAnalyticsServiceServer struct { +} + +func (*UnimplementedAnalyticsServiceServer) ExportAnalyticsMetrics(context.Context, *ExportAnalyticsMetricsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportAnalyticsMetrics not implemented") +} + +func RegisterAnalyticsServiceServer(s *grpc.Server, srv AnalyticsServiceServer) { + s.RegisterService(&_AnalyticsService_serviceDesc, srv) +} + +func _AnalyticsService_ExportAnalyticsMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportAnalyticsMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsServiceServer).ExportAnalyticsMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.AnalyticsService/ExportAnalyticsMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsServiceServer).ExportAnalyticsMetrics(ctx, req.(*ExportAnalyticsMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _AnalyticsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.AnalyticsService", + HandlerType: (*AnalyticsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExportAnalyticsMetrics", + Handler: _AnalyticsService_ExportAnalyticsMetrics_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/analytics_service.proto", +} diff --git a/retail/apiv2alpha/retailpb/export_config.pb.go b/retail/apiv2alpha/retailpb/export_config.pb.go index 6bcd49a24733..833888c42987 100755 --- a/retail/apiv2alpha/retailpb/export_config.pb.go +++ b/retail/apiv2alpha/retailpb/export_config.pb.go @@ -38,6 +38,91 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// The output configuration setting. +type OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration of destination for holding output data. + // + // Types that are assignable to Destination: + // *OutputConfig_GcsDestination_ + // *OutputConfig_BigqueryDestination + Destination isOutputConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *OutputConfig) Reset() { + *x = OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig) ProtoMessage() {} + +func (x *OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. +func (*OutputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0} +} + +func (m *OutputConfig) GetDestination() isOutputConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *OutputConfig) GetGcsDestination() *OutputConfig_GcsDestination { + if x, ok := x.GetDestination().(*OutputConfig_GcsDestination_); ok { + return x.GcsDestination + } + return nil +} + +func (x *OutputConfig) GetBigqueryDestination() *OutputConfig_BigQueryDestination { + if x, ok := x.GetDestination().(*OutputConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +type isOutputConfig_Destination interface { + isOutputConfig_Destination() +} + +type OutputConfig_GcsDestination_ struct { + // The Google Cloud Storage location where the output is to be written to. + GcsDestination *OutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +type OutputConfig_BigqueryDestination struct { + // The BigQuery location where the output is to be written to. + BigqueryDestination *OutputConfig_BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +func (*OutputConfig_GcsDestination_) isOutputConfig_Destination() {} + +func (*OutputConfig_BigqueryDestination) isOutputConfig_Destination() {} + // Configuration of destination for Export related errors. type ExportErrorsConfig struct { state protoimpl.MessageState @@ -54,7 +139,7 @@ type ExportErrorsConfig struct { func (x *ExportErrorsConfig) Reset() { *x = ExportErrorsConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67,7 +152,7 @@ func (x *ExportErrorsConfig) String() string { func (*ExportErrorsConfig) ProtoMessage() {} func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80,7 +165,7 @@ func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportErrorsConfig.ProtoReflect.Descriptor instead. func (*ExportErrorsConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{1} } func (m *ExportErrorsConfig) GetDestination() isExportErrorsConfig_Destination { @@ -111,6 +196,90 @@ type ExportErrorsConfig_GcsPrefix struct { func (*ExportErrorsConfig_GcsPrefix) isExportErrorsConfig_Destination() {} +// Request message for the `ExportAnalyticsMetrics` method. +type ExportAnalyticsMetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the parent catalog. + // Expected format: `projects/*/locations/*/catalogs/*` + Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + // Required. The output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // A filtering expression to specify restrictions on returned metrics. + // The expression is a sequence of terms. Each term applies a restriction to + // the returned metrics. Use this expression to restrict results to a + // specific time range. + // + // Currently we expect only one types of fields: + // + // * `timestamp`: This can be specified twice, once with a + // less than operator and once with a greater than operator. The + // `timestamp` restriction should result in one, contiguous, valid, + // `timestamp` range. + // + // Some examples of valid filters expressions: + // + // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" + // timestamp < "2012-04-23T18:30:43.511Z"` + // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportAnalyticsMetricsRequest) Reset() { + *x = ExportAnalyticsMetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportAnalyticsMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAnalyticsMetricsRequest) ProtoMessage() {} + +func (x *ExportAnalyticsMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_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 ExportAnalyticsMetricsRequest.ProtoReflect.Descriptor instead. +func (*ExportAnalyticsMetricsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ExportAnalyticsMetricsRequest) GetCatalog() string { + if x != nil { + return x.Catalog + } + return "" +} + +func (x *ExportAnalyticsMetricsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportAnalyticsMetricsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + // Metadata related to the progress of the Export operation. This is // returned by the google.longrunning.Operation.metadata field. type ExportMetadata struct { @@ -128,7 +297,7 @@ type ExportMetadata struct { func (x *ExportMetadata) Reset() { *x = ExportMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -141,7 +310,7 @@ func (x *ExportMetadata) String() string { func (*ExportMetadata) ProtoMessage() {} func (x *ExportMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -154,7 +323,7 @@ func (x *ExportMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportMetadata.ProtoReflect.Descriptor instead. func (*ExportMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{1} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{3} } func (x *ExportMetadata) GetCreateTime() *timestamppb.Timestamp { @@ -190,7 +359,7 @@ type ExportProductsResponse struct { func (x *ExportProductsResponse) Reset() { *x = ExportProductsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -203,7 +372,7 @@ func (x *ExportProductsResponse) String() string { func (*ExportProductsResponse) ProtoMessage() {} func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -216,7 +385,7 @@ func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportProductsResponse.ProtoReflect.Descriptor instead. func (*ExportProductsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{2} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{4} } func (x *ExportProductsResponse) GetErrorSamples() []*status.Status { @@ -259,7 +428,7 @@ type ExportUserEventsResponse struct { func (x *ExportUserEventsResponse) Reset() { *x = ExportUserEventsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -272,7 +441,7 @@ func (x *ExportUserEventsResponse) String() string { func (*ExportUserEventsResponse) ProtoMessage() {} func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -285,7 +454,7 @@ func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportUserEventsResponse.ProtoReflect.Descriptor instead. func (*ExportUserEventsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{3} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{5} } func (x *ExportUserEventsResponse) GetErrorSamples() []*status.Status { @@ -309,6 +478,75 @@ func (x *ExportUserEventsResponse) GetOutputResult() *OutputResult { return nil } +// Response of the ExportAnalyticsMetricsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportAnalyticsMetricsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // This field is never set. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Output result indicating where the data were exported to. + OutputResult *OutputResult `protobuf:"bytes,3,opt,name=output_result,json=outputResult,proto3" json:"output_result,omitempty"` +} + +func (x *ExportAnalyticsMetricsResponse) Reset() { + *x = ExportAnalyticsMetricsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportAnalyticsMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAnalyticsMetricsResponse) ProtoMessage() {} + +func (x *ExportAnalyticsMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_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 ExportAnalyticsMetricsResponse.ProtoReflect.Descriptor instead. +func (*ExportAnalyticsMetricsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ExportAnalyticsMetricsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportAnalyticsMetricsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ExportAnalyticsMetricsResponse) GetOutputResult() *OutputResult { + if x != nil { + return x.OutputResult + } + return nil +} + // Output result that stores the information about where the exported data is // stored. type OutputResult struct { @@ -325,7 +563,7 @@ type OutputResult struct { func (x *OutputResult) Reset() { *x = OutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -338,7 +576,7 @@ func (x *OutputResult) String() string { func (*OutputResult) ProtoMessage() {} func (x *OutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -351,7 +589,7 @@ func (x *OutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use OutputResult.ProtoReflect.Descriptor instead. func (*OutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{4} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{7} } func (x *OutputResult) GetBigqueryResult() []*BigQueryOutputResult { @@ -383,7 +621,7 @@ type BigQueryOutputResult struct { func (x *BigQueryOutputResult) Reset() { *x = BigQueryOutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +634,7 @@ func (x *BigQueryOutputResult) String() string { func (*BigQueryOutputResult) ProtoMessage() {} func (x *BigQueryOutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +647,7 @@ func (x *BigQueryOutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use BigQueryOutputResult.ProtoReflect.Descriptor instead. func (*BigQueryOutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{5} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{8} } func (x *BigQueryOutputResult) GetDatasetId() string { @@ -439,7 +677,7 @@ type GcsOutputResult struct { func (x *GcsOutputResult) Reset() { *x = GcsOutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +690,7 @@ func (x *GcsOutputResult) String() string { func (*GcsOutputResult) ProtoMessage() {} func (x *GcsOutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +703,7 @@ func (x *GcsOutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use GcsOutputResult.ProtoReflect.Descriptor instead. func (*GcsOutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{6} + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{9} } func (x *GcsOutputResult) GetOutputUri() string { @@ -475,6 +713,131 @@ func (x *GcsOutputResult) GetOutputUri() string { return "" } +// The Google Cloud Storage output destination configuration. +type OutputConfig_GcsDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The output uri prefix for saving output data to json files. + // Some mapping examples are as follows: + // output_uri_prefix sample output(assuming the object is foo.json) + // ======================== ============================================= + // gs://bucket/ gs://bucket/foo.json + // gs://bucket/folder/ gs://bucket/folder/foo.json + // gs://bucket/folder/item_ gs://bucket/folder/item_foo.json + OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` +} + +func (x *OutputConfig_GcsDestination) Reset() { + *x = OutputConfig_GcsDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_GcsDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_GcsDestination) ProtoMessage() {} + +func (x *OutputConfig_GcsDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_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 OutputConfig_GcsDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_GcsDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *OutputConfig_GcsDestination) GetOutputUriPrefix() string { + if x != nil { + return x.OutputUriPrefix + } + return "" +} + +// The BigQuery output destination configuration. +type OutputConfig_BigQueryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of a BigQuery Dataset. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Required. The prefix of exported BigQuery tables. + TableIdPrefix string `protobuf:"bytes,2,opt,name=table_id_prefix,json=tableIdPrefix,proto3" json:"table_id_prefix,omitempty"` + // Required. Describes the table type. The following values are supported: + // + // * `table`: A BigQuery native table. + // * `view`: A virtual table defined by a SQL query. + TableType string `protobuf:"bytes,3,opt,name=table_type,json=tableType,proto3" json:"table_type,omitempty"` +} + +func (x *OutputConfig_BigQueryDestination) Reset() { + *x = OutputConfig_BigQueryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_BigQueryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_BigQueryDestination) ProtoMessage() {} + +func (x *OutputConfig_BigQueryDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_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 OutputConfig_BigQueryDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_BigQueryDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *OutputConfig_BigQueryDestination) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *OutputConfig_BigQueryDestination) GetTableIdPrefix() string { + if x != nil { + return x.TableIdPrefix + } + return "" +} + +func (x *OutputConfig_BigQueryDestination) GetTableType() string { + if x != nil { + return x.TableType + } + return "" +} + var File_google_cloud_retail_v2alpha_export_config_proto protoreflect.FileDescriptor var file_google_cloud_retail_v2alpha_export_config_proto_rawDesc = []byte{ @@ -490,85 +853,141 @@ var file_google_cloud_retail_v2alpha_export_config_proto_rawDesc = []byte{ 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, 0x44, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, - 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 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, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x4e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0xf9, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, - 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x03, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 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, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, - 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb7, 0x01, - 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, - 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x14, 0x62, 0x69, + 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 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, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, + 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x1a, 0x8a, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, + 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x49, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, + 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x53, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 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, 0x22, 0xf7, + 0x01, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 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, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xf9, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x54, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x22, 0xff, 0x01, 0x0a, 0x1e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x67, 0x63, - 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 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, 0x47, 0x63, 0x73, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x67, 0x63, - 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x50, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x0f, 0x47, 0x63, 0x73, - 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 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, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5a, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 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, 0x42, + 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x03, 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, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x67, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x50, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x49, 0x64, 0x22, 0x30, 0x0a, 0x0f, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x55, 0x72, 0x69, 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, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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 ( @@ -583,34 +1002,45 @@ func file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP() []byte { return file_google_cloud_retail_v2alpha_export_config_proto_rawDescData } -var file_google_cloud_retail_v2alpha_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_google_cloud_retail_v2alpha_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_retail_v2alpha_export_config_proto_goTypes = []interface{}{ - (*ExportErrorsConfig)(nil), // 0: google.cloud.retail.v2alpha.ExportErrorsConfig - (*ExportMetadata)(nil), // 1: google.cloud.retail.v2alpha.ExportMetadata - (*ExportProductsResponse)(nil), // 2: google.cloud.retail.v2alpha.ExportProductsResponse - (*ExportUserEventsResponse)(nil), // 3: google.cloud.retail.v2alpha.ExportUserEventsResponse - (*OutputResult)(nil), // 4: google.cloud.retail.v2alpha.OutputResult - (*BigQueryOutputResult)(nil), // 5: google.cloud.retail.v2alpha.BigQueryOutputResult - (*GcsOutputResult)(nil), // 6: google.cloud.retail.v2alpha.GcsOutputResult - (*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp - (*status.Status)(nil), // 8: google.rpc.Status + (*OutputConfig)(nil), // 0: google.cloud.retail.v2alpha.OutputConfig + (*ExportErrorsConfig)(nil), // 1: google.cloud.retail.v2alpha.ExportErrorsConfig + (*ExportAnalyticsMetricsRequest)(nil), // 2: google.cloud.retail.v2alpha.ExportAnalyticsMetricsRequest + (*ExportMetadata)(nil), // 3: google.cloud.retail.v2alpha.ExportMetadata + (*ExportProductsResponse)(nil), // 4: google.cloud.retail.v2alpha.ExportProductsResponse + (*ExportUserEventsResponse)(nil), // 5: google.cloud.retail.v2alpha.ExportUserEventsResponse + (*ExportAnalyticsMetricsResponse)(nil), // 6: google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse + (*OutputResult)(nil), // 7: google.cloud.retail.v2alpha.OutputResult + (*BigQueryOutputResult)(nil), // 8: google.cloud.retail.v2alpha.BigQueryOutputResult + (*GcsOutputResult)(nil), // 9: google.cloud.retail.v2alpha.GcsOutputResult + (*OutputConfig_GcsDestination)(nil), // 10: google.cloud.retail.v2alpha.OutputConfig.GcsDestination + (*OutputConfig_BigQueryDestination)(nil), // 11: google.cloud.retail.v2alpha.OutputConfig.BigQueryDestination + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*status.Status)(nil), // 13: google.rpc.Status } var file_google_cloud_retail_v2alpha_export_config_proto_depIdxs = []int32{ - 7, // 0: google.cloud.retail.v2alpha.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp - 7, // 1: google.cloud.retail.v2alpha.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp - 8, // 2: google.cloud.retail.v2alpha.ExportProductsResponse.error_samples:type_name -> google.rpc.Status - 0, // 3: google.cloud.retail.v2alpha.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig - 4, // 4: google.cloud.retail.v2alpha.ExportProductsResponse.output_result:type_name -> google.cloud.retail.v2alpha.OutputResult - 8, // 5: google.cloud.retail.v2alpha.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status - 0, // 6: google.cloud.retail.v2alpha.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig - 4, // 7: google.cloud.retail.v2alpha.ExportUserEventsResponse.output_result:type_name -> google.cloud.retail.v2alpha.OutputResult - 5, // 8: google.cloud.retail.v2alpha.OutputResult.bigquery_result:type_name -> google.cloud.retail.v2alpha.BigQueryOutputResult - 6, // 9: google.cloud.retail.v2alpha.OutputResult.gcs_result:type_name -> google.cloud.retail.v2alpha.GcsOutputResult - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 10, // 0: google.cloud.retail.v2alpha.OutputConfig.gcs_destination:type_name -> google.cloud.retail.v2alpha.OutputConfig.GcsDestination + 11, // 1: google.cloud.retail.v2alpha.OutputConfig.bigquery_destination:type_name -> google.cloud.retail.v2alpha.OutputConfig.BigQueryDestination + 0, // 2: google.cloud.retail.v2alpha.ExportAnalyticsMetricsRequest.output_config:type_name -> google.cloud.retail.v2alpha.OutputConfig + 12, // 3: google.cloud.retail.v2alpha.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp + 12, // 4: google.cloud.retail.v2alpha.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp + 13, // 5: google.cloud.retail.v2alpha.ExportProductsResponse.error_samples:type_name -> google.rpc.Status + 1, // 6: google.cloud.retail.v2alpha.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig + 7, // 7: google.cloud.retail.v2alpha.ExportProductsResponse.output_result:type_name -> google.cloud.retail.v2alpha.OutputResult + 13, // 8: google.cloud.retail.v2alpha.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 1, // 9: google.cloud.retail.v2alpha.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig + 7, // 10: google.cloud.retail.v2alpha.ExportUserEventsResponse.output_result:type_name -> google.cloud.retail.v2alpha.OutputResult + 13, // 11: google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse.error_samples:type_name -> google.rpc.Status + 1, // 12: google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig + 7, // 13: google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse.output_result:type_name -> google.cloud.retail.v2alpha.OutputResult + 8, // 14: google.cloud.retail.v2alpha.OutputResult.bigquery_result:type_name -> google.cloud.retail.v2alpha.BigQueryOutputResult + 9, // 15: google.cloud.retail.v2alpha.OutputResult.gcs_result:type_name -> google.cloud.retail.v2alpha.GcsOutputResult + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_google_cloud_retail_v2alpha_export_config_proto_init() } @@ -620,7 +1050,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } if !protoimpl.UnsafeEnabled { file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportErrorsConfig); i { + switch v := v.(*OutputConfig); i { case 0: return &v.state case 1: @@ -632,7 +1062,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportMetadata); i { + switch v := v.(*ExportErrorsConfig); i { case 0: return &v.state case 1: @@ -644,7 +1074,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportProductsResponse); i { + switch v := v.(*ExportAnalyticsMetricsRequest); i { case 0: return &v.state case 1: @@ -656,7 +1086,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportUserEventsResponse); i { + switch v := v.(*ExportMetadata); i { case 0: return &v.state case 1: @@ -668,7 +1098,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutputResult); i { + switch v := v.(*ExportProductsResponse); i { case 0: return &v.state case 1: @@ -680,7 +1110,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BigQueryOutputResult); i { + switch v := v.(*ExportUserEventsResponse); i { case 0: return &v.state case 1: @@ -692,6 +1122,42 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportAnalyticsMetricsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQueryOutputResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GcsOutputResult); i { case 0: return &v.state @@ -703,8 +1169,36 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { return nil } } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*OutputConfig_GcsDestination_)(nil), + (*OutputConfig_BigqueryDestination)(nil), + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ExportErrorsConfig_GcsPrefix)(nil), } type x struct{} @@ -713,7 +1207,7 @@ func file_google_cloud_retail_v2alpha_export_config_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_retail_v2alpha_export_config_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/retail/apiv2beta/analytics_client.go b/retail/apiv2beta/analytics_client.go new file mode 100755 index 000000000000..7881d71e2949 --- /dev/null +++ b/retail/apiv2beta/analytics_client.go @@ -0,0 +1,706 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package retail + +import ( + "bytes" + "context" + "fmt" + "io" + "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/apiv2beta/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/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newAnalyticsClientHook clientHook + +// AnalyticsCallOptions contains the retry settings for each method of AnalyticsClient. +type AnalyticsCallOptions struct { + ExportAnalyticsMetrics []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultAnalyticsGRPCClientOptions() []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 defaultAnalyticsCallOptions() *AnalyticsCallOptions { + return &AnalyticsCallOptions{ + ExportAnalyticsMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithTimeout(300000 * time.Millisecond), + 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 defaultAnalyticsRESTCallOptions() *AnalyticsCallOptions { + return &AnalyticsCallOptions{ + ExportAnalyticsMetrics: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{ + gax.WithTimeout(300000 * time.Millisecond), + 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) + }), + }, + } +} + +// internalAnalyticsClient is an interface that defines the methods available from Retail API. +type internalAnalyticsClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ExportAnalyticsMetrics(context.Context, *retailpb.ExportAnalyticsMetricsRequest, ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) + ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// AnalyticsClient 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. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +type AnalyticsClient struct { + // The internal transport-dependent client. + internalClient internalAnalyticsClient + + // The call options for this service. + CallOptions *AnalyticsCallOptions + + // 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 *AnalyticsClient) 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 *AnalyticsClient) 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 *AnalyticsClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ExportAnalyticsMetrics exports analytics metrics. +// +// Operation.response is of type ExportAnalyticsMetricsResponse. +// Operation.metadata is of type ExportMetadata. +func (c *AnalyticsClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) { + return c.internalClient.ExportAnalyticsMetrics(ctx, req, opts...) +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *AnalyticsClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + return c.internalClient.ExportAnalyticsMetricsOperation(name) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *AnalyticsClient) 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 *AnalyticsClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// analyticsGRPCClient 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 analyticsGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing AnalyticsClient + CallOptions **AnalyticsCallOptions + + // The gRPC API client. + analyticsClient retailpb.AnalyticsServiceClient + + // 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. + xGoogHeaders []string +} + +// NewAnalyticsClient creates a new analytics service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +func NewAnalyticsClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsClient, error) { + clientOpts := defaultAnalyticsGRPCClientOptions() + if newAnalyticsClientHook != nil { + hookOpts, err := newAnalyticsClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := AnalyticsClient{CallOptions: defaultAnalyticsCallOptions()} + + c := &analyticsGRPCClient{ + connPool: connPool, + analyticsClient: retailpb.NewAnalyticsServiceClient(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 *analyticsGRPCClient) 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 *analyticsGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *analyticsGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type analyticsRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing AnalyticsClient + CallOptions **AnalyticsCallOptions +} + +// NewAnalyticsRESTClient creates a new analytics service rest client. +// +// Service for managing & accessing retail search business metric. +// Retail recommendation business metric is currently not available. +func NewAnalyticsRESTClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsClient, error) { + clientOpts := append(defaultAnalyticsRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultAnalyticsRESTCallOptions() + c := &analyticsRESTClient{ + 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 &AnalyticsClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultAnalyticsRESTClientOptions() []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 *analyticsRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *analyticsRESTClient) 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 *analyticsRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *analyticsGRPCClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "catalog", url.QueryEscape(req.GetCatalog()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ExportAnalyticsMetrics[0:len((*c.CallOptions).ExportAnalyticsMetrics):len((*c.CallOptions).ExportAnalyticsMetrics)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.analyticsClient.ExportAnalyticsMetrics(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *analyticsGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *analyticsGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ExportAnalyticsMetrics exports analytics metrics. +// +// Operation.response is of type ExportAnalyticsMetricsResponse. +// Operation.metadata is of type ExportMetadata. +func (c *analyticsRESTClient) ExportAnalyticsMetrics(ctx context.Context, req *retailpb.ExportAnalyticsMetricsRequest, opts ...gax.CallOption) (*ExportAnalyticsMetricsOperation, 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("/v2beta/%v:exportAnalyticsMetrics", req.GetCatalog()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "catalog", url.QueryEscape(req.GetCatalog()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v2beta/%s", resp.GetName()) + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *analyticsRESTClient) 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("/v2beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *analyticsRESTClient) 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("/v2beta/%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. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *analyticsGRPCClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ExportAnalyticsMetricsOperation returns a new ExportAnalyticsMetricsOperation from a given name. +// The name must be that of a previously created ExportAnalyticsMetricsOperation, possibly from a different process. +func (c *analyticsRESTClient) ExportAnalyticsMetricsOperation(name string) *ExportAnalyticsMetricsOperation { + override := fmt.Sprintf("/v2beta/%s", name) + return &ExportAnalyticsMetricsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/retail/apiv2beta/analytics_client_example_test.go b/retail/apiv2beta/analytics_client_example_test.go new file mode 100644 index 000000000000..cd530c19e2d1 --- /dev/null +++ b/retail/apiv2beta/analytics_client_example_test.go @@ -0,0 +1,146 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package retail_test + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + retail "cloud.google.com/go/retail/apiv2beta" + retailpb "cloud.google.com/go/retail/apiv2beta/retailpb" + "google.golang.org/api/iterator" +) + +func ExampleNewAnalyticsClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewAnalyticsRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleAnalyticsClient_ExportAnalyticsMetrics() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require 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.NewAnalyticsClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &retailpb.ExportAnalyticsMetricsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2beta/retailpb#ExportAnalyticsMetricsRequest. + } + op, err := c.ExportAnalyticsMetrics(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAnalyticsClient_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.NewAnalyticsClient(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 ExampleAnalyticsClient_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.NewAnalyticsClient(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/apiv2beta/auxiliary.go b/retail/apiv2beta/auxiliary.go index d5eec87f298c..cb1f4d1b5ad1 100755 --- a/retail/apiv2beta/auxiliary.go +++ b/retail/apiv2beta/auxiliary.go @@ -219,6 +219,70 @@ func (op *CreateModelOperation) Name() string { return op.lro.Name() } +// ExportAnalyticsMetricsOperation manages a long-running operation from ExportAnalyticsMetrics. +type ExportAnalyticsMetricsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ExportAnalyticsMetricsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*retailpb.ExportAnalyticsMetricsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.ExportAnalyticsMetricsResponse + 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 *ExportAnalyticsMetricsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*retailpb.ExportAnalyticsMetricsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp retailpb.ExportAnalyticsMetricsResponse + 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 *ExportAnalyticsMetricsOperation) Metadata() (*retailpb.ExportMetadata, error) { + var meta retailpb.ExportMetadata + 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 *ExportAnalyticsMetricsOperation) 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 *ExportAnalyticsMetricsOperation) Name() string { + return op.lro.Name() +} + // ImportCompletionDataOperation manages a long-running operation from ImportCompletionData. type ImportCompletionDataOperation struct { lro *longrunning.Operation diff --git a/retail/apiv2beta/doc.go b/retail/apiv2beta/doc.go index 20ebe9238e51..532ddf94b64e 100755 --- a/retail/apiv2beta/doc.go +++ b/retail/apiv2beta/doc.go @@ -45,7 +45,7 @@ // // - It may require correct/in-range values for request initialization. // // - It may require 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.NewCatalogClient(ctx) +// c, err := retail.NewAnalyticsClient(ctx) // if err != nil { // // TODO: Handle error. // } @@ -65,17 +65,22 @@ // // - It may require correct/in-range values for request initialization. // // - It may require 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.NewCatalogClient(ctx) +// c, err := retail.NewAnalyticsClient(ctx) // if err != nil { // // TODO: Handle error. // } // defer c.Close() // -// req := &retailpb.AddCatalogAttributeRequest{ +// req := &retailpb.ExportAnalyticsMetricsRequest{ // // TODO: Fill request struct fields. -// // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2beta/retailpb#AddCatalogAttributeRequest. +// // See https://pkg.go.dev/cloud.google.com/go/retail/apiv2beta/retailpb#ExportAnalyticsMetricsRequest. // } -// resp, err := c.AddCatalogAttribute(ctx, req) +// op, err := c.ExportAnalyticsMetrics(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// +// resp, err := op.Wait(ctx) // if err != nil { // // TODO: Handle error. // } @@ -84,7 +89,7 @@ // // # Use of Context // -// The ctx passed to NewCatalogClient is used for authentication requests and +// The ctx passed to NewAnalyticsClient 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. // diff --git a/retail/apiv2beta/gapic_metadata.json b/retail/apiv2beta/gapic_metadata.json index 7b2acfd23405..522c935b0372 100644 --- a/retail/apiv2beta/gapic_metadata.json +++ b/retail/apiv2beta/gapic_metadata.json @@ -5,6 +5,50 @@ "protoPackage": "google.cloud.retail.v2beta", "libraryPackage": "cloud.google.com/go/retail/apiv2beta", "services": { + "AnalyticsService": { + "clients": { + "grpc": { + "libraryClient": "AnalyticsClient", + "rpcs": { + "ExportAnalyticsMetrics": { + "methods": [ + "ExportAnalyticsMetrics" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + }, + "rest": { + "libraryClient": "AnalyticsClient", + "rpcs": { + "ExportAnalyticsMetrics": { + "methods": [ + "ExportAnalyticsMetrics" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + } + } + }, "CatalogService": { "clients": { "grpc": { diff --git a/retail/apiv2beta/model_client.go b/retail/apiv2beta/model_client.go index b0f373991936..ab392aa40111 100755 --- a/retail/apiv2beta/model_client.go +++ b/retail/apiv2beta/model_client.go @@ -73,14 +73,110 @@ func defaultModelGRPCClientOptions() []option.ClientOption { func defaultModelCallOptions() *ModelCallOptions { return &ModelCallOptions{ - CreateModel: []gax.CallOption{}, - GetModel: []gax.CallOption{}, - PauseModel: []gax.CallOption{}, - ResumeModel: []gax.CallOption{}, - DeleteModel: []gax.CallOption{}, - ListModels: []gax.CallOption{}, - UpdateModel: []gax.CallOption{}, - TuneModel: []gax.CallOption{}, + CreateModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + GetModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + ResumeModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + DeleteModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + ListModels: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + UpdateModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, + TuneModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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, + }) + }), + }, GetOperation: []gax.CallOption{}, ListOperations: []gax.CallOption{ gax.WithTimeout(300000 * time.Millisecond), @@ -100,14 +196,102 @@ func defaultModelCallOptions() *ModelCallOptions { func defaultModelRESTCallOptions() *ModelCallOptions { return &ModelCallOptions{ - CreateModel: []gax.CallOption{}, - GetModel: []gax.CallOption{}, - PauseModel: []gax.CallOption{}, - ResumeModel: []gax.CallOption{}, - DeleteModel: []gax.CallOption{}, - ListModels: []gax.CallOption{}, - UpdateModel: []gax.CallOption{}, - TuneModel: []gax.CallOption{}, + CreateModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + GetModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + ResumeModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + DeleteModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + ListModels: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + UpdateModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, + TuneModel: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + 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) + }), + }, GetOperation: []gax.CallOption{}, ListOperations: []gax.CallOption{ gax.WithTimeout(300000 * time.Millisecond), diff --git a/retail/apiv2beta/retailpb/analytics_service.pb.go b/retail/apiv2beta/retailpb/analytics_service.pb.go new file mode 100755 index 000000000000..a081f21e3350 --- /dev/null +++ b/retail/apiv2beta/retailpb/analytics_service.pb.go @@ -0,0 +1,230 @@ +// 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.31.0 +// protoc v4.23.2 +// source: google/cloud/retail/v2beta/analytics_service.proto + +package retailpb + +import ( + context "context" + reflect "reflect" + + 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" +) + +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) +) + +var File_google_cloud_retail_v2beta_analytics_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_analytics_service_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 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, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x65, 0x78, 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, 0x32, 0x93, 0x03, 0x0a, 0x10, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb3, 0x02, + 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, + 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0xbe, 0x01, 0xca, 0x41, 0x66, 0x0a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 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, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 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, 0xd4, + 0x01, 0x0a, 0x1e, 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, 0x62, 0x65, 0x74, + 0x61, 0x42, 0x15, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 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, 0x62, 0x65, 0x74, 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, 0x1a, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, + 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 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, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_google_cloud_retail_v2beta_analytics_service_proto_goTypes = []interface{}{ + (*ExportAnalyticsMetricsRequest)(nil), // 0: google.cloud.retail.v2beta.ExportAnalyticsMetricsRequest + (*longrunningpb.Operation)(nil), // 1: google.longrunning.Operation +} +var file_google_cloud_retail_v2beta_analytics_service_proto_depIdxs = []int32{ + 0, // 0: google.cloud.retail.v2beta.AnalyticsService.ExportAnalyticsMetrics:input_type -> google.cloud.retail.v2beta.ExportAnalyticsMetricsRequest + 1, // 1: google.cloud.retail.v2beta.AnalyticsService.ExportAnalyticsMetrics:output_type -> google.longrunning.Operation + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_analytics_service_proto_init() } +func file_google_cloud_retail_v2beta_analytics_service_proto_init() { + if File_google_cloud_retail_v2beta_analytics_service_proto != nil { + return + } + file_google_cloud_retail_v2beta_export_config_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_analytics_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2beta_analytics_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_analytics_service_proto_depIdxs, + }.Build() + File_google_cloud_retail_v2beta_analytics_service_proto = out.File + file_google_cloud_retail_v2beta_analytics_service_proto_rawDesc = nil + file_google_cloud_retail_v2beta_analytics_service_proto_goTypes = nil + file_google_cloud_retail_v2beta_analytics_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 + +// AnalyticsServiceClient is the client API for AnalyticsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type AnalyticsServiceClient interface { + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + ExportAnalyticsMetrics(ctx context.Context, in *ExportAnalyticsMetricsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) +} + +type analyticsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAnalyticsServiceClient(cc grpc.ClientConnInterface) AnalyticsServiceClient { + return &analyticsServiceClient{cc} +} + +func (c *analyticsServiceClient) ExportAnalyticsMetrics(ctx context.Context, in *ExportAnalyticsMetricsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.AnalyticsService/ExportAnalyticsMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AnalyticsServiceServer is the server API for AnalyticsService service. +type AnalyticsServiceServer interface { + // Exports analytics metrics. + // + // `Operation.response` is of type `ExportAnalyticsMetricsResponse`. + // `Operation.metadata` is of type `ExportMetadata`. + ExportAnalyticsMetrics(context.Context, *ExportAnalyticsMetricsRequest) (*longrunningpb.Operation, error) +} + +// UnimplementedAnalyticsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedAnalyticsServiceServer struct { +} + +func (*UnimplementedAnalyticsServiceServer) ExportAnalyticsMetrics(context.Context, *ExportAnalyticsMetricsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportAnalyticsMetrics not implemented") +} + +func RegisterAnalyticsServiceServer(s *grpc.Server, srv AnalyticsServiceServer) { + s.RegisterService(&_AnalyticsService_serviceDesc, srv) +} + +func _AnalyticsService_ExportAnalyticsMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportAnalyticsMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AnalyticsServiceServer).ExportAnalyticsMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.AnalyticsService/ExportAnalyticsMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AnalyticsServiceServer).ExportAnalyticsMetrics(ctx, req.(*ExportAnalyticsMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _AnalyticsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2beta.AnalyticsService", + HandlerType: (*AnalyticsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExportAnalyticsMetrics", + Handler: _AnalyticsService_ExportAnalyticsMetrics_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2beta/analytics_service.proto", +} diff --git a/retail/apiv2beta/retailpb/export_config.pb.go b/retail/apiv2beta/retailpb/export_config.pb.go index 30a4603ef8f9..f3ced45551a3 100755 --- a/retail/apiv2beta/retailpb/export_config.pb.go +++ b/retail/apiv2beta/retailpb/export_config.pb.go @@ -38,6 +38,91 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// The output configuration setting. +type OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration of destination for holding output data. + // + // Types that are assignable to Destination: + // *OutputConfig_GcsDestination_ + // *OutputConfig_BigqueryDestination + Destination isOutputConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *OutputConfig) Reset() { + *x = OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig) ProtoMessage() {} + +func (x *OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. +func (*OutputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0} +} + +func (m *OutputConfig) GetDestination() isOutputConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *OutputConfig) GetGcsDestination() *OutputConfig_GcsDestination { + if x, ok := x.GetDestination().(*OutputConfig_GcsDestination_); ok { + return x.GcsDestination + } + return nil +} + +func (x *OutputConfig) GetBigqueryDestination() *OutputConfig_BigQueryDestination { + if x, ok := x.GetDestination().(*OutputConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +type isOutputConfig_Destination interface { + isOutputConfig_Destination() +} + +type OutputConfig_GcsDestination_ struct { + // The Google Cloud Storage location where the output is to be written to. + GcsDestination *OutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +type OutputConfig_BigqueryDestination struct { + // The BigQuery location where the output is to be written to. + BigqueryDestination *OutputConfig_BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +func (*OutputConfig_GcsDestination_) isOutputConfig_Destination() {} + +func (*OutputConfig_BigqueryDestination) isOutputConfig_Destination() {} + // Configuration of destination for Export related errors. type ExportErrorsConfig struct { state protoimpl.MessageState @@ -54,7 +139,7 @@ type ExportErrorsConfig struct { func (x *ExportErrorsConfig) Reset() { *x = ExportErrorsConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67,7 +152,7 @@ func (x *ExportErrorsConfig) String() string { func (*ExportErrorsConfig) ProtoMessage() {} func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80,7 +165,7 @@ func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportErrorsConfig.ProtoReflect.Descriptor instead. func (*ExportErrorsConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{1} } func (m *ExportErrorsConfig) GetDestination() isExportErrorsConfig_Destination { @@ -111,6 +196,90 @@ type ExportErrorsConfig_GcsPrefix struct { func (*ExportErrorsConfig_GcsPrefix) isExportErrorsConfig_Destination() {} +// Request message for the `ExportAnalyticsMetrics` method. +type ExportAnalyticsMetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the parent catalog. + // Expected format: `projects/*/locations/*/catalogs/*` + Catalog string `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + // Required. The output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // A filtering expression to specify restrictions on returned metrics. + // The expression is a sequence of terms. Each term applies a restriction to + // the returned metrics. Use this expression to restrict results to a + // specific time range. + // + // Currently we expect only one types of fields: + // + // * `timestamp`: This can be specified twice, once with a + // less than operator and once with a greater than operator. The + // `timestamp` restriction should result in one, contiguous, valid, + // `timestamp` range. + // + // Some examples of valid filters expressions: + // + // * Example 1: `timestamp > "2012-04-23T18:25:43.511Z" + // timestamp < "2012-04-23T18:30:43.511Z"` + // * Example 2: `timestamp > "2012-04-23T18:25:43.511Z"` + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportAnalyticsMetricsRequest) Reset() { + *x = ExportAnalyticsMetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportAnalyticsMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAnalyticsMetricsRequest) ProtoMessage() {} + +func (x *ExportAnalyticsMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_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 ExportAnalyticsMetricsRequest.ProtoReflect.Descriptor instead. +func (*ExportAnalyticsMetricsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ExportAnalyticsMetricsRequest) GetCatalog() string { + if x != nil { + return x.Catalog + } + return "" +} + +func (x *ExportAnalyticsMetricsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportAnalyticsMetricsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + // Metadata related to the progress of the Export operation. This is // returned by the google.longrunning.Operation.metadata field. type ExportMetadata struct { @@ -128,7 +297,7 @@ type ExportMetadata struct { func (x *ExportMetadata) Reset() { *x = ExportMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -141,7 +310,7 @@ func (x *ExportMetadata) String() string { func (*ExportMetadata) ProtoMessage() {} func (x *ExportMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -154,7 +323,7 @@ func (x *ExportMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportMetadata.ProtoReflect.Descriptor instead. func (*ExportMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{1} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{3} } func (x *ExportMetadata) GetCreateTime() *timestamppb.Timestamp { @@ -190,7 +359,7 @@ type ExportProductsResponse struct { func (x *ExportProductsResponse) Reset() { *x = ExportProductsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -203,7 +372,7 @@ func (x *ExportProductsResponse) String() string { func (*ExportProductsResponse) ProtoMessage() {} func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -216,7 +385,7 @@ func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportProductsResponse.ProtoReflect.Descriptor instead. func (*ExportProductsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{2} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{4} } func (x *ExportProductsResponse) GetErrorSamples() []*status.Status { @@ -259,7 +428,7 @@ type ExportUserEventsResponse struct { func (x *ExportUserEventsResponse) Reset() { *x = ExportUserEventsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -272,7 +441,7 @@ func (x *ExportUserEventsResponse) String() string { func (*ExportUserEventsResponse) ProtoMessage() {} func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -285,7 +454,7 @@ func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportUserEventsResponse.ProtoReflect.Descriptor instead. func (*ExportUserEventsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{3} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{5} } func (x *ExportUserEventsResponse) GetErrorSamples() []*status.Status { @@ -309,6 +478,75 @@ func (x *ExportUserEventsResponse) GetOutputResult() *OutputResult { return nil } +// Response of the ExportAnalyticsMetricsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportAnalyticsMetricsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // This field is never set. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Output result indicating where the data were exported to. + OutputResult *OutputResult `protobuf:"bytes,3,opt,name=output_result,json=outputResult,proto3" json:"output_result,omitempty"` +} + +func (x *ExportAnalyticsMetricsResponse) Reset() { + *x = ExportAnalyticsMetricsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportAnalyticsMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAnalyticsMetricsResponse) ProtoMessage() {} + +func (x *ExportAnalyticsMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_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 ExportAnalyticsMetricsResponse.ProtoReflect.Descriptor instead. +func (*ExportAnalyticsMetricsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ExportAnalyticsMetricsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportAnalyticsMetricsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ExportAnalyticsMetricsResponse) GetOutputResult() *OutputResult { + if x != nil { + return x.OutputResult + } + return nil +} + // Output result that stores the information about where the exported data is // stored. type OutputResult struct { @@ -325,7 +563,7 @@ type OutputResult struct { func (x *OutputResult) Reset() { *x = OutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -338,7 +576,7 @@ func (x *OutputResult) String() string { func (*OutputResult) ProtoMessage() {} func (x *OutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -351,7 +589,7 @@ func (x *OutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use OutputResult.ProtoReflect.Descriptor instead. func (*OutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{4} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{7} } func (x *OutputResult) GetBigqueryResult() []*BigQueryOutputResult { @@ -383,7 +621,7 @@ type BigQueryOutputResult struct { func (x *BigQueryOutputResult) Reset() { *x = BigQueryOutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +634,7 @@ func (x *BigQueryOutputResult) String() string { func (*BigQueryOutputResult) ProtoMessage() {} func (x *BigQueryOutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +647,7 @@ func (x *BigQueryOutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use BigQueryOutputResult.ProtoReflect.Descriptor instead. func (*BigQueryOutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{5} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{8} } func (x *BigQueryOutputResult) GetDatasetId() string { @@ -439,7 +677,7 @@ type GcsOutputResult struct { func (x *GcsOutputResult) Reset() { *x = GcsOutputResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +690,7 @@ func (x *GcsOutputResult) String() string { func (*GcsOutputResult) ProtoMessage() {} func (x *GcsOutputResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6] + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +703,7 @@ func (x *GcsOutputResult) ProtoReflect() protoreflect.Message { // Deprecated: Use GcsOutputResult.ProtoReflect.Descriptor instead. func (*GcsOutputResult) Descriptor() ([]byte, []int) { - return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{6} + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{9} } func (x *GcsOutputResult) GetOutputUri() string { @@ -475,6 +713,131 @@ func (x *GcsOutputResult) GetOutputUri() string { return "" } +// The Google Cloud Storage output destination configuration. +type OutputConfig_GcsDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The output uri prefix for saving output data to json files. + // Some mapping examples are as follows: + // output_uri_prefix sample output(assuming the object is foo.json) + // ======================== ============================================= + // gs://bucket/ gs://bucket/foo.json + // gs://bucket/folder/ gs://bucket/folder/foo.json + // gs://bucket/folder/item_ gs://bucket/folder/item_foo.json + OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` +} + +func (x *OutputConfig_GcsDestination) Reset() { + *x = OutputConfig_GcsDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_GcsDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_GcsDestination) ProtoMessage() {} + +func (x *OutputConfig_GcsDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_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 OutputConfig_GcsDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_GcsDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *OutputConfig_GcsDestination) GetOutputUriPrefix() string { + if x != nil { + return x.OutputUriPrefix + } + return "" +} + +// The BigQuery output destination configuration. +type OutputConfig_BigQueryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The ID of a BigQuery Dataset. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Required. The prefix of exported BigQuery tables. + TableIdPrefix string `protobuf:"bytes,2,opt,name=table_id_prefix,json=tableIdPrefix,proto3" json:"table_id_prefix,omitempty"` + // Required. Describes the table type. The following values are supported: + // + // * `table`: A BigQuery native table. + // * `view`: A virtual table defined by a SQL query. + TableType string `protobuf:"bytes,3,opt,name=table_type,json=tableType,proto3" json:"table_type,omitempty"` +} + +func (x *OutputConfig_BigQueryDestination) Reset() { + *x = OutputConfig_BigQueryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_BigQueryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_BigQueryDestination) ProtoMessage() {} + +func (x *OutputConfig_BigQueryDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_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 OutputConfig_BigQueryDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_BigQueryDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *OutputConfig_BigQueryDestination) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *OutputConfig_BigQueryDestination) GetTableIdPrefix() string { + if x != nil { + return x.TableIdPrefix + } + return "" +} + +func (x *OutputConfig_BigQueryDestination) GetTableType() string { + if x != nil { + return x.TableType + } + return "" +} + var File_google_cloud_retail_v2beta_export_config_proto protoreflect.FileDescriptor var file_google_cloud_retail_v2beta_export_config_proto_rawDesc = []byte{ @@ -490,84 +853,140 @@ var file_google_cloud_retail_v2beta_export_config_proto_rawDesc = []byte{ 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, 0x44, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 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, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, - 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x74, 0x6f, 0x22, 0xc4, 0x03, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 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, 0x62, 0x65, - 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xf7, 0x01, - 0x0a, 0x18, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, - 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x0e, 0x47, 0x63, + 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x8a, 0x01, + 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x0f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x12, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xaa, 0x01, 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, + 0x69, 0x63, 0x73, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x12, 0x52, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, - 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x67, 0x63, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x50, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, - 0x64, 0x22, 0x30, 0x0a, 0x0f, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, - 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x55, 0x72, 0x69, 0x42, 0xd0, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8a, 0x01, 0x0a, + 0x0e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 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, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, - 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 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, 0x62, 0x65, 0x74, - 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, 0x1a, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, - 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 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, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0d, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xfd, 0x01, 0x0a, 0x1e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x0d, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xb5, 0x01, 0x0a, 0x0c, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x59, 0x0a, 0x0f, + 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x67, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x50, 0x0a, 0x14, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x0f, 0x47, 0x63, 0x73, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x42, 0xd0, 0x01, 0x0a, 0x1e, 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, 0x62, 0x65, 0x74, 0x61, 0x42, 0x11, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x36, 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, 0x62, 0x65, 0x74, 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, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 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, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -582,34 +1001,45 @@ func file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP() []byte { return file_google_cloud_retail_v2beta_export_config_proto_rawDescData } -var file_google_cloud_retail_v2beta_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_google_cloud_retail_v2beta_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_google_cloud_retail_v2beta_export_config_proto_goTypes = []interface{}{ - (*ExportErrorsConfig)(nil), // 0: google.cloud.retail.v2beta.ExportErrorsConfig - (*ExportMetadata)(nil), // 1: google.cloud.retail.v2beta.ExportMetadata - (*ExportProductsResponse)(nil), // 2: google.cloud.retail.v2beta.ExportProductsResponse - (*ExportUserEventsResponse)(nil), // 3: google.cloud.retail.v2beta.ExportUserEventsResponse - (*OutputResult)(nil), // 4: google.cloud.retail.v2beta.OutputResult - (*BigQueryOutputResult)(nil), // 5: google.cloud.retail.v2beta.BigQueryOutputResult - (*GcsOutputResult)(nil), // 6: google.cloud.retail.v2beta.GcsOutputResult - (*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp - (*status.Status)(nil), // 8: google.rpc.Status + (*OutputConfig)(nil), // 0: google.cloud.retail.v2beta.OutputConfig + (*ExportErrorsConfig)(nil), // 1: google.cloud.retail.v2beta.ExportErrorsConfig + (*ExportAnalyticsMetricsRequest)(nil), // 2: google.cloud.retail.v2beta.ExportAnalyticsMetricsRequest + (*ExportMetadata)(nil), // 3: google.cloud.retail.v2beta.ExportMetadata + (*ExportProductsResponse)(nil), // 4: google.cloud.retail.v2beta.ExportProductsResponse + (*ExportUserEventsResponse)(nil), // 5: google.cloud.retail.v2beta.ExportUserEventsResponse + (*ExportAnalyticsMetricsResponse)(nil), // 6: google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse + (*OutputResult)(nil), // 7: google.cloud.retail.v2beta.OutputResult + (*BigQueryOutputResult)(nil), // 8: google.cloud.retail.v2beta.BigQueryOutputResult + (*GcsOutputResult)(nil), // 9: google.cloud.retail.v2beta.GcsOutputResult + (*OutputConfig_GcsDestination)(nil), // 10: google.cloud.retail.v2beta.OutputConfig.GcsDestination + (*OutputConfig_BigQueryDestination)(nil), // 11: google.cloud.retail.v2beta.OutputConfig.BigQueryDestination + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*status.Status)(nil), // 13: google.rpc.Status } var file_google_cloud_retail_v2beta_export_config_proto_depIdxs = []int32{ - 7, // 0: google.cloud.retail.v2beta.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp - 7, // 1: google.cloud.retail.v2beta.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp - 8, // 2: google.cloud.retail.v2beta.ExportProductsResponse.error_samples:type_name -> google.rpc.Status - 0, // 3: google.cloud.retail.v2beta.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig - 4, // 4: google.cloud.retail.v2beta.ExportProductsResponse.output_result:type_name -> google.cloud.retail.v2beta.OutputResult - 8, // 5: google.cloud.retail.v2beta.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status - 0, // 6: google.cloud.retail.v2beta.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig - 4, // 7: google.cloud.retail.v2beta.ExportUserEventsResponse.output_result:type_name -> google.cloud.retail.v2beta.OutputResult - 5, // 8: google.cloud.retail.v2beta.OutputResult.bigquery_result:type_name -> google.cloud.retail.v2beta.BigQueryOutputResult - 6, // 9: google.cloud.retail.v2beta.OutputResult.gcs_result:type_name -> google.cloud.retail.v2beta.GcsOutputResult - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 10, // 0: google.cloud.retail.v2beta.OutputConfig.gcs_destination:type_name -> google.cloud.retail.v2beta.OutputConfig.GcsDestination + 11, // 1: google.cloud.retail.v2beta.OutputConfig.bigquery_destination:type_name -> google.cloud.retail.v2beta.OutputConfig.BigQueryDestination + 0, // 2: google.cloud.retail.v2beta.ExportAnalyticsMetricsRequest.output_config:type_name -> google.cloud.retail.v2beta.OutputConfig + 12, // 3: google.cloud.retail.v2beta.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp + 12, // 4: google.cloud.retail.v2beta.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp + 13, // 5: google.cloud.retail.v2beta.ExportProductsResponse.error_samples:type_name -> google.rpc.Status + 1, // 6: google.cloud.retail.v2beta.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig + 7, // 7: google.cloud.retail.v2beta.ExportProductsResponse.output_result:type_name -> google.cloud.retail.v2beta.OutputResult + 13, // 8: google.cloud.retail.v2beta.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 1, // 9: google.cloud.retail.v2beta.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig + 7, // 10: google.cloud.retail.v2beta.ExportUserEventsResponse.output_result:type_name -> google.cloud.retail.v2beta.OutputResult + 13, // 11: google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse.error_samples:type_name -> google.rpc.Status + 1, // 12: google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig + 7, // 13: google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse.output_result:type_name -> google.cloud.retail.v2beta.OutputResult + 8, // 14: google.cloud.retail.v2beta.OutputResult.bigquery_result:type_name -> google.cloud.retail.v2beta.BigQueryOutputResult + 9, // 15: google.cloud.retail.v2beta.OutputResult.gcs_result:type_name -> google.cloud.retail.v2beta.GcsOutputResult + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_google_cloud_retail_v2beta_export_config_proto_init() } @@ -619,7 +1049,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } if !protoimpl.UnsafeEnabled { file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportErrorsConfig); i { + switch v := v.(*OutputConfig); i { case 0: return &v.state case 1: @@ -631,7 +1061,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportMetadata); i { + switch v := v.(*ExportErrorsConfig); i { case 0: return &v.state case 1: @@ -643,7 +1073,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportProductsResponse); i { + switch v := v.(*ExportAnalyticsMetricsRequest); i { case 0: return &v.state case 1: @@ -655,7 +1085,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportUserEventsResponse); i { + switch v := v.(*ExportMetadata); i { case 0: return &v.state case 1: @@ -667,7 +1097,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutputResult); i { + switch v := v.(*ExportProductsResponse); i { case 0: return &v.state case 1: @@ -679,7 +1109,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BigQueryOutputResult); i { + switch v := v.(*ExportUserEventsResponse); i { case 0: return &v.state case 1: @@ -691,6 +1121,42 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportAnalyticsMetricsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQueryOutputResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GcsOutputResult); i { case 0: return &v.state @@ -702,8 +1168,36 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { return nil } } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*OutputConfig_GcsDestination_)(nil), + (*OutputConfig_BigqueryDestination)(nil), + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1].OneofWrappers = []interface{}{ (*ExportErrorsConfig_GcsPrefix)(nil), } type x struct{} @@ -712,7 +1206,7 @@ func file_google_cloud_retail_v2beta_export_config_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_retail_v2beta_export_config_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/spanner/apiv1/spannerpb/spanner.pb.go b/spanner/apiv1/spannerpb/spanner.pb.go index cfb5f505d51b..00f90d551e7a 100755 --- a/spanner/apiv1/spannerpb/spanner.pb.go +++ b/spanner/apiv1/spannerpb/spanner.pb.go @@ -32,6 +32,7 @@ import ( 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" emptypb "google.golang.org/protobuf/types/known/emptypb" structpb "google.golang.org/protobuf/types/known/structpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" @@ -2045,6 +2046,12 @@ type CommitRequest struct { // the [CommitResponse][google.spanner.v1.CommitResponse.commit_stats]. // Default value is `false`. ReturnCommitStats bool `protobuf:"varint,5,opt,name=return_commit_stats,json=returnCommitStats,proto3" json:"return_commit_stats,omitempty"` + // Optional. The amount of latency this request is willing to incur in order + // to improve throughput. If this field is not set, Spanner assumes requests + // are relatively latency sensitive and automatically determines an + // appropriate delay time. You can specify a batching delay value between 0 + // and 500 ms. + MaxCommitDelay *durationpb.Duration `protobuf:"bytes,8,opt,name=max_commit_delay,json=maxCommitDelay,proto3" json:"max_commit_delay,omitempty"` // Common options for this request. RequestOptions *RequestOptions `protobuf:"bytes,6,opt,name=request_options,json=requestOptions,proto3" json:"request_options,omitempty"` } @@ -2123,6 +2130,13 @@ func (x *CommitRequest) GetReturnCommitStats() bool { return false } +func (x *CommitRequest) GetMaxCommitDelay() *durationpb.Duration { + if x != nil { + return x.MaxCommitDelay + } + return nil +} + func (x *CommitRequest) GetRequestOptions() *RequestOptions { if x != nil { return x.RequestOptions @@ -2794,6 +2808,8 @@ var file_google_spanner_v1_spanner_proto_rawDesc = []byte{ 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, @@ -3202,7 +3218,7 @@ var file_google_spanner_v1_spanner_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe9, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, @@ -3222,264 +3238,268 @@ var file_google_spanner_v1_spanner_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4a, - 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, - 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x48, + 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4a, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0x0a, 0x0f, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, + 0x1e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x07, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x6d, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6d, 0x75, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x4f, 0x0a, 0x0d, 0x4d, 0x75, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x6d, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x12, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x0f, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, + 0x8b, 0x18, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0xa6, 0x01, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x50, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01, 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x60, - 0x0a, 0x0f, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x75, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x1a, 0x4f, 0x0a, 0x0d, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x45, - 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 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, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x32, 0x8b, 0x18, 0x0a, 0x07, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, - 0x72, 0x12, 0xa6, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0xda, 0x41, 0x16, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x01, 0x2a, 0x22, + 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x97, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01, 0x2a, 0x22, 0x3a, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x13, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x6a, 0xda, 0x41, 0x16, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x97, 0x01, - 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 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, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, - 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 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, + 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 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, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x53, 0x71, 0x6c, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, - 0x71, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, - 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 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, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, + 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x71, 0x6c, 0x12, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, + 0x74, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x53, 0x71, 0x6c, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x71, 0x6c, 0x12, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, + 0x01, 0x2a, 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x71, 0x6c, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, - 0x71, 0x6c, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x71, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, 0x5a, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x01, 0x2a, 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x71, 0x6c, 0x30, 0x01, 0x12, 0xc0, 0x01, 0x0a, 0x0f, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x12, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x44, 0x6d, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x01, - 0x2a, 0x22, 0x4b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, + 0x53, 0x71, 0x6c, 0x30, 0x01, 0x12, 0xc0, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x01, 0x2a, 0x22, 0x4b, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x12, 0x91, 0x01, 0x0a, 0x04, 0x52, 0x65, 0x61, + 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, + 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x12, 0xac, 0x01, 0x0a, + 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x53, 0x65, 0x74, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x30, 0x01, 0x12, 0xc9, 0x01, 0x0a, 0x10, + 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xda, 0x41, + 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xeb, 0x01, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x20, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x28, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, + 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, + 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, + 0x2a, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, - 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6d, 0x6c, 0x12, 0x91, - 0x01, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, - 0x22, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, - 0x61, 0x64, 0x12, 0xac, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x74, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x30, - 0x01, 0x12, 0xc9, 0x01, 0x0a, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x69, 0xda, 0x41, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 0x22, - 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, - 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x65, 0x67, - 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xeb, 0x01, - 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x01, - 0xda, 0x41, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0xda, 0x41, 0x28, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x01, 0x2a, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x08, - 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 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, 0x68, 0xda, 0x41, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0xb7, - 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, + 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 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, 0x68, + 0xda, 0x41, 0x16, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, + 0x01, 0x2a, 0x22, 0x44, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0xb7, 0x01, 0x0a, 0x0e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0xb4, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x12, - 0xc8, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x24, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x3a, 0x01, 0x2a, 0x22, 0x4a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0xb4, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x61, 0x64, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, + 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x12, 0xc8, 0x01, 0x0a, 0x0a, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0xda, 0x41, 0x17, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x01, 0x2a, - 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, - 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x30, 0x01, 0x1a, 0x77, 0xca, 0x41, 0x16, 0x73, - 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5b, 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, 0x2c, 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, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x91, 0x02, 0xea, 0x41, 0x5f, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x7d, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, - 0x0c, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 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, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, - 0x76, 0x31, 0x2f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, 0x70, 0x61, - 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, - 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, - 0x6e, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0xda, 0x41, 0x17, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2c, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x01, 0x2a, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x30, 0x01, 0x1a, 0x77, 0xca, 0x41, 0x16, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x5b, 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, + 0x2c, 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, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x42, 0x91, 0x02, + 0xea, 0x41, 0x5f, 0x0a, 0x1f, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x7d, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x70, 0x61, 0x6e, 0x6e, + 0x65, 0x72, 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, 0x73, + 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x73, 0x70, 0x61, + 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, 0x3b, 0x73, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x70, 0x62, + 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x70, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x3a, 0x3a, 0x56, + 0x31, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3543,10 +3563,11 @@ var file_google_spanner_v1_spanner_proto_goTypes = []interface{}{ (*Transaction)(nil), // 43: google.spanner.v1.Transaction (*TransactionOptions)(nil), // 44: google.spanner.v1.TransactionOptions (*Mutation)(nil), // 45: google.spanner.v1.Mutation - (*Type)(nil), // 46: google.spanner.v1.Type - (*emptypb.Empty)(nil), // 47: google.protobuf.Empty - (*PartialResultSet)(nil), // 48: google.spanner.v1.PartialResultSet - (*CommitResponse)(nil), // 49: google.spanner.v1.CommitResponse + (*durationpb.Duration)(nil), // 46: google.protobuf.Duration + (*Type)(nil), // 47: google.spanner.v1.Type + (*emptypb.Empty)(nil), // 48: google.protobuf.Empty + (*PartialResultSet)(nil), // 49: google.spanner.v1.PartialResultSet + (*CommitResponse)(nil), // 50: google.spanner.v1.CommitResponse } var file_google_spanner_v1_spanner_proto_depIdxs = []int32{ 6, // 0: google.spanner.v1.CreateSessionRequest.session:type_name -> google.spanner.v1.Session @@ -3588,57 +3609,58 @@ var file_google_spanner_v1_spanner_proto_depIdxs = []int32{ 11, // 36: google.spanner.v1.BeginTransactionRequest.request_options:type_name -> google.spanner.v1.RequestOptions 44, // 37: google.spanner.v1.CommitRequest.single_use_transaction:type_name -> google.spanner.v1.TransactionOptions 45, // 38: google.spanner.v1.CommitRequest.mutations:type_name -> google.spanner.v1.Mutation - 11, // 39: google.spanner.v1.CommitRequest.request_options:type_name -> google.spanner.v1.RequestOptions - 11, // 40: google.spanner.v1.BatchWriteRequest.request_options:type_name -> google.spanner.v1.RequestOptions - 36, // 41: google.spanner.v1.BatchWriteRequest.mutation_groups:type_name -> google.spanner.v1.BatchWriteRequest.MutationGroup - 41, // 42: google.spanner.v1.BatchWriteResponse.status:type_name -> google.rpc.Status - 37, // 43: google.spanner.v1.BatchWriteResponse.commit_timestamp:type_name -> google.protobuf.Timestamp - 1, // 44: google.spanner.v1.DirectedReadOptions.ReplicaSelection.type:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection.Type - 28, // 45: google.spanner.v1.DirectedReadOptions.IncludeReplicas.replica_selections:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection - 28, // 46: google.spanner.v1.DirectedReadOptions.ExcludeReplicas.replica_selections:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection - 46, // 47: google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry.value:type_name -> google.spanner.v1.Type - 39, // 48: google.spanner.v1.ExecuteBatchDmlRequest.Statement.params:type_name -> google.protobuf.Struct - 34, // 49: google.spanner.v1.ExecuteBatchDmlRequest.Statement.param_types:type_name -> google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry - 46, // 50: google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry.value:type_name -> google.spanner.v1.Type - 46, // 51: google.spanner.v1.PartitionQueryRequest.ParamTypesEntry.value:type_name -> google.spanner.v1.Type - 45, // 52: google.spanner.v1.BatchWriteRequest.MutationGroup.mutations:type_name -> google.spanner.v1.Mutation - 3, // 53: google.spanner.v1.Spanner.CreateSession:input_type -> google.spanner.v1.CreateSessionRequest - 4, // 54: google.spanner.v1.Spanner.BatchCreateSessions:input_type -> google.spanner.v1.BatchCreateSessionsRequest - 7, // 55: google.spanner.v1.Spanner.GetSession:input_type -> google.spanner.v1.GetSessionRequest - 8, // 56: google.spanner.v1.Spanner.ListSessions:input_type -> google.spanner.v1.ListSessionsRequest - 10, // 57: google.spanner.v1.Spanner.DeleteSession:input_type -> google.spanner.v1.DeleteSessionRequest - 13, // 58: google.spanner.v1.Spanner.ExecuteSql:input_type -> google.spanner.v1.ExecuteSqlRequest - 13, // 59: google.spanner.v1.Spanner.ExecuteStreamingSql:input_type -> google.spanner.v1.ExecuteSqlRequest - 14, // 60: google.spanner.v1.Spanner.ExecuteBatchDml:input_type -> google.spanner.v1.ExecuteBatchDmlRequest - 21, // 61: google.spanner.v1.Spanner.Read:input_type -> google.spanner.v1.ReadRequest - 21, // 62: google.spanner.v1.Spanner.StreamingRead:input_type -> google.spanner.v1.ReadRequest - 22, // 63: google.spanner.v1.Spanner.BeginTransaction:input_type -> google.spanner.v1.BeginTransactionRequest - 23, // 64: google.spanner.v1.Spanner.Commit:input_type -> google.spanner.v1.CommitRequest - 24, // 65: google.spanner.v1.Spanner.Rollback:input_type -> google.spanner.v1.RollbackRequest - 17, // 66: google.spanner.v1.Spanner.PartitionQuery:input_type -> google.spanner.v1.PartitionQueryRequest - 18, // 67: google.spanner.v1.Spanner.PartitionRead:input_type -> google.spanner.v1.PartitionReadRequest - 25, // 68: google.spanner.v1.Spanner.BatchWrite:input_type -> google.spanner.v1.BatchWriteRequest - 6, // 69: google.spanner.v1.Spanner.CreateSession:output_type -> google.spanner.v1.Session - 5, // 70: google.spanner.v1.Spanner.BatchCreateSessions:output_type -> google.spanner.v1.BatchCreateSessionsResponse - 6, // 71: google.spanner.v1.Spanner.GetSession:output_type -> google.spanner.v1.Session - 9, // 72: google.spanner.v1.Spanner.ListSessions:output_type -> google.spanner.v1.ListSessionsResponse - 47, // 73: google.spanner.v1.Spanner.DeleteSession:output_type -> google.protobuf.Empty - 40, // 74: google.spanner.v1.Spanner.ExecuteSql:output_type -> google.spanner.v1.ResultSet - 48, // 75: google.spanner.v1.Spanner.ExecuteStreamingSql:output_type -> google.spanner.v1.PartialResultSet - 15, // 76: google.spanner.v1.Spanner.ExecuteBatchDml:output_type -> google.spanner.v1.ExecuteBatchDmlResponse - 40, // 77: google.spanner.v1.Spanner.Read:output_type -> google.spanner.v1.ResultSet - 48, // 78: google.spanner.v1.Spanner.StreamingRead:output_type -> google.spanner.v1.PartialResultSet - 43, // 79: google.spanner.v1.Spanner.BeginTransaction:output_type -> google.spanner.v1.Transaction - 49, // 80: google.spanner.v1.Spanner.Commit:output_type -> google.spanner.v1.CommitResponse - 47, // 81: google.spanner.v1.Spanner.Rollback:output_type -> google.protobuf.Empty - 20, // 82: google.spanner.v1.Spanner.PartitionQuery:output_type -> google.spanner.v1.PartitionResponse - 20, // 83: google.spanner.v1.Spanner.PartitionRead:output_type -> google.spanner.v1.PartitionResponse - 26, // 84: google.spanner.v1.Spanner.BatchWrite:output_type -> google.spanner.v1.BatchWriteResponse - 69, // [69:85] is the sub-list for method output_type - 53, // [53:69] is the sub-list for method input_type - 53, // [53:53] is the sub-list for extension type_name - 53, // [53:53] is the sub-list for extension extendee - 0, // [0:53] is the sub-list for field type_name + 46, // 39: google.spanner.v1.CommitRequest.max_commit_delay:type_name -> google.protobuf.Duration + 11, // 40: google.spanner.v1.CommitRequest.request_options:type_name -> google.spanner.v1.RequestOptions + 11, // 41: google.spanner.v1.BatchWriteRequest.request_options:type_name -> google.spanner.v1.RequestOptions + 36, // 42: google.spanner.v1.BatchWriteRequest.mutation_groups:type_name -> google.spanner.v1.BatchWriteRequest.MutationGroup + 41, // 43: google.spanner.v1.BatchWriteResponse.status:type_name -> google.rpc.Status + 37, // 44: google.spanner.v1.BatchWriteResponse.commit_timestamp:type_name -> google.protobuf.Timestamp + 1, // 45: google.spanner.v1.DirectedReadOptions.ReplicaSelection.type:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection.Type + 28, // 46: google.spanner.v1.DirectedReadOptions.IncludeReplicas.replica_selections:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection + 28, // 47: google.spanner.v1.DirectedReadOptions.ExcludeReplicas.replica_selections:type_name -> google.spanner.v1.DirectedReadOptions.ReplicaSelection + 47, // 48: google.spanner.v1.ExecuteSqlRequest.ParamTypesEntry.value:type_name -> google.spanner.v1.Type + 39, // 49: google.spanner.v1.ExecuteBatchDmlRequest.Statement.params:type_name -> google.protobuf.Struct + 34, // 50: google.spanner.v1.ExecuteBatchDmlRequest.Statement.param_types:type_name -> google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry + 47, // 51: google.spanner.v1.ExecuteBatchDmlRequest.Statement.ParamTypesEntry.value:type_name -> google.spanner.v1.Type + 47, // 52: google.spanner.v1.PartitionQueryRequest.ParamTypesEntry.value:type_name -> google.spanner.v1.Type + 45, // 53: google.spanner.v1.BatchWriteRequest.MutationGroup.mutations:type_name -> google.spanner.v1.Mutation + 3, // 54: google.spanner.v1.Spanner.CreateSession:input_type -> google.spanner.v1.CreateSessionRequest + 4, // 55: google.spanner.v1.Spanner.BatchCreateSessions:input_type -> google.spanner.v1.BatchCreateSessionsRequest + 7, // 56: google.spanner.v1.Spanner.GetSession:input_type -> google.spanner.v1.GetSessionRequest + 8, // 57: google.spanner.v1.Spanner.ListSessions:input_type -> google.spanner.v1.ListSessionsRequest + 10, // 58: google.spanner.v1.Spanner.DeleteSession:input_type -> google.spanner.v1.DeleteSessionRequest + 13, // 59: google.spanner.v1.Spanner.ExecuteSql:input_type -> google.spanner.v1.ExecuteSqlRequest + 13, // 60: google.spanner.v1.Spanner.ExecuteStreamingSql:input_type -> google.spanner.v1.ExecuteSqlRequest + 14, // 61: google.spanner.v1.Spanner.ExecuteBatchDml:input_type -> google.spanner.v1.ExecuteBatchDmlRequest + 21, // 62: google.spanner.v1.Spanner.Read:input_type -> google.spanner.v1.ReadRequest + 21, // 63: google.spanner.v1.Spanner.StreamingRead:input_type -> google.spanner.v1.ReadRequest + 22, // 64: google.spanner.v1.Spanner.BeginTransaction:input_type -> google.spanner.v1.BeginTransactionRequest + 23, // 65: google.spanner.v1.Spanner.Commit:input_type -> google.spanner.v1.CommitRequest + 24, // 66: google.spanner.v1.Spanner.Rollback:input_type -> google.spanner.v1.RollbackRequest + 17, // 67: google.spanner.v1.Spanner.PartitionQuery:input_type -> google.spanner.v1.PartitionQueryRequest + 18, // 68: google.spanner.v1.Spanner.PartitionRead:input_type -> google.spanner.v1.PartitionReadRequest + 25, // 69: google.spanner.v1.Spanner.BatchWrite:input_type -> google.spanner.v1.BatchWriteRequest + 6, // 70: google.spanner.v1.Spanner.CreateSession:output_type -> google.spanner.v1.Session + 5, // 71: google.spanner.v1.Spanner.BatchCreateSessions:output_type -> google.spanner.v1.BatchCreateSessionsResponse + 6, // 72: google.spanner.v1.Spanner.GetSession:output_type -> google.spanner.v1.Session + 9, // 73: google.spanner.v1.Spanner.ListSessions:output_type -> google.spanner.v1.ListSessionsResponse + 48, // 74: google.spanner.v1.Spanner.DeleteSession:output_type -> google.protobuf.Empty + 40, // 75: google.spanner.v1.Spanner.ExecuteSql:output_type -> google.spanner.v1.ResultSet + 49, // 76: google.spanner.v1.Spanner.ExecuteStreamingSql:output_type -> google.spanner.v1.PartialResultSet + 15, // 77: google.spanner.v1.Spanner.ExecuteBatchDml:output_type -> google.spanner.v1.ExecuteBatchDmlResponse + 40, // 78: google.spanner.v1.Spanner.Read:output_type -> google.spanner.v1.ResultSet + 49, // 79: google.spanner.v1.Spanner.StreamingRead:output_type -> google.spanner.v1.PartialResultSet + 43, // 80: google.spanner.v1.Spanner.BeginTransaction:output_type -> google.spanner.v1.Transaction + 50, // 81: google.spanner.v1.Spanner.Commit:output_type -> google.spanner.v1.CommitResponse + 48, // 82: google.spanner.v1.Spanner.Rollback:output_type -> google.protobuf.Empty + 20, // 83: google.spanner.v1.Spanner.PartitionQuery:output_type -> google.spanner.v1.PartitionResponse + 20, // 84: google.spanner.v1.Spanner.PartitionRead:output_type -> google.spanner.v1.PartitionResponse + 26, // 85: google.spanner.v1.Spanner.BatchWrite:output_type -> google.spanner.v1.BatchWriteResponse + 70, // [70:86] is the sub-list for method output_type + 54, // [54:70] is the sub-list for method input_type + 54, // [54:54] is the sub-list for extension type_name + 54, // [54:54] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name } func init() { file_google_spanner_v1_spanner_proto_init() } diff --git a/vmwareengine/apiv1/auxiliary.go b/vmwareengine/apiv1/auxiliary.go index e3040723faf6..5a45453a15b5 100755 --- a/vmwareengine/apiv1/auxiliary.go +++ b/vmwareengine/apiv1/auxiliary.go @@ -92,8 +92,8 @@ func (op *CreateClusterOperation) Name() string { return op.lro.Name() } -// CreateHcxActivationKeyOperation manages a long-running operation from CreateHcxActivationKey. -type CreateHcxActivationKeyOperation struct { +// CreateExternalAccessRuleOperation manages a long-running operation from CreateExternalAccessRule. +type CreateExternalAccessRuleOperation struct { lro *longrunning.Operation pollPath string } @@ -101,9 +101,9 @@ type CreateHcxActivationKeyOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *CreateHcxActivationKeyOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { +func (op *CreateExternalAccessRuleOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.HcxActivationKey + var resp vmwareenginepb.ExternalAccessRule if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -119,9 +119,9 @@ func (op *CreateHcxActivationKeyOperation) Wait(ctx context.Context, opts ...gax // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *CreateHcxActivationKeyOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { +func (op *CreateExternalAccessRuleOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.HcxActivationKey + var resp vmwareenginepb.ExternalAccessRule if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -135,7 +135,7 @@ func (op *CreateHcxActivationKeyOperation) Poll(ctx context.Context, opts ...gax // Metadata itself does not contact the server, but Poll does. // To get the latest metadata, call this method after a successful call to Poll. // If the metadata is not available, the returned metadata and error are both nil. -func (op *CreateHcxActivationKeyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateExternalAccessRuleOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -146,18 +146,18 @@ func (op *CreateHcxActivationKeyOperation) Metadata() (*vmwareenginepb.Operation } // Done reports whether the long-running operation has completed. -func (op *CreateHcxActivationKeyOperation) Done() bool { +func (op *CreateExternalAccessRuleOperation) 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 *CreateHcxActivationKeyOperation) Name() string { +func (op *CreateExternalAccessRuleOperation) Name() string { return op.lro.Name() } -// CreateNetworkPolicyOperation manages a long-running operation from CreateNetworkPolicy. -type CreateNetworkPolicyOperation struct { +// CreateExternalAddressOperation manages a long-running operation from CreateExternalAddress. +type CreateExternalAddressOperation struct { lro *longrunning.Operation pollPath string } @@ -165,9 +165,9 @@ type CreateNetworkPolicyOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *CreateNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { +func (op *CreateExternalAddressOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.NetworkPolicy + var resp vmwareenginepb.ExternalAddress if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -183,9 +183,9 @@ func (op *CreateNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.Ca // 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 *CreateNetworkPolicyOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { +func (op *CreateExternalAddressOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.NetworkPolicy + var resp vmwareenginepb.ExternalAddress if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -199,7 +199,7 @@ func (op *CreateNetworkPolicyOperation) Poll(ctx context.Context, opts ...gax.Ca // 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 *CreateNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateExternalAddressOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -210,18 +210,18 @@ func (op *CreateNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMet } // Done reports whether the long-running operation has completed. -func (op *CreateNetworkPolicyOperation) Done() bool { +func (op *CreateExternalAddressOperation) 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 *CreateNetworkPolicyOperation) Name() string { +func (op *CreateExternalAddressOperation) Name() string { return op.lro.Name() } -// CreatePrivateCloudOperation manages a long-running operation from CreatePrivateCloud. -type CreatePrivateCloudOperation struct { +// CreateHcxActivationKeyOperation manages a long-running operation from CreateHcxActivationKey. +type CreateHcxActivationKeyOperation struct { lro *longrunning.Operation pollPath string } @@ -229,9 +229,9 @@ type CreatePrivateCloudOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *CreatePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *CreateHcxActivationKeyOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.HcxActivationKey if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -247,9 +247,9 @@ func (op *CreatePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.Cal // 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 *CreatePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *CreateHcxActivationKeyOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.HcxActivationKey if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -263,7 +263,7 @@ func (op *CreatePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.Cal // 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 *CreatePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateHcxActivationKeyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -274,18 +274,18 @@ func (op *CreatePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMeta } // Done reports whether the long-running operation has completed. -func (op *CreatePrivateCloudOperation) Done() bool { +func (op *CreateHcxActivationKeyOperation) 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 *CreatePrivateCloudOperation) Name() string { +func (op *CreateHcxActivationKeyOperation) Name() string { return op.lro.Name() } -// CreatePrivateConnectionOperation manages a long-running operation from CreatePrivateConnection. -type CreatePrivateConnectionOperation struct { +// CreateLoggingServerOperation manages a long-running operation from CreateLoggingServer. +type CreateLoggingServerOperation struct { lro *longrunning.Operation pollPath string } @@ -293,9 +293,9 @@ type CreatePrivateConnectionOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *CreatePrivateConnectionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { +func (op *CreateLoggingServerOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateConnection + var resp vmwareenginepb.LoggingServer if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -311,9 +311,9 @@ func (op *CreatePrivateConnectionOperation) Wait(ctx context.Context, opts ...ga // 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 *CreatePrivateConnectionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { +func (op *CreateLoggingServerOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateConnection + var resp vmwareenginepb.LoggingServer if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -327,7 +327,7 @@ func (op *CreatePrivateConnectionOperation) Poll(ctx context.Context, opts ...ga // 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 *CreatePrivateConnectionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateLoggingServerOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -338,18 +338,18 @@ func (op *CreatePrivateConnectionOperation) Metadata() (*vmwareenginepb.Operatio } // Done reports whether the long-running operation has completed. -func (op *CreatePrivateConnectionOperation) Done() bool { +func (op *CreateLoggingServerOperation) 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 *CreatePrivateConnectionOperation) Name() string { +func (op *CreateLoggingServerOperation) Name() string { return op.lro.Name() } -// CreateVmwareEngineNetworkOperation manages a long-running operation from CreateVmwareEngineNetwork. -type CreateVmwareEngineNetworkOperation struct { +// CreateManagementDnsZoneBindingOperation manages a long-running operation from CreateManagementDnsZoneBinding. +type CreateManagementDnsZoneBindingOperation struct { lro *longrunning.Operation pollPath string } @@ -357,9 +357,9 @@ type CreateVmwareEngineNetworkOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *CreateVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { +func (op *CreateManagementDnsZoneBindingOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.VmwareEngineNetwork + var resp vmwareenginepb.ManagementDnsZoneBinding if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -375,9 +375,9 @@ func (op *CreateVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ... // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *CreateVmwareEngineNetworkOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { +func (op *CreateManagementDnsZoneBindingOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.VmwareEngineNetwork + var resp vmwareenginepb.ManagementDnsZoneBinding if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -391,7 +391,7 @@ func (op *CreateVmwareEngineNetworkOperation) Poll(ctx context.Context, opts ... // Metadata itself does not contact the server, but Poll does. // To get the latest metadata, call this method after a successful call to Poll. // If the metadata is not available, the returned metadata and error are both nil. -func (op *CreateVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateManagementDnsZoneBindingOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -402,18 +402,18 @@ func (op *CreateVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.Operat } // Done reports whether the long-running operation has completed. -func (op *CreateVmwareEngineNetworkOperation) Done() bool { +func (op *CreateManagementDnsZoneBindingOperation) 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 *CreateVmwareEngineNetworkOperation) Name() string { +func (op *CreateManagementDnsZoneBindingOperation) Name() string { return op.lro.Name() } -// DeleteClusterOperation manages a long-running operation from DeleteCluster. -type DeleteClusterOperation struct { +// CreateNetworkPeeringOperation manages a long-running operation from CreateNetworkPeering. +type CreateNetworkPeeringOperation struct { lro *longrunning.Operation pollPath string } @@ -421,9 +421,13 @@ type DeleteClusterOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *DeleteClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateNetworkPeeringOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) + var resp vmwareenginepb.NetworkPeering + 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. @@ -435,16 +439,23 @@ func (op *DeleteClusterOperation) Wait(ctx context.Context, opts ...gax.CallOpti // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *DeleteClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateNetworkPeeringOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.Poll(ctx, nil, opts...) + var resp vmwareenginepb.NetworkPeering + 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 *DeleteClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateNetworkPeeringOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -455,18 +466,18 @@ func (op *DeleteClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, } // Done reports whether the long-running operation has completed. -func (op *DeleteClusterOperation) Done() bool { +func (op *CreateNetworkPeeringOperation) 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 *DeleteClusterOperation) Name() string { +func (op *CreateNetworkPeeringOperation) Name() string { return op.lro.Name() } -// DeleteNetworkPolicyOperation manages a long-running operation from DeleteNetworkPolicy. -type DeleteNetworkPolicyOperation struct { +// CreateNetworkPolicyOperation manages a long-running operation from CreateNetworkPolicy. +type CreateNetworkPolicyOperation struct { lro *longrunning.Operation pollPath string } @@ -474,9 +485,13 @@ type DeleteNetworkPolicyOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *DeleteNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) + var resp vmwareenginepb.NetworkPolicy + 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. @@ -488,16 +503,23 @@ func (op *DeleteNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.Ca // 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 *DeleteNetworkPolicyOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateNetworkPolicyOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.Poll(ctx, nil, opts...) + var resp vmwareenginepb.NetworkPolicy + 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 *DeleteNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -508,18 +530,18 @@ func (op *DeleteNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMet } // Done reports whether the long-running operation has completed. -func (op *DeleteNetworkPolicyOperation) Done() bool { +func (op *CreateNetworkPolicyOperation) 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 *DeleteNetworkPolicyOperation) Name() string { +func (op *CreateNetworkPolicyOperation) Name() string { return op.lro.Name() } -// DeletePrivateCloudOperation manages a long-running operation from DeletePrivateCloud. -type DeletePrivateCloudOperation struct { +// CreatePrivateCloudOperation manages a long-running operation from CreatePrivateCloud. +type CreatePrivateCloudOperation struct { lro *longrunning.Operation pollPath string } @@ -527,7 +549,7 @@ type DeletePrivateCloudOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *DeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *CreatePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) var resp vmwareenginepb.PrivateCloud if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { @@ -545,7 +567,7 @@ func (op *DeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.Cal // 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 *DeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *CreatePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) var resp vmwareenginepb.PrivateCloud if err := op.lro.Poll(ctx, &resp, opts...); err != nil { @@ -561,7 +583,7 @@ func (op *DeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.Cal // 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 *DeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreatePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -572,18 +594,18 @@ func (op *DeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMeta } // Done reports whether the long-running operation has completed. -func (op *DeletePrivateCloudOperation) Done() bool { +func (op *CreatePrivateCloudOperation) 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 *DeletePrivateCloudOperation) Name() string { +func (op *CreatePrivateCloudOperation) Name() string { return op.lro.Name() } -// DeletePrivateConnectionOperation manages a long-running operation from DeletePrivateConnection. -type DeletePrivateConnectionOperation struct { +// CreatePrivateConnectionOperation manages a long-running operation from CreatePrivateConnection. +type CreatePrivateConnectionOperation struct { lro *longrunning.Operation pollPath string } @@ -591,9 +613,13 @@ type DeletePrivateConnectionOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *DeletePrivateConnectionOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreatePrivateConnectionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) + var resp vmwareenginepb.PrivateConnection + 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. @@ -605,16 +631,23 @@ func (op *DeletePrivateConnectionOperation) Wait(ctx context.Context, opts ...ga // 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 *DeletePrivateConnectionOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreatePrivateConnectionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.Poll(ctx, nil, opts...) + var resp vmwareenginepb.PrivateConnection + 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 *DeletePrivateConnectionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreatePrivateConnectionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -625,18 +658,18 @@ func (op *DeletePrivateConnectionOperation) Metadata() (*vmwareenginepb.Operatio } // Done reports whether the long-running operation has completed. -func (op *DeletePrivateConnectionOperation) Done() bool { +func (op *CreatePrivateConnectionOperation) 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 *DeletePrivateConnectionOperation) Name() string { +func (op *CreatePrivateConnectionOperation) Name() string { return op.lro.Name() } -// DeleteVmwareEngineNetworkOperation manages a long-running operation from DeleteVmwareEngineNetwork. -type DeleteVmwareEngineNetworkOperation struct { +// CreateVmwareEngineNetworkOperation manages a long-running operation from CreateVmwareEngineNetwork. +type CreateVmwareEngineNetworkOperation struct { lro *longrunning.Operation pollPath string } @@ -644,9 +677,13 @@ type DeleteVmwareEngineNetworkOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *DeleteVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) + var resp vmwareenginepb.VmwareEngineNetwork + 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. @@ -658,16 +695,23 @@ func (op *DeleteVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ... // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *DeleteVmwareEngineNetworkOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { +func (op *CreateVmwareEngineNetworkOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.Poll(ctx, nil, opts...) + var resp vmwareenginepb.VmwareEngineNetwork + 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 *DeleteVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *CreateVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -678,18 +722,18 @@ func (op *DeleteVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.Operat } // Done reports whether the long-running operation has completed. -func (op *DeleteVmwareEngineNetworkOperation) Done() bool { +func (op *CreateVmwareEngineNetworkOperation) 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 *DeleteVmwareEngineNetworkOperation) Name() string { +func (op *CreateVmwareEngineNetworkOperation) Name() string { return op.lro.Name() } -// ResetNsxCredentialsOperation manages a long-running operation from ResetNsxCredentials. -type ResetNsxCredentialsOperation struct { +// DeleteClusterOperation manages a long-running operation from DeleteCluster. +type DeleteClusterOperation struct { lro *longrunning.Operation pollPath string } @@ -697,13 +741,9 @@ type ResetNsxCredentialsOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *ResetNsxCredentialsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *DeleteClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud - if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { - return nil, err - } - return &resp, nil + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) } // Poll fetches the latest state of the long-running operation. @@ -715,23 +755,69 @@ func (op *ResetNsxCredentialsOperation) Wait(ctx context.Context, opts ...gax.Ca // 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 *ResetNsxCredentialsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *DeleteClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud - if err := op.lro.Poll(ctx, &resp, opts...); err != nil { - return nil, err - } - if !op.Done() { + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil + } else if err != nil { + return nil, err } - return &resp, nil + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteClusterOperation) 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 *DeleteClusterOperation) Name() string { + return op.lro.Name() +} + +// DeleteExternalAccessRuleOperation manages a long-running operation from DeleteExternalAccessRule. +type DeleteExternalAccessRuleOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteExternalAccessRuleOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteExternalAccessRuleOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) } // Metadata returns metadata associated with the long-running operation. // Metadata itself does not contact the server, but Poll does. // To get the latest metadata, call this method after a successful call to Poll. // If the metadata is not available, the returned metadata and error are both nil. -func (op *ResetNsxCredentialsOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *DeleteExternalAccessRuleOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -742,18 +828,1093 @@ func (op *ResetNsxCredentialsOperation) Metadata() (*vmwareenginepb.OperationMet } // Done reports whether the long-running operation has completed. -func (op *ResetNsxCredentialsOperation) Done() bool { +func (op *DeleteExternalAccessRuleOperation) 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 *DeleteExternalAccessRuleOperation) Name() string { + return op.lro.Name() +} + +// DeleteExternalAddressOperation manages a long-running operation from DeleteExternalAddress. +type DeleteExternalAddressOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteExternalAddressOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteExternalAddressOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteExternalAddressOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteExternalAddressOperation) 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 *DeleteExternalAddressOperation) Name() string { + return op.lro.Name() +} + +// DeleteLoggingServerOperation manages a long-running operation from DeleteLoggingServer. +type DeleteLoggingServerOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteLoggingServerOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteLoggingServerOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteLoggingServerOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteLoggingServerOperation) 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 *DeleteLoggingServerOperation) Name() string { + return op.lro.Name() +} + +// DeleteManagementDnsZoneBindingOperation manages a long-running operation from DeleteManagementDnsZoneBinding. +type DeleteManagementDnsZoneBindingOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteManagementDnsZoneBindingOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteManagementDnsZoneBindingOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteManagementDnsZoneBindingOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteManagementDnsZoneBindingOperation) 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 *DeleteManagementDnsZoneBindingOperation) Name() string { + return op.lro.Name() +} + +// DeleteNetworkPeeringOperation manages a long-running operation from DeleteNetworkPeering. +type DeleteNetworkPeeringOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteNetworkPeeringOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteNetworkPeeringOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteNetworkPeeringOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteNetworkPeeringOperation) 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 *DeleteNetworkPeeringOperation) Name() string { + return op.lro.Name() +} + +// DeleteNetworkPolicyOperation manages a long-running operation from DeleteNetworkPolicy. +type DeleteNetworkPolicyOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteNetworkPolicyOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteNetworkPolicyOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteNetworkPolicyOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteNetworkPolicyOperation) 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 *DeleteNetworkPolicyOperation) Name() string { + return op.lro.Name() +} + +// DeletePrivateCloudOperation manages a long-running operation from DeletePrivateCloud. +type DeletePrivateCloudOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *DeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *DeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeletePrivateCloudOperation) 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 *DeletePrivateCloudOperation) Name() string { + return op.lro.Name() +} + +// DeletePrivateConnectionOperation manages a long-running operation from DeletePrivateConnection. +type DeletePrivateConnectionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeletePrivateConnectionOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeletePrivateConnectionOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeletePrivateConnectionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeletePrivateConnectionOperation) 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 *DeletePrivateConnectionOperation) Name() string { + return op.lro.Name() +} + +// DeleteVmwareEngineNetworkOperation manages a long-running operation from DeleteVmwareEngineNetwork. +type DeleteVmwareEngineNetworkOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteVmwareEngineNetworkOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteVmwareEngineNetworkOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteVmwareEngineNetworkOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *DeleteVmwareEngineNetworkOperation) 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 *DeleteVmwareEngineNetworkOperation) Name() string { + return op.lro.Name() +} + +// GrantDnsBindPermissionOperation manages a long-running operation from GrantDnsBindPermission. +type GrantDnsBindPermissionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *GrantDnsBindPermissionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsBindPermission + 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 *GrantDnsBindPermissionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsBindPermission + 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 *GrantDnsBindPermissionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *GrantDnsBindPermissionOperation) 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 *GrantDnsBindPermissionOperation) Name() string { + return op.lro.Name() +} + +// RepairManagementDnsZoneBindingOperation manages a long-running operation from RepairManagementDnsZoneBinding. +type RepairManagementDnsZoneBindingOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *RepairManagementDnsZoneBindingOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ManagementDnsZoneBinding + 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 *RepairManagementDnsZoneBindingOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ManagementDnsZoneBinding + 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 *RepairManagementDnsZoneBindingOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *RepairManagementDnsZoneBindingOperation) 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 *RepairManagementDnsZoneBindingOperation) Name() string { + return op.lro.Name() +} + +// ResetNsxCredentialsOperation manages a long-running operation from ResetNsxCredentials. +type ResetNsxCredentialsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ResetNsxCredentialsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *ResetNsxCredentialsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *ResetNsxCredentialsOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *ResetNsxCredentialsOperation) 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 *ResetNsxCredentialsOperation) Name() string { + return op.lro.Name() +} + +// ResetVcenterCredentialsOperation manages a long-running operation from ResetVcenterCredentials. +type ResetVcenterCredentialsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ResetVcenterCredentialsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *ResetVcenterCredentialsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *ResetVcenterCredentialsOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *ResetVcenterCredentialsOperation) 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 *ResetVcenterCredentialsOperation) Name() string { + return op.lro.Name() +} + +// RevokeDnsBindPermissionOperation manages a long-running operation from RevokeDnsBindPermission. +type RevokeDnsBindPermissionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *RevokeDnsBindPermissionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsBindPermission + 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 *RevokeDnsBindPermissionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsBindPermission + 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 *RevokeDnsBindPermissionOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *RevokeDnsBindPermissionOperation) 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 *RevokeDnsBindPermissionOperation) Name() string { + return op.lro.Name() +} + +// UndeletePrivateCloudOperation manages a long-running operation from UndeletePrivateCloud. +type UndeletePrivateCloudOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UndeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *UndeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.PrivateCloud + 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 *UndeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *UndeletePrivateCloudOperation) 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 *UndeletePrivateCloudOperation) Name() string { + return op.lro.Name() +} + +// UpdateClusterOperation manages a long-running operation from UpdateCluster. +type UpdateClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.Cluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.Cluster + 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 *UpdateClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.Cluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.Cluster + 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 *UpdateClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *UpdateClusterOperation) 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 *UpdateClusterOperation) Name() string { + return op.lro.Name() +} + +// UpdateDnsForwardingOperation manages a long-running operation from UpdateDnsForwarding. +type UpdateDnsForwardingOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateDnsForwardingOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsForwarding + 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 *UpdateDnsForwardingOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.DnsForwarding + 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 *UpdateDnsForwardingOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *UpdateDnsForwardingOperation) 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 *UpdateDnsForwardingOperation) Name() string { + return op.lro.Name() +} + +// UpdateExternalAccessRuleOperation manages a long-running operation from UpdateExternalAccessRule. +type UpdateExternalAccessRuleOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateExternalAccessRuleOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ExternalAccessRule + 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 *UpdateExternalAccessRuleOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ExternalAccessRule + 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 *UpdateExternalAccessRuleOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *UpdateExternalAccessRuleOperation) 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 *UpdateExternalAccessRuleOperation) Name() string { + return op.lro.Name() +} + +// UpdateExternalAddressOperation manages a long-running operation from UpdateExternalAddress. +type UpdateExternalAddressOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateExternalAddressOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ExternalAddress + 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 *UpdateExternalAddressOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp vmwareenginepb.ExternalAddress + 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 *UpdateExternalAddressOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { + var meta vmwareenginepb.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 *UpdateExternalAddressOperation) 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 *ResetNsxCredentialsOperation) Name() string { +func (op *UpdateExternalAddressOperation) Name() string { return op.lro.Name() } -// ResetVcenterCredentialsOperation manages a long-running operation from ResetVcenterCredentials. -type ResetVcenterCredentialsOperation struct { +// UpdateLoggingServerOperation manages a long-running operation from UpdateLoggingServer. +type UpdateLoggingServerOperation struct { lro *longrunning.Operation pollPath string } @@ -761,9 +1922,9 @@ type ResetVcenterCredentialsOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *ResetVcenterCredentialsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *UpdateLoggingServerOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.LoggingServer if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -779,9 +1940,9 @@ func (op *ResetVcenterCredentialsOperation) Wait(ctx context.Context, opts ...ga // 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 *ResetVcenterCredentialsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *UpdateLoggingServerOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.LoggingServer if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -795,7 +1956,7 @@ func (op *ResetVcenterCredentialsOperation) Poll(ctx context.Context, opts ...ga // 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 *ResetVcenterCredentialsOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *UpdateLoggingServerOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -806,18 +1967,18 @@ func (op *ResetVcenterCredentialsOperation) Metadata() (*vmwareenginepb.Operatio } // Done reports whether the long-running operation has completed. -func (op *ResetVcenterCredentialsOperation) Done() bool { +func (op *UpdateLoggingServerOperation) 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 *ResetVcenterCredentialsOperation) Name() string { +func (op *UpdateLoggingServerOperation) Name() string { return op.lro.Name() } -// UndeletePrivateCloudOperation manages a long-running operation from UndeletePrivateCloud. -type UndeletePrivateCloudOperation struct { +// UpdateManagementDnsZoneBindingOperation manages a long-running operation from UpdateManagementDnsZoneBinding. +type UpdateManagementDnsZoneBindingOperation struct { lro *longrunning.Operation pollPath string } @@ -825,9 +1986,9 @@ type UndeletePrivateCloudOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *UndeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *UpdateManagementDnsZoneBindingOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.ManagementDnsZoneBinding if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -843,9 +2004,9 @@ func (op *UndeletePrivateCloudOperation) Wait(ctx context.Context, opts ...gax.C // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *UndeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (op *UpdateManagementDnsZoneBindingOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.PrivateCloud + var resp vmwareenginepb.ManagementDnsZoneBinding if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -859,7 +2020,7 @@ func (op *UndeletePrivateCloudOperation) Poll(ctx context.Context, opts ...gax.C // Metadata itself does not contact the server, but Poll does. // To get the latest metadata, call this method after a successful call to Poll. // If the metadata is not available, the returned metadata and error are both nil. -func (op *UndeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *UpdateManagementDnsZoneBindingOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -870,18 +2031,18 @@ func (op *UndeletePrivateCloudOperation) Metadata() (*vmwareenginepb.OperationMe } // Done reports whether the long-running operation has completed. -func (op *UndeletePrivateCloudOperation) Done() bool { +func (op *UpdateManagementDnsZoneBindingOperation) 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 *UndeletePrivateCloudOperation) Name() string { +func (op *UpdateManagementDnsZoneBindingOperation) Name() string { return op.lro.Name() } -// UpdateClusterOperation manages a long-running operation from UpdateCluster. -type UpdateClusterOperation struct { +// UpdateNetworkPeeringOperation manages a long-running operation from UpdateNetworkPeering. +type UpdateNetworkPeeringOperation struct { lro *longrunning.Operation pollPath string } @@ -889,9 +2050,9 @@ type UpdateClusterOperation struct { // Wait blocks until the long-running operation is completed, returning the response and any errors encountered. // // See documentation of Poll for error-handling information. -func (op *UpdateClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.Cluster, error) { +func (op *UpdateNetworkPeeringOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.Cluster + var resp vmwareenginepb.NetworkPeering if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { return nil, err } @@ -907,9 +2068,9 @@ func (op *UpdateClusterOperation) Wait(ctx context.Context, opts ...gax.CallOpti // If Poll succeeds and the operation has completed successfully, // op.Done will return true, and the response of the operation is returned. // If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *UpdateClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.Cluster, error) { +func (op *UpdateNetworkPeeringOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp vmwareenginepb.Cluster + var resp vmwareenginepb.NetworkPeering if err := op.lro.Poll(ctx, &resp, opts...); err != nil { return nil, err } @@ -923,7 +2084,7 @@ func (op *UpdateClusterOperation) Poll(ctx context.Context, opts ...gax.CallOpti // Metadata itself does not contact the server, but Poll does. // To get the latest metadata, call this method after a successful call to Poll. // If the metadata is not available, the returned metadata and error are both nil. -func (op *UpdateClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { +func (op *UpdateNetworkPeeringOperation) Metadata() (*vmwareenginepb.OperationMetadata, error) { var meta vmwareenginepb.OperationMetadata if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { return nil, nil @@ -934,13 +2095,13 @@ func (op *UpdateClusterOperation) Metadata() (*vmwareenginepb.OperationMetadata, } // Done reports whether the long-running operation has completed. -func (op *UpdateClusterOperation) Done() bool { +func (op *UpdateNetworkPeeringOperation) 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 *UpdateClusterOperation) Name() string { +func (op *UpdateNetworkPeeringOperation) Name() string { return op.lro.Name() } @@ -1311,6 +2472,100 @@ func (it *ClusterIterator) takeBuf() interface{} { return b } +// ExternalAccessRuleIterator manages a stream of *vmwareenginepb.ExternalAccessRule. +type ExternalAccessRuleIterator struct { + items []*vmwareenginepb.ExternalAccessRule + 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 []*vmwareenginepb.ExternalAccessRule, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ExternalAccessRuleIterator) 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 *ExternalAccessRuleIterator) Next() (*vmwareenginepb.ExternalAccessRule, error) { + var item *vmwareenginepb.ExternalAccessRule + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ExternalAccessRuleIterator) bufLen() int { + return len(it.items) +} + +func (it *ExternalAccessRuleIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ExternalAddressIterator manages a stream of *vmwareenginepb.ExternalAddress. +type ExternalAddressIterator struct { + items []*vmwareenginepb.ExternalAddress + 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 []*vmwareenginepb.ExternalAddress, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ExternalAddressIterator) 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 *ExternalAddressIterator) Next() (*vmwareenginepb.ExternalAddress, error) { + var item *vmwareenginepb.ExternalAddress + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ExternalAddressIterator) bufLen() int { + return len(it.items) +} + +func (it *ExternalAddressIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // HcxActivationKeyIterator manages a stream of *vmwareenginepb.HcxActivationKey. type HcxActivationKeyIterator struct { items []*vmwareenginepb.HcxActivationKey @@ -1405,6 +2660,147 @@ func (it *LocationIterator) takeBuf() interface{} { return b } +// LoggingServerIterator manages a stream of *vmwareenginepb.LoggingServer. +type LoggingServerIterator struct { + items []*vmwareenginepb.LoggingServer + 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 []*vmwareenginepb.LoggingServer, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *LoggingServerIterator) 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 *LoggingServerIterator) Next() (*vmwareenginepb.LoggingServer, error) { + var item *vmwareenginepb.LoggingServer + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LoggingServerIterator) bufLen() int { + return len(it.items) +} + +func (it *LoggingServerIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ManagementDnsZoneBindingIterator manages a stream of *vmwareenginepb.ManagementDnsZoneBinding. +type ManagementDnsZoneBindingIterator struct { + items []*vmwareenginepb.ManagementDnsZoneBinding + 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 []*vmwareenginepb.ManagementDnsZoneBinding, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ManagementDnsZoneBindingIterator) 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 *ManagementDnsZoneBindingIterator) Next() (*vmwareenginepb.ManagementDnsZoneBinding, error) { + var item *vmwareenginepb.ManagementDnsZoneBinding + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ManagementDnsZoneBindingIterator) bufLen() int { + return len(it.items) +} + +func (it *ManagementDnsZoneBindingIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkPeeringIterator manages a stream of *vmwareenginepb.NetworkPeering. +type NetworkPeeringIterator struct { + items []*vmwareenginepb.NetworkPeering + 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 []*vmwareenginepb.NetworkPeering, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkPeeringIterator) 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 *NetworkPeeringIterator) Next() (*vmwareenginepb.NetworkPeering, error) { + var item *vmwareenginepb.NetworkPeering + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkPeeringIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkPeeringIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // NetworkPolicyIterator manages a stream of *vmwareenginepb.NetworkPolicy. type NetworkPolicyIterator struct { items []*vmwareenginepb.NetworkPolicy @@ -1452,6 +2848,53 @@ func (it *NetworkPolicyIterator) takeBuf() interface{} { return b } +// NodeIterator manages a stream of *vmwareenginepb.Node. +type NodeIterator struct { + items []*vmwareenginepb.Node + 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 []*vmwareenginepb.Node, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeIterator) 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 *NodeIterator) Next() (*vmwareenginepb.Node, error) { + var item *vmwareenginepb.Node + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + // NodeTypeIterator manages a stream of *vmwareenginepb.NodeType. type NodeTypeIterator struct { items []*vmwareenginepb.NodeType diff --git a/vmwareengine/apiv1/gapic_metadata.json b/vmwareengine/apiv1/gapic_metadata.json index c9a07da2ee5e..53f5d9c26536 100644 --- a/vmwareengine/apiv1/gapic_metadata.json +++ b/vmwareengine/apiv1/gapic_metadata.json @@ -15,11 +15,36 @@ "CreateCluster" ] }, + "CreateExternalAccessRule": { + "methods": [ + "CreateExternalAccessRule" + ] + }, + "CreateExternalAddress": { + "methods": [ + "CreateExternalAddress" + ] + }, "CreateHcxActivationKey": { "methods": [ "CreateHcxActivationKey" ] }, + "CreateLoggingServer": { + "methods": [ + "CreateLoggingServer" + ] + }, + "CreateManagementDnsZoneBinding": { + "methods": [ + "CreateManagementDnsZoneBinding" + ] + }, + "CreateNetworkPeering": { + "methods": [ + "CreateNetworkPeering" + ] + }, "CreateNetworkPolicy": { "methods": [ "CreateNetworkPolicy" @@ -45,6 +70,31 @@ "DeleteCluster" ] }, + "DeleteExternalAccessRule": { + "methods": [ + "DeleteExternalAccessRule" + ] + }, + "DeleteExternalAddress": { + "methods": [ + "DeleteExternalAddress" + ] + }, + "DeleteLoggingServer": { + "methods": [ + "DeleteLoggingServer" + ] + }, + "DeleteManagementDnsZoneBinding": { + "methods": [ + "DeleteManagementDnsZoneBinding" + ] + }, + "DeleteNetworkPeering": { + "methods": [ + "DeleteNetworkPeering" + ] + }, "DeleteNetworkPolicy": { "methods": [ "DeleteNetworkPolicy" @@ -70,11 +120,36 @@ "DeleteVmwareEngineNetwork" ] }, + "FetchNetworkPolicyExternalAddresses": { + "methods": [ + "FetchNetworkPolicyExternalAddresses" + ] + }, "GetCluster": { "methods": [ "GetCluster" ] }, + "GetDnsBindPermission": { + "methods": [ + "GetDnsBindPermission" + ] + }, + "GetDnsForwarding": { + "methods": [ + "GetDnsForwarding" + ] + }, + "GetExternalAccessRule": { + "methods": [ + "GetExternalAccessRule" + ] + }, + "GetExternalAddress": { + "methods": [ + "GetExternalAddress" + ] + }, "GetHcxActivationKey": { "methods": [ "GetHcxActivationKey" @@ -90,11 +165,31 @@ "GetLocation" ] }, + "GetLoggingServer": { + "methods": [ + "GetLoggingServer" + ] + }, + "GetManagementDnsZoneBinding": { + "methods": [ + "GetManagementDnsZoneBinding" + ] + }, + "GetNetworkPeering": { + "methods": [ + "GetNetworkPeering" + ] + }, "GetNetworkPolicy": { "methods": [ "GetNetworkPolicy" ] }, + "GetNode": { + "methods": [ + "GetNode" + ] + }, "GetNodeType": { "methods": [ "GetNodeType" @@ -125,11 +220,26 @@ "GetVmwareEngineNetwork" ] }, + "GrantDnsBindPermission": { + "methods": [ + "GrantDnsBindPermission" + ] + }, "ListClusters": { "methods": [ "ListClusters" ] }, + "ListExternalAccessRules": { + "methods": [ + "ListExternalAccessRules" + ] + }, + "ListExternalAddresses": { + "methods": [ + "ListExternalAddresses" + ] + }, "ListHcxActivationKeys": { "methods": [ "ListHcxActivationKeys" @@ -140,6 +250,21 @@ "ListLocations" ] }, + "ListLoggingServers": { + "methods": [ + "ListLoggingServers" + ] + }, + "ListManagementDnsZoneBindings": { + "methods": [ + "ListManagementDnsZoneBindings" + ] + }, + "ListNetworkPeerings": { + "methods": [ + "ListNetworkPeerings" + ] + }, "ListNetworkPolicies": { "methods": [ "ListNetworkPolicies" @@ -150,11 +275,21 @@ "ListNodeTypes" ] }, + "ListNodes": { + "methods": [ + "ListNodes" + ] + }, "ListOperations": { "methods": [ "ListOperations" ] }, + "ListPeeringRoutes": { + "methods": [ + "ListPeeringRoutes" + ] + }, "ListPrivateClouds": { "methods": [ "ListPrivateClouds" @@ -180,6 +315,11 @@ "ListVmwareEngineNetworks" ] }, + "RepairManagementDnsZoneBinding": { + "methods": [ + "RepairManagementDnsZoneBinding" + ] + }, "ResetNsxCredentials": { "methods": [ "ResetNsxCredentials" @@ -190,6 +330,11 @@ "ResetVcenterCredentials" ] }, + "RevokeDnsBindPermission": { + "methods": [ + "RevokeDnsBindPermission" + ] + }, "SetIamPolicy": { "methods": [ "SetIamPolicy" @@ -220,6 +365,36 @@ "UpdateCluster" ] }, + "UpdateDnsForwarding": { + "methods": [ + "UpdateDnsForwarding" + ] + }, + "UpdateExternalAccessRule": { + "methods": [ + "UpdateExternalAccessRule" + ] + }, + "UpdateExternalAddress": { + "methods": [ + "UpdateExternalAddress" + ] + }, + "UpdateLoggingServer": { + "methods": [ + "UpdateLoggingServer" + ] + }, + "UpdateManagementDnsZoneBinding": { + "methods": [ + "UpdateManagementDnsZoneBinding" + ] + }, + "UpdateNetworkPeering": { + "methods": [ + "UpdateNetworkPeering" + ] + }, "UpdateNetworkPolicy": { "methods": [ "UpdateNetworkPolicy" @@ -255,11 +430,36 @@ "CreateCluster" ] }, + "CreateExternalAccessRule": { + "methods": [ + "CreateExternalAccessRule" + ] + }, + "CreateExternalAddress": { + "methods": [ + "CreateExternalAddress" + ] + }, "CreateHcxActivationKey": { "methods": [ "CreateHcxActivationKey" ] }, + "CreateLoggingServer": { + "methods": [ + "CreateLoggingServer" + ] + }, + "CreateManagementDnsZoneBinding": { + "methods": [ + "CreateManagementDnsZoneBinding" + ] + }, + "CreateNetworkPeering": { + "methods": [ + "CreateNetworkPeering" + ] + }, "CreateNetworkPolicy": { "methods": [ "CreateNetworkPolicy" @@ -285,6 +485,31 @@ "DeleteCluster" ] }, + "DeleteExternalAccessRule": { + "methods": [ + "DeleteExternalAccessRule" + ] + }, + "DeleteExternalAddress": { + "methods": [ + "DeleteExternalAddress" + ] + }, + "DeleteLoggingServer": { + "methods": [ + "DeleteLoggingServer" + ] + }, + "DeleteManagementDnsZoneBinding": { + "methods": [ + "DeleteManagementDnsZoneBinding" + ] + }, + "DeleteNetworkPeering": { + "methods": [ + "DeleteNetworkPeering" + ] + }, "DeleteNetworkPolicy": { "methods": [ "DeleteNetworkPolicy" @@ -310,11 +535,36 @@ "DeleteVmwareEngineNetwork" ] }, + "FetchNetworkPolicyExternalAddresses": { + "methods": [ + "FetchNetworkPolicyExternalAddresses" + ] + }, "GetCluster": { "methods": [ "GetCluster" ] }, + "GetDnsBindPermission": { + "methods": [ + "GetDnsBindPermission" + ] + }, + "GetDnsForwarding": { + "methods": [ + "GetDnsForwarding" + ] + }, + "GetExternalAccessRule": { + "methods": [ + "GetExternalAccessRule" + ] + }, + "GetExternalAddress": { + "methods": [ + "GetExternalAddress" + ] + }, "GetHcxActivationKey": { "methods": [ "GetHcxActivationKey" @@ -330,11 +580,31 @@ "GetLocation" ] }, + "GetLoggingServer": { + "methods": [ + "GetLoggingServer" + ] + }, + "GetManagementDnsZoneBinding": { + "methods": [ + "GetManagementDnsZoneBinding" + ] + }, + "GetNetworkPeering": { + "methods": [ + "GetNetworkPeering" + ] + }, "GetNetworkPolicy": { "methods": [ "GetNetworkPolicy" ] }, + "GetNode": { + "methods": [ + "GetNode" + ] + }, "GetNodeType": { "methods": [ "GetNodeType" @@ -365,11 +635,26 @@ "GetVmwareEngineNetwork" ] }, + "GrantDnsBindPermission": { + "methods": [ + "GrantDnsBindPermission" + ] + }, "ListClusters": { "methods": [ "ListClusters" ] }, + "ListExternalAccessRules": { + "methods": [ + "ListExternalAccessRules" + ] + }, + "ListExternalAddresses": { + "methods": [ + "ListExternalAddresses" + ] + }, "ListHcxActivationKeys": { "methods": [ "ListHcxActivationKeys" @@ -380,6 +665,21 @@ "ListLocations" ] }, + "ListLoggingServers": { + "methods": [ + "ListLoggingServers" + ] + }, + "ListManagementDnsZoneBindings": { + "methods": [ + "ListManagementDnsZoneBindings" + ] + }, + "ListNetworkPeerings": { + "methods": [ + "ListNetworkPeerings" + ] + }, "ListNetworkPolicies": { "methods": [ "ListNetworkPolicies" @@ -390,11 +690,21 @@ "ListNodeTypes" ] }, + "ListNodes": { + "methods": [ + "ListNodes" + ] + }, "ListOperations": { "methods": [ "ListOperations" ] }, + "ListPeeringRoutes": { + "methods": [ + "ListPeeringRoutes" + ] + }, "ListPrivateClouds": { "methods": [ "ListPrivateClouds" @@ -420,6 +730,11 @@ "ListVmwareEngineNetworks" ] }, + "RepairManagementDnsZoneBinding": { + "methods": [ + "RepairManagementDnsZoneBinding" + ] + }, "ResetNsxCredentials": { "methods": [ "ResetNsxCredentials" @@ -430,6 +745,11 @@ "ResetVcenterCredentials" ] }, + "RevokeDnsBindPermission": { + "methods": [ + "RevokeDnsBindPermission" + ] + }, "SetIamPolicy": { "methods": [ "SetIamPolicy" @@ -460,6 +780,36 @@ "UpdateCluster" ] }, + "UpdateDnsForwarding": { + "methods": [ + "UpdateDnsForwarding" + ] + }, + "UpdateExternalAccessRule": { + "methods": [ + "UpdateExternalAccessRule" + ] + }, + "UpdateExternalAddress": { + "methods": [ + "UpdateExternalAddress" + ] + }, + "UpdateLoggingServer": { + "methods": [ + "UpdateLoggingServer" + ] + }, + "UpdateManagementDnsZoneBinding": { + "methods": [ + "UpdateManagementDnsZoneBinding" + ] + }, + "UpdateNetworkPeering": { + "methods": [ + "UpdateNetworkPeering" + ] + }, "UpdateNetworkPolicy": { "methods": [ "UpdateNetworkPolicy" diff --git a/vmwareengine/apiv1/vmware_engine_client.go b/vmwareengine/apiv1/vmware_engine_client.go index 6049935f1b3a..f4f9846d6ac2 100755 --- a/vmwareengine/apiv1/vmware_engine_client.go +++ b/vmwareengine/apiv1/vmware_engine_client.go @@ -49,53 +49,88 @@ var newClientHook clientHook // CallOptions contains the retry settings for each method of Client. type CallOptions struct { - ListPrivateClouds []gax.CallOption - GetPrivateCloud []gax.CallOption - CreatePrivateCloud []gax.CallOption - UpdatePrivateCloud []gax.CallOption - DeletePrivateCloud []gax.CallOption - UndeletePrivateCloud []gax.CallOption - ListClusters []gax.CallOption - GetCluster []gax.CallOption - CreateCluster []gax.CallOption - UpdateCluster []gax.CallOption - DeleteCluster []gax.CallOption - ListSubnets []gax.CallOption - GetSubnet []gax.CallOption - UpdateSubnet []gax.CallOption - ListNodeTypes []gax.CallOption - GetNodeType []gax.CallOption - ShowNsxCredentials []gax.CallOption - ShowVcenterCredentials []gax.CallOption - ResetNsxCredentials []gax.CallOption - ResetVcenterCredentials []gax.CallOption - CreateHcxActivationKey []gax.CallOption - ListHcxActivationKeys []gax.CallOption - GetHcxActivationKey []gax.CallOption - GetNetworkPolicy []gax.CallOption - ListNetworkPolicies []gax.CallOption - CreateNetworkPolicy []gax.CallOption - UpdateNetworkPolicy []gax.CallOption - DeleteNetworkPolicy []gax.CallOption - CreateVmwareEngineNetwork []gax.CallOption - UpdateVmwareEngineNetwork []gax.CallOption - DeleteVmwareEngineNetwork []gax.CallOption - GetVmwareEngineNetwork []gax.CallOption - ListVmwareEngineNetworks []gax.CallOption - CreatePrivateConnection []gax.CallOption - GetPrivateConnection []gax.CallOption - ListPrivateConnections []gax.CallOption - UpdatePrivateConnection []gax.CallOption - DeletePrivateConnection []gax.CallOption - ListPrivateConnectionPeeringRoutes []gax.CallOption - GetLocation []gax.CallOption - ListLocations []gax.CallOption - GetIamPolicy []gax.CallOption - SetIamPolicy []gax.CallOption - TestIamPermissions []gax.CallOption - DeleteOperation []gax.CallOption - GetOperation []gax.CallOption - ListOperations []gax.CallOption + ListPrivateClouds []gax.CallOption + GetPrivateCloud []gax.CallOption + CreatePrivateCloud []gax.CallOption + UpdatePrivateCloud []gax.CallOption + DeletePrivateCloud []gax.CallOption + UndeletePrivateCloud []gax.CallOption + ListClusters []gax.CallOption + GetCluster []gax.CallOption + CreateCluster []gax.CallOption + UpdateCluster []gax.CallOption + DeleteCluster []gax.CallOption + ListNodes []gax.CallOption + GetNode []gax.CallOption + ListExternalAddresses []gax.CallOption + FetchNetworkPolicyExternalAddresses []gax.CallOption + GetExternalAddress []gax.CallOption + CreateExternalAddress []gax.CallOption + UpdateExternalAddress []gax.CallOption + DeleteExternalAddress []gax.CallOption + ListSubnets []gax.CallOption + GetSubnet []gax.CallOption + UpdateSubnet []gax.CallOption + ListExternalAccessRules []gax.CallOption + GetExternalAccessRule []gax.CallOption + CreateExternalAccessRule []gax.CallOption + UpdateExternalAccessRule []gax.CallOption + DeleteExternalAccessRule []gax.CallOption + ListLoggingServers []gax.CallOption + GetLoggingServer []gax.CallOption + CreateLoggingServer []gax.CallOption + UpdateLoggingServer []gax.CallOption + DeleteLoggingServer []gax.CallOption + ListNodeTypes []gax.CallOption + GetNodeType []gax.CallOption + ShowNsxCredentials []gax.CallOption + ShowVcenterCredentials []gax.CallOption + ResetNsxCredentials []gax.CallOption + ResetVcenterCredentials []gax.CallOption + GetDnsForwarding []gax.CallOption + UpdateDnsForwarding []gax.CallOption + GetNetworkPeering []gax.CallOption + ListNetworkPeerings []gax.CallOption + CreateNetworkPeering []gax.CallOption + DeleteNetworkPeering []gax.CallOption + UpdateNetworkPeering []gax.CallOption + ListPeeringRoutes []gax.CallOption + CreateHcxActivationKey []gax.CallOption + ListHcxActivationKeys []gax.CallOption + GetHcxActivationKey []gax.CallOption + GetNetworkPolicy []gax.CallOption + ListNetworkPolicies []gax.CallOption + CreateNetworkPolicy []gax.CallOption + UpdateNetworkPolicy []gax.CallOption + DeleteNetworkPolicy []gax.CallOption + ListManagementDnsZoneBindings []gax.CallOption + GetManagementDnsZoneBinding []gax.CallOption + CreateManagementDnsZoneBinding []gax.CallOption + UpdateManagementDnsZoneBinding []gax.CallOption + DeleteManagementDnsZoneBinding []gax.CallOption + RepairManagementDnsZoneBinding []gax.CallOption + CreateVmwareEngineNetwork []gax.CallOption + UpdateVmwareEngineNetwork []gax.CallOption + DeleteVmwareEngineNetwork []gax.CallOption + GetVmwareEngineNetwork []gax.CallOption + ListVmwareEngineNetworks []gax.CallOption + CreatePrivateConnection []gax.CallOption + GetPrivateConnection []gax.CallOption + ListPrivateConnections []gax.CallOption + UpdatePrivateConnection []gax.CallOption + DeletePrivateConnection []gax.CallOption + ListPrivateConnectionPeeringRoutes []gax.CallOption + GrantDnsBindPermission []gax.CallOption + GetDnsBindPermission []gax.CallOption + RevokeDnsBindPermission []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + GetIamPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption } func defaultGRPCClientOptions() []option.ClientOption { @@ -181,6 +216,66 @@ func defaultCallOptions() *CallOptions { DeleteCluster: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, + ListNodes: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + GetNode: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + ListExternalAddresses: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + FetchNetworkPolicyExternalAddresses: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + CreateExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, ListSubnets: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -208,6 +303,72 @@ func defaultCallOptions() *CallOptions { UpdateSubnet: []gax.CallOption{ gax.WithTimeout(60000 * time.Millisecond), }, + ListExternalAccessRules: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + GetExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + CreateExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListLoggingServers: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + GetLoggingServer: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + CreateLoggingServer: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateLoggingServer: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteLoggingServer: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, ListNodeTypes: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -262,6 +423,66 @@ func defaultCallOptions() *CallOptions { ResetVcenterCredentials: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, + GetDnsForwarding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + UpdateDnsForwarding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + ListNetworkPeerings: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + CreateNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListPeeringRoutes: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, CreateHcxActivationKey: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, @@ -322,6 +543,42 @@ func defaultCallOptions() *CallOptions { DeleteNetworkPolicy: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, + ListManagementDnsZoneBindings: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + GetManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + CreateManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + RepairManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, CreateVmwareEngineNetwork: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, @@ -400,6 +657,24 @@ func defaultCallOptions() *CallOptions { }) }), }, + GrantDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + 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, + }) + }), + }, + RevokeDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, @@ -478,7 +753,7 @@ func defaultRESTCallOptions() *CallOptions { DeleteCluster: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, - ListSubnets: []gax.CallOption{ + ListNodes: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -489,7 +764,7 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - GetSubnet: []gax.CallOption{ + GetNode: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -500,10 +775,7 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - UpdateSubnet: []gax.CallOption{ - gax.WithTimeout(60000 * time.Millisecond), - }, - ListNodeTypes: []gax.CallOption{ + ListExternalAddresses: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -514,7 +786,10 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - GetNodeType: []gax.CallOption{ + FetchNetworkPolicyExternalAddresses: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetExternalAddress: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -525,7 +800,16 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - ShowNsxCredentials: []gax.CallOption{ + CreateExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteExternalAddress: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListSubnets: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -536,7 +820,7 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - ShowVcenterCredentials: []gax.CallOption{ + GetSubnet: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -547,16 +831,10 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - ResetNsxCredentials: []gax.CallOption{ - gax.WithTimeout(120000 * time.Millisecond), - }, - ResetVcenterCredentials: []gax.CallOption{ - gax.WithTimeout(120000 * time.Millisecond), - }, - CreateHcxActivationKey: []gax.CallOption{ - gax.WithTimeout(120000 * time.Millisecond), + UpdateSubnet: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), }, - ListHcxActivationKeys: []gax.CallOption{ + ListExternalAccessRules: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -567,7 +845,7 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - GetHcxActivationKey: []gax.CallOption{ + GetExternalAccessRule: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -578,7 +856,16 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - GetNetworkPolicy: []gax.CallOption{ + CreateExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteExternalAccessRule: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListLoggingServers: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -589,7 +876,7 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - ListNetworkPolicies: []gax.CallOption{ + GetLoggingServer: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ @@ -600,24 +887,220 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, - CreateNetworkPolicy: []gax.CallOption{ - gax.WithTimeout(120000 * time.Millisecond), - }, - UpdateNetworkPolicy: []gax.CallOption{ - gax.WithTimeout(120000 * time.Millisecond), - }, - DeleteNetworkPolicy: []gax.CallOption{ + CreateLoggingServer: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, - CreateVmwareEngineNetwork: []gax.CallOption{ + UpdateLoggingServer: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, - UpdateVmwareEngineNetwork: []gax.CallOption{ + DeleteLoggingServer: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), }, - DeleteVmwareEngineNetwork: []gax.CallOption{ + ListNodeTypes: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), - }, + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + GetNodeType: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ShowNsxCredentials: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ShowVcenterCredentials: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ResetNsxCredentials: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ResetVcenterCredentials: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetDnsForwarding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + UpdateDnsForwarding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListNetworkPeerings: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateNetworkPeering: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListPeeringRoutes: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateHcxActivationKey: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListHcxActivationKeys: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + GetHcxActivationKey: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + GetNetworkPolicy: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + ListNetworkPolicies: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateNetworkPolicy: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateNetworkPolicy: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteNetworkPolicy: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + ListManagementDnsZoneBindings: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + GetManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + CreateManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + RepairManagementDnsZoneBinding: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + CreateVmwareEngineNetwork: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + UpdateVmwareEngineNetwork: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + DeleteVmwareEngineNetwork: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, GetVmwareEngineNetwork: []gax.CallOption{ gax.WithTimeout(120000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -682,6 +1165,23 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, + GrantDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, + GetDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 1000 * time.Millisecond, + Max: 10000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusServiceUnavailable) + }), + }, + RevokeDnsBindPermission: []gax.CallOption{ + gax.WithTimeout(120000 * time.Millisecond), + }, GetLocation: []gax.CallOption{}, ListLocations: []gax.CallOption{}, GetIamPolicy: []gax.CallOption{}, @@ -716,10 +1216,37 @@ type internalClient interface { UpdateClusterOperation(name string) *UpdateClusterOperation DeleteCluster(context.Context, *vmwareenginepb.DeleteClusterRequest, ...gax.CallOption) (*DeleteClusterOperation, error) DeleteClusterOperation(name string) *DeleteClusterOperation + ListNodes(context.Context, *vmwareenginepb.ListNodesRequest, ...gax.CallOption) *NodeIterator + GetNode(context.Context, *vmwareenginepb.GetNodeRequest, ...gax.CallOption) (*vmwareenginepb.Node, error) + ListExternalAddresses(context.Context, *vmwareenginepb.ListExternalAddressesRequest, ...gax.CallOption) *ExternalAddressIterator + FetchNetworkPolicyExternalAddresses(context.Context, *vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest, ...gax.CallOption) *ExternalAddressIterator + GetExternalAddress(context.Context, *vmwareenginepb.GetExternalAddressRequest, ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) + CreateExternalAddress(context.Context, *vmwareenginepb.CreateExternalAddressRequest, ...gax.CallOption) (*CreateExternalAddressOperation, error) + CreateExternalAddressOperation(name string) *CreateExternalAddressOperation + UpdateExternalAddress(context.Context, *vmwareenginepb.UpdateExternalAddressRequest, ...gax.CallOption) (*UpdateExternalAddressOperation, error) + UpdateExternalAddressOperation(name string) *UpdateExternalAddressOperation + DeleteExternalAddress(context.Context, *vmwareenginepb.DeleteExternalAddressRequest, ...gax.CallOption) (*DeleteExternalAddressOperation, error) + DeleteExternalAddressOperation(name string) *DeleteExternalAddressOperation ListSubnets(context.Context, *vmwareenginepb.ListSubnetsRequest, ...gax.CallOption) *SubnetIterator GetSubnet(context.Context, *vmwareenginepb.GetSubnetRequest, ...gax.CallOption) (*vmwareenginepb.Subnet, error) UpdateSubnet(context.Context, *vmwareenginepb.UpdateSubnetRequest, ...gax.CallOption) (*UpdateSubnetOperation, error) UpdateSubnetOperation(name string) *UpdateSubnetOperation + ListExternalAccessRules(context.Context, *vmwareenginepb.ListExternalAccessRulesRequest, ...gax.CallOption) *ExternalAccessRuleIterator + GetExternalAccessRule(context.Context, *vmwareenginepb.GetExternalAccessRuleRequest, ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) + CreateExternalAccessRule(context.Context, *vmwareenginepb.CreateExternalAccessRuleRequest, ...gax.CallOption) (*CreateExternalAccessRuleOperation, error) + CreateExternalAccessRuleOperation(name string) *CreateExternalAccessRuleOperation + UpdateExternalAccessRule(context.Context, *vmwareenginepb.UpdateExternalAccessRuleRequest, ...gax.CallOption) (*UpdateExternalAccessRuleOperation, error) + UpdateExternalAccessRuleOperation(name string) *UpdateExternalAccessRuleOperation + DeleteExternalAccessRule(context.Context, *vmwareenginepb.DeleteExternalAccessRuleRequest, ...gax.CallOption) (*DeleteExternalAccessRuleOperation, error) + DeleteExternalAccessRuleOperation(name string) *DeleteExternalAccessRuleOperation + ListLoggingServers(context.Context, *vmwareenginepb.ListLoggingServersRequest, ...gax.CallOption) *LoggingServerIterator + GetLoggingServer(context.Context, *vmwareenginepb.GetLoggingServerRequest, ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) + CreateLoggingServer(context.Context, *vmwareenginepb.CreateLoggingServerRequest, ...gax.CallOption) (*CreateLoggingServerOperation, error) + CreateLoggingServerOperation(name string) *CreateLoggingServerOperation + UpdateLoggingServer(context.Context, *vmwareenginepb.UpdateLoggingServerRequest, ...gax.CallOption) (*UpdateLoggingServerOperation, error) + UpdateLoggingServerOperation(name string) *UpdateLoggingServerOperation + DeleteLoggingServer(context.Context, *vmwareenginepb.DeleteLoggingServerRequest, ...gax.CallOption) (*DeleteLoggingServerOperation, error) + DeleteLoggingServerOperation(name string) *DeleteLoggingServerOperation ListNodeTypes(context.Context, *vmwareenginepb.ListNodeTypesRequest, ...gax.CallOption) *NodeTypeIterator GetNodeType(context.Context, *vmwareenginepb.GetNodeTypeRequest, ...gax.CallOption) (*vmwareenginepb.NodeType, error) ShowNsxCredentials(context.Context, *vmwareenginepb.ShowNsxCredentialsRequest, ...gax.CallOption) (*vmwareenginepb.Credentials, error) @@ -728,6 +1255,18 @@ type internalClient interface { ResetNsxCredentialsOperation(name string) *ResetNsxCredentialsOperation ResetVcenterCredentials(context.Context, *vmwareenginepb.ResetVcenterCredentialsRequest, ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) ResetVcenterCredentialsOperation(name string) *ResetVcenterCredentialsOperation + GetDnsForwarding(context.Context, *vmwareenginepb.GetDnsForwardingRequest, ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) + UpdateDnsForwarding(context.Context, *vmwareenginepb.UpdateDnsForwardingRequest, ...gax.CallOption) (*UpdateDnsForwardingOperation, error) + UpdateDnsForwardingOperation(name string) *UpdateDnsForwardingOperation + GetNetworkPeering(context.Context, *vmwareenginepb.GetNetworkPeeringRequest, ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) + ListNetworkPeerings(context.Context, *vmwareenginepb.ListNetworkPeeringsRequest, ...gax.CallOption) *NetworkPeeringIterator + CreateNetworkPeering(context.Context, *vmwareenginepb.CreateNetworkPeeringRequest, ...gax.CallOption) (*CreateNetworkPeeringOperation, error) + CreateNetworkPeeringOperation(name string) *CreateNetworkPeeringOperation + DeleteNetworkPeering(context.Context, *vmwareenginepb.DeleteNetworkPeeringRequest, ...gax.CallOption) (*DeleteNetworkPeeringOperation, error) + DeleteNetworkPeeringOperation(name string) *DeleteNetworkPeeringOperation + UpdateNetworkPeering(context.Context, *vmwareenginepb.UpdateNetworkPeeringRequest, ...gax.CallOption) (*UpdateNetworkPeeringOperation, error) + UpdateNetworkPeeringOperation(name string) *UpdateNetworkPeeringOperation + ListPeeringRoutes(context.Context, *vmwareenginepb.ListPeeringRoutesRequest, ...gax.CallOption) *PeeringRouteIterator CreateHcxActivationKey(context.Context, *vmwareenginepb.CreateHcxActivationKeyRequest, ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) CreateHcxActivationKeyOperation(name string) *CreateHcxActivationKeyOperation ListHcxActivationKeys(context.Context, *vmwareenginepb.ListHcxActivationKeysRequest, ...gax.CallOption) *HcxActivationKeyIterator @@ -740,6 +1279,16 @@ type internalClient interface { UpdateNetworkPolicyOperation(name string) *UpdateNetworkPolicyOperation DeleteNetworkPolicy(context.Context, *vmwareenginepb.DeleteNetworkPolicyRequest, ...gax.CallOption) (*DeleteNetworkPolicyOperation, error) DeleteNetworkPolicyOperation(name string) *DeleteNetworkPolicyOperation + ListManagementDnsZoneBindings(context.Context, *vmwareenginepb.ListManagementDnsZoneBindingsRequest, ...gax.CallOption) *ManagementDnsZoneBindingIterator + GetManagementDnsZoneBinding(context.Context, *vmwareenginepb.GetManagementDnsZoneBindingRequest, ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) + CreateManagementDnsZoneBinding(context.Context, *vmwareenginepb.CreateManagementDnsZoneBindingRequest, ...gax.CallOption) (*CreateManagementDnsZoneBindingOperation, error) + CreateManagementDnsZoneBindingOperation(name string) *CreateManagementDnsZoneBindingOperation + UpdateManagementDnsZoneBinding(context.Context, *vmwareenginepb.UpdateManagementDnsZoneBindingRequest, ...gax.CallOption) (*UpdateManagementDnsZoneBindingOperation, error) + UpdateManagementDnsZoneBindingOperation(name string) *UpdateManagementDnsZoneBindingOperation + DeleteManagementDnsZoneBinding(context.Context, *vmwareenginepb.DeleteManagementDnsZoneBindingRequest, ...gax.CallOption) (*DeleteManagementDnsZoneBindingOperation, error) + DeleteManagementDnsZoneBindingOperation(name string) *DeleteManagementDnsZoneBindingOperation + RepairManagementDnsZoneBinding(context.Context, *vmwareenginepb.RepairManagementDnsZoneBindingRequest, ...gax.CallOption) (*RepairManagementDnsZoneBindingOperation, error) + RepairManagementDnsZoneBindingOperation(name string) *RepairManagementDnsZoneBindingOperation CreateVmwareEngineNetwork(context.Context, *vmwareenginepb.CreateVmwareEngineNetworkRequest, ...gax.CallOption) (*CreateVmwareEngineNetworkOperation, error) CreateVmwareEngineNetworkOperation(name string) *CreateVmwareEngineNetworkOperation UpdateVmwareEngineNetwork(context.Context, *vmwareenginepb.UpdateVmwareEngineNetworkRequest, ...gax.CallOption) (*UpdateVmwareEngineNetworkOperation, error) @@ -757,6 +1306,11 @@ type internalClient interface { DeletePrivateConnection(context.Context, *vmwareenginepb.DeletePrivateConnectionRequest, ...gax.CallOption) (*DeletePrivateConnectionOperation, error) DeletePrivateConnectionOperation(name string) *DeletePrivateConnectionOperation ListPrivateConnectionPeeringRoutes(context.Context, *vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest, ...gax.CallOption) *PeeringRouteIterator + GrantDnsBindPermission(context.Context, *vmwareenginepb.GrantDnsBindPermissionRequest, ...gax.CallOption) (*GrantDnsBindPermissionOperation, error) + GrantDnsBindPermissionOperation(name string) *GrantDnsBindPermissionOperation + GetDnsBindPermission(context.Context, *vmwareenginepb.GetDnsBindPermissionRequest, ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) + RevokeDnsBindPermission(context.Context, *vmwareenginepb.RevokeDnsBindPermissionRequest, ...gax.CallOption) (*RevokeDnsBindPermissionOperation, error) + RevokeDnsBindPermissionOperation(name string) *RevokeDnsBindPermissionOperation GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error) @@ -818,9 +1372,9 @@ func (c *Client) GetPrivateCloud(ctx context.Context, req *vmwareenginepb.GetPri } // CreatePrivateCloud creates a new PrivateCloud resource in a given project and location. -// Private clouds can only be created in zones, regional private clouds are -// not supported. -// +// Private clouds of type STANDARD and +// TIME_LIMITED are zonal resources, STRETCHED private clouds are +// regional. // Creating a private cloud also creates a management // cluster (at https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) // for that private cloud. @@ -915,8 +1469,7 @@ func (c *Client) CreateClusterOperation(name string) *CreateClusterOperation { return c.internalClient.CreateClusterOperation(name) } -// UpdateCluster modifies a Cluster resource. Only the following fields can be updated: -// node_type_configs.*.node_count. Only fields specified in updateMask are +// UpdateCluster modifies a Cluster resource. Only fields specified in updateMask are // applied. // // During operation processing, the resource is temporarily in the ACTIVE @@ -947,6 +1500,76 @@ func (c *Client) DeleteClusterOperation(name string) *DeleteClusterOperation { return c.internalClient.DeleteClusterOperation(name) } +// ListNodes lists nodes in a given cluster. +func (c *Client) ListNodes(ctx context.Context, req *vmwareenginepb.ListNodesRequest, opts ...gax.CallOption) *NodeIterator { + return c.internalClient.ListNodes(ctx, req, opts...) +} + +// GetNode gets details of a single node. +func (c *Client) GetNode(ctx context.Context, req *vmwareenginepb.GetNodeRequest, opts ...gax.CallOption) (*vmwareenginepb.Node, error) { + return c.internalClient.GetNode(ctx, req, opts...) +} + +// ListExternalAddresses lists external IP addresses assigned to VMware workload VMs in a given +// private cloud. +func (c *Client) ListExternalAddresses(ctx context.Context, req *vmwareenginepb.ListExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { + return c.internalClient.ListExternalAddresses(ctx, req, opts...) +} + +// FetchNetworkPolicyExternalAddresses lists external IP addresses assigned to VMware workload VMs within the +// scope of the given network policy. +func (c *Client) FetchNetworkPolicyExternalAddresses(ctx context.Context, req *vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { + return c.internalClient.FetchNetworkPolicyExternalAddresses(ctx, req, opts...) +} + +// GetExternalAddress gets details of a single external IP address. +func (c *Client) GetExternalAddress(ctx context.Context, req *vmwareenginepb.GetExternalAddressRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { + return c.internalClient.GetExternalAddress(ctx, req, opts...) +} + +// CreateExternalAddress creates a new ExternalAddress resource in a given private cloud. The +// network policy that corresponds to the private cloud must have the external +// IP address network service enabled (NetworkPolicy.external_ip). +func (c *Client) CreateExternalAddress(ctx context.Context, req *vmwareenginepb.CreateExternalAddressRequest, opts ...gax.CallOption) (*CreateExternalAddressOperation, error) { + return c.internalClient.CreateExternalAddress(ctx, req, opts...) +} + +// CreateExternalAddressOperation returns a new CreateExternalAddressOperation from a given name. +// The name must be that of a previously created CreateExternalAddressOperation, possibly from a different process. +func (c *Client) CreateExternalAddressOperation(name string) *CreateExternalAddressOperation { + return c.internalClient.CreateExternalAddressOperation(name) +} + +// UpdateExternalAddress updates the parameters of a single external IP address. +// Only fields specified in update_mask are applied. +// +// During operation processing, the resource is temporarily in the ACTIVE +// state before the operation fully completes. For that period of time, you +// can’t update the resource. Use the operation status to determine when the +// processing fully completes. +func (c *Client) UpdateExternalAddress(ctx context.Context, req *vmwareenginepb.UpdateExternalAddressRequest, opts ...gax.CallOption) (*UpdateExternalAddressOperation, error) { + return c.internalClient.UpdateExternalAddress(ctx, req, opts...) +} + +// UpdateExternalAddressOperation returns a new UpdateExternalAddressOperation from a given name. +// The name must be that of a previously created UpdateExternalAddressOperation, possibly from a different process. +func (c *Client) UpdateExternalAddressOperation(name string) *UpdateExternalAddressOperation { + return c.internalClient.UpdateExternalAddressOperation(name) +} + +// DeleteExternalAddress deletes a single external IP address. When you delete an external IP +// address, connectivity between the external IP address and the corresponding +// internal IP address is lost. +func (c *Client) DeleteExternalAddress(ctx context.Context, req *vmwareenginepb.DeleteExternalAddressRequest, opts ...gax.CallOption) (*DeleteExternalAddressOperation, error) { + return c.internalClient.DeleteExternalAddress(ctx, req, opts...) +} + +// DeleteExternalAddressOperation returns a new DeleteExternalAddressOperation from a given name. +// The name must be that of a previously created DeleteExternalAddressOperation, possibly from a different process. +func (c *Client) DeleteExternalAddressOperation(name string) *DeleteExternalAddressOperation { + return c.internalClient.DeleteExternalAddressOperation(name) +} + // ListSubnets lists subnets in a given private cloud. func (c *Client) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSubnetsRequest, opts ...gax.CallOption) *SubnetIterator { return c.internalClient.ListSubnets(ctx, req, opts...) @@ -973,48 +1596,214 @@ func (c *Client) UpdateSubnetOperation(name string) *UpdateSubnetOperation { return c.internalClient.UpdateSubnetOperation(name) } -// ListNodeTypes lists node types -func (c *Client) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { - return c.internalClient.ListNodeTypes(ctx, req, opts...) +// ListExternalAccessRules lists ExternalAccessRule resources in the specified network policy. +func (c *Client) ListExternalAccessRules(ctx context.Context, req *vmwareenginepb.ListExternalAccessRulesRequest, opts ...gax.CallOption) *ExternalAccessRuleIterator { + return c.internalClient.ListExternalAccessRules(ctx, req, opts...) } -// GetNodeType gets details of a single NodeType. -func (c *Client) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, error) { - return c.internalClient.GetNodeType(ctx, req, opts...) +// GetExternalAccessRule gets details of a single external access rule. +func (c *Client) GetExternalAccessRule(ctx context.Context, req *vmwareenginepb.GetExternalAccessRuleRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { + return c.internalClient.GetExternalAccessRule(ctx, req, opts...) } -// ShowNsxCredentials gets details of credentials for NSX appliance. -func (c *Client) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { - return c.internalClient.ShowNsxCredentials(ctx, req, opts...) +// CreateExternalAccessRule creates a new external access rule in a given network policy. +func (c *Client) CreateExternalAccessRule(ctx context.Context, req *vmwareenginepb.CreateExternalAccessRuleRequest, opts ...gax.CallOption) (*CreateExternalAccessRuleOperation, error) { + return c.internalClient.CreateExternalAccessRule(ctx, req, opts...) } -// ShowVcenterCredentials gets details of credentials for Vcenter appliance. -func (c *Client) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { - return c.internalClient.ShowVcenterCredentials(ctx, req, opts...) +// CreateExternalAccessRuleOperation returns a new CreateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created CreateExternalAccessRuleOperation, possibly from a different process. +func (c *Client) CreateExternalAccessRuleOperation(name string) *CreateExternalAccessRuleOperation { + return c.internalClient.CreateExternalAccessRuleOperation(name) } -// ResetNsxCredentials resets credentials of the NSX appliance. -func (c *Client) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, error) { - return c.internalClient.ResetNsxCredentials(ctx, req, opts...) +// UpdateExternalAccessRule updates the parameters of a single external access rule. +// Only fields specified in update_mask are applied. +func (c *Client) UpdateExternalAccessRule(ctx context.Context, req *vmwareenginepb.UpdateExternalAccessRuleRequest, opts ...gax.CallOption) (*UpdateExternalAccessRuleOperation, error) { + return c.internalClient.UpdateExternalAccessRule(ctx, req, opts...) } -// ResetNsxCredentialsOperation returns a new ResetNsxCredentialsOperation from a given name. -// The name must be that of a previously created ResetNsxCredentialsOperation, possibly from a different process. -func (c *Client) ResetNsxCredentialsOperation(name string) *ResetNsxCredentialsOperation { - return c.internalClient.ResetNsxCredentialsOperation(name) +// UpdateExternalAccessRuleOperation returns a new UpdateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created UpdateExternalAccessRuleOperation, possibly from a different process. +func (c *Client) UpdateExternalAccessRuleOperation(name string) *UpdateExternalAccessRuleOperation { + return c.internalClient.UpdateExternalAccessRuleOperation(name) } -// ResetVcenterCredentials resets credentials of the Vcenter appliance. -func (c *Client) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { - return c.internalClient.ResetVcenterCredentials(ctx, req, opts...) +// DeleteExternalAccessRule deletes a single external access rule. +func (c *Client) DeleteExternalAccessRule(ctx context.Context, req *vmwareenginepb.DeleteExternalAccessRuleRequest, opts ...gax.CallOption) (*DeleteExternalAccessRuleOperation, error) { + return c.internalClient.DeleteExternalAccessRule(ctx, req, opts...) } -// ResetVcenterCredentialsOperation returns a new ResetVcenterCredentialsOperation from a given name. -// The name must be that of a previously created ResetVcenterCredentialsOperation, possibly from a different process. -func (c *Client) ResetVcenterCredentialsOperation(name string) *ResetVcenterCredentialsOperation { +// DeleteExternalAccessRuleOperation returns a new DeleteExternalAccessRuleOperation from a given name. +// The name must be that of a previously created DeleteExternalAccessRuleOperation, possibly from a different process. +func (c *Client) DeleteExternalAccessRuleOperation(name string) *DeleteExternalAccessRuleOperation { + return c.internalClient.DeleteExternalAccessRuleOperation(name) +} + +// ListLoggingServers lists logging servers configured for a given private +// cloud. +func (c *Client) ListLoggingServers(ctx context.Context, req *vmwareenginepb.ListLoggingServersRequest, opts ...gax.CallOption) *LoggingServerIterator { + return c.internalClient.ListLoggingServers(ctx, req, opts...) +} + +// GetLoggingServer gets details of a logging server. +func (c *Client) GetLoggingServer(ctx context.Context, req *vmwareenginepb.GetLoggingServerRequest, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { + return c.internalClient.GetLoggingServer(ctx, req, opts...) +} + +// CreateLoggingServer create a new logging server for a given private cloud. +func (c *Client) CreateLoggingServer(ctx context.Context, req *vmwareenginepb.CreateLoggingServerRequest, opts ...gax.CallOption) (*CreateLoggingServerOperation, error) { + return c.internalClient.CreateLoggingServer(ctx, req, opts...) +} + +// CreateLoggingServerOperation returns a new CreateLoggingServerOperation from a given name. +// The name must be that of a previously created CreateLoggingServerOperation, possibly from a different process. +func (c *Client) CreateLoggingServerOperation(name string) *CreateLoggingServerOperation { + return c.internalClient.CreateLoggingServerOperation(name) +} + +// UpdateLoggingServer updates the parameters of a single logging server. +// Only fields specified in update_mask are applied. +func (c *Client) UpdateLoggingServer(ctx context.Context, req *vmwareenginepb.UpdateLoggingServerRequest, opts ...gax.CallOption) (*UpdateLoggingServerOperation, error) { + return c.internalClient.UpdateLoggingServer(ctx, req, opts...) +} + +// UpdateLoggingServerOperation returns a new UpdateLoggingServerOperation from a given name. +// The name must be that of a previously created UpdateLoggingServerOperation, possibly from a different process. +func (c *Client) UpdateLoggingServerOperation(name string) *UpdateLoggingServerOperation { + return c.internalClient.UpdateLoggingServerOperation(name) +} + +// DeleteLoggingServer deletes a single logging server. +func (c *Client) DeleteLoggingServer(ctx context.Context, req *vmwareenginepb.DeleteLoggingServerRequest, opts ...gax.CallOption) (*DeleteLoggingServerOperation, error) { + return c.internalClient.DeleteLoggingServer(ctx, req, opts...) +} + +// DeleteLoggingServerOperation returns a new DeleteLoggingServerOperation from a given name. +// The name must be that of a previously created DeleteLoggingServerOperation, possibly from a different process. +func (c *Client) DeleteLoggingServerOperation(name string) *DeleteLoggingServerOperation { + return c.internalClient.DeleteLoggingServerOperation(name) +} + +// ListNodeTypes lists node types +func (c *Client) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { + return c.internalClient.ListNodeTypes(ctx, req, opts...) +} + +// GetNodeType gets details of a single NodeType. +func (c *Client) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, error) { + return c.internalClient.GetNodeType(ctx, req, opts...) +} + +// ShowNsxCredentials gets details of credentials for NSX appliance. +func (c *Client) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + return c.internalClient.ShowNsxCredentials(ctx, req, opts...) +} + +// ShowVcenterCredentials gets details of credentials for Vcenter appliance. +func (c *Client) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + return c.internalClient.ShowVcenterCredentials(ctx, req, opts...) +} + +// ResetNsxCredentials resets credentials of the NSX appliance. +func (c *Client) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, error) { + return c.internalClient.ResetNsxCredentials(ctx, req, opts...) +} + +// ResetNsxCredentialsOperation returns a new ResetNsxCredentialsOperation from a given name. +// The name must be that of a previously created ResetNsxCredentialsOperation, possibly from a different process. +func (c *Client) ResetNsxCredentialsOperation(name string) *ResetNsxCredentialsOperation { + return c.internalClient.ResetNsxCredentialsOperation(name) +} + +// ResetVcenterCredentials resets credentials of the Vcenter appliance. +func (c *Client) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { + return c.internalClient.ResetVcenterCredentials(ctx, req, opts...) +} + +// ResetVcenterCredentialsOperation returns a new ResetVcenterCredentialsOperation from a given name. +// The name must be that of a previously created ResetVcenterCredentialsOperation, possibly from a different process. +func (c *Client) ResetVcenterCredentialsOperation(name string) *ResetVcenterCredentialsOperation { return c.internalClient.ResetVcenterCredentialsOperation(name) } +// GetDnsForwarding gets details of the DnsForwarding config. +func (c *Client) GetDnsForwarding(ctx context.Context, req *vmwareenginepb.GetDnsForwardingRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) { + return c.internalClient.GetDnsForwarding(ctx, req, opts...) +} + +// UpdateDnsForwarding updates the parameters of the DnsForwarding config, like associated +// domains. Only fields specified in update_mask are applied. +func (c *Client) UpdateDnsForwarding(ctx context.Context, req *vmwareenginepb.UpdateDnsForwardingRequest, opts ...gax.CallOption) (*UpdateDnsForwardingOperation, error) { + return c.internalClient.UpdateDnsForwarding(ctx, req, opts...) +} + +// UpdateDnsForwardingOperation returns a new UpdateDnsForwardingOperation from a given name. +// The name must be that of a previously created UpdateDnsForwardingOperation, possibly from a different process. +func (c *Client) UpdateDnsForwardingOperation(name string) *UpdateDnsForwardingOperation { + return c.internalClient.UpdateDnsForwardingOperation(name) +} + +// GetNetworkPeering retrieves a NetworkPeering resource by its resource name. The resource +// contains details of the network peering, such as peered +// networks, import and export custom route configurations, and peering state. +// NetworkPeering is a global resource and location can only be global. +func (c *Client) GetNetworkPeering(ctx context.Context, req *vmwareenginepb.GetNetworkPeeringRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { + return c.internalClient.GetNetworkPeering(ctx, req, opts...) +} + +// ListNetworkPeerings lists NetworkPeering resources in a given project. NetworkPeering is a +// global resource and location can only be global. +func (c *Client) ListNetworkPeerings(ctx context.Context, req *vmwareenginepb.ListNetworkPeeringsRequest, opts ...gax.CallOption) *NetworkPeeringIterator { + return c.internalClient.ListNetworkPeerings(ctx, req, opts...) +} + +// CreateNetworkPeering creates a new network peering between the peer network and VMware Engine +// network provided in a NetworkPeering resource. NetworkPeering is a +// global resource and location can only be global. +func (c *Client) CreateNetworkPeering(ctx context.Context, req *vmwareenginepb.CreateNetworkPeeringRequest, opts ...gax.CallOption) (*CreateNetworkPeeringOperation, error) { + return c.internalClient.CreateNetworkPeering(ctx, req, opts...) +} + +// CreateNetworkPeeringOperation returns a new CreateNetworkPeeringOperation from a given name. +// The name must be that of a previously created CreateNetworkPeeringOperation, possibly from a different process. +func (c *Client) CreateNetworkPeeringOperation(name string) *CreateNetworkPeeringOperation { + return c.internalClient.CreateNetworkPeeringOperation(name) +} + +// DeleteNetworkPeering deletes a NetworkPeering resource. When a network peering is deleted for +// a VMware Engine network, the peer network becomes inaccessible to that +// VMware Engine network. NetworkPeering is a global resource and location can +// only be global. +func (c *Client) DeleteNetworkPeering(ctx context.Context, req *vmwareenginepb.DeleteNetworkPeeringRequest, opts ...gax.CallOption) (*DeleteNetworkPeeringOperation, error) { + return c.internalClient.DeleteNetworkPeering(ctx, req, opts...) +} + +// DeleteNetworkPeeringOperation returns a new DeleteNetworkPeeringOperation from a given name. +// The name must be that of a previously created DeleteNetworkPeeringOperation, possibly from a different process. +func (c *Client) DeleteNetworkPeeringOperation(name string) *DeleteNetworkPeeringOperation { + return c.internalClient.DeleteNetworkPeeringOperation(name) +} + +// UpdateNetworkPeering modifies a NetworkPeering resource. Only the description field can be +// updated. Only fields specified in updateMask are applied. NetworkPeering +// is a global resource and location can only be global. +func (c *Client) UpdateNetworkPeering(ctx context.Context, req *vmwareenginepb.UpdateNetworkPeeringRequest, opts ...gax.CallOption) (*UpdateNetworkPeeringOperation, error) { + return c.internalClient.UpdateNetworkPeering(ctx, req, opts...) +} + +// UpdateNetworkPeeringOperation returns a new UpdateNetworkPeeringOperation from a given name. +// The name must be that of a previously created UpdateNetworkPeeringOperation, possibly from a different process. +func (c *Client) UpdateNetworkPeeringOperation(name string) *UpdateNetworkPeeringOperation { + return c.internalClient.UpdateNetworkPeeringOperation(name) +} + +// ListPeeringRoutes lists the network peering routes exchanged over a peering connection. +// NetworkPeering is a global resource and location can only be global. +func (c *Client) ListPeeringRoutes(ctx context.Context, req *vmwareenginepb.ListPeeringRoutesRequest, opts ...gax.CallOption) *PeeringRouteIterator { + return c.internalClient.ListPeeringRoutes(ctx, req, opts...) +} + // CreateHcxActivationKey creates a new HCX activation key in a given private cloud. func (c *Client) CreateHcxActivationKey(ctx context.Context, req *vmwareenginepb.CreateHcxActivationKeyRequest, opts ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) { return c.internalClient.CreateHcxActivationKey(ctx, req, opts...) @@ -1094,6 +1883,70 @@ func (c *Client) DeleteNetworkPolicyOperation(name string) *DeleteNetworkPolicyO return c.internalClient.DeleteNetworkPolicyOperation(name) } +// ListManagementDnsZoneBindings lists Consumer VPCs bound to Management DNS Zone of a given private cloud. +func (c *Client) ListManagementDnsZoneBindings(ctx context.Context, req *vmwareenginepb.ListManagementDnsZoneBindingsRequest, opts ...gax.CallOption) *ManagementDnsZoneBindingIterator { + return c.internalClient.ListManagementDnsZoneBindings(ctx, req, opts...) +} + +// GetManagementDnsZoneBinding retrieves a ‘ManagementDnsZoneBinding’ resource by its resource name. +func (c *Client) GetManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.GetManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { + return c.internalClient.GetManagementDnsZoneBinding(ctx, req, opts...) +} + +// CreateManagementDnsZoneBinding creates a new ManagementDnsZoneBinding resource in a private cloud. +// This RPC creates the DNS binding and the resource that represents the +// DNS binding of the consumer VPC network to the management DNS zone. A +// management DNS zone is the Cloud DNS cross-project binding zone that +// VMware Engine creates for each private cloud. It contains FQDNs and +// corresponding IP addresses for the private cloud’s ESXi hosts and +// management VM appliances like vCenter and NSX Manager. +func (c *Client) CreateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.CreateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*CreateManagementDnsZoneBindingOperation, error) { + return c.internalClient.CreateManagementDnsZoneBinding(ctx, req, opts...) +} + +// CreateManagementDnsZoneBindingOperation returns a new CreateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created CreateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *Client) CreateManagementDnsZoneBindingOperation(name string) *CreateManagementDnsZoneBindingOperation { + return c.internalClient.CreateManagementDnsZoneBindingOperation(name) +} + +// UpdateManagementDnsZoneBinding updates a ManagementDnsZoneBinding resource. +// Only fields specified in update_mask are applied. +func (c *Client) UpdateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.UpdateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*UpdateManagementDnsZoneBindingOperation, error) { + return c.internalClient.UpdateManagementDnsZoneBinding(ctx, req, opts...) +} + +// UpdateManagementDnsZoneBindingOperation returns a new UpdateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created UpdateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *Client) UpdateManagementDnsZoneBindingOperation(name string) *UpdateManagementDnsZoneBindingOperation { + return c.internalClient.UpdateManagementDnsZoneBindingOperation(name) +} + +// DeleteManagementDnsZoneBinding deletes a ManagementDnsZoneBinding resource. When a management DNS zone +// binding is deleted, the corresponding consumer VPC network is no longer +// bound to the management DNS zone. +func (c *Client) DeleteManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.DeleteManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*DeleteManagementDnsZoneBindingOperation, error) { + return c.internalClient.DeleteManagementDnsZoneBinding(ctx, req, opts...) +} + +// DeleteManagementDnsZoneBindingOperation returns a new DeleteManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created DeleteManagementDnsZoneBindingOperation, possibly from a different process. +func (c *Client) DeleteManagementDnsZoneBindingOperation(name string) *DeleteManagementDnsZoneBindingOperation { + return c.internalClient.DeleteManagementDnsZoneBindingOperation(name) +} + +// RepairManagementDnsZoneBinding retries to create a ManagementDnsZoneBinding resource that is +// in failed state. +func (c *Client) RepairManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.RepairManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*RepairManagementDnsZoneBindingOperation, error) { + return c.internalClient.RepairManagementDnsZoneBinding(ctx, req, opts...) +} + +// RepairManagementDnsZoneBindingOperation returns a new RepairManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created RepairManagementDnsZoneBindingOperation, possibly from a different process. +func (c *Client) RepairManagementDnsZoneBindingOperation(name string) *RepairManagementDnsZoneBindingOperation { + return c.internalClient.RepairManagementDnsZoneBindingOperation(name) +} + // CreateVmwareEngineNetwork creates a new VMware Engine network that can be used by a private cloud. func (c *Client) CreateVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.CreateVmwareEngineNetworkRequest, opts ...gax.CallOption) (*CreateVmwareEngineNetworkOperation, error) { return c.internalClient.CreateVmwareEngineNetwork(ctx, req, opts...) @@ -1200,6 +2053,40 @@ func (c *Client) ListPrivateConnectionPeeringRoutes(ctx context.Context, req *vm return c.internalClient.ListPrivateConnectionPeeringRoutes(ctx, req, opts...) } +// GrantDnsBindPermission grants the bind permission to the customer provided principal(user / +// service account) to bind their DNS zone with the intranet VPC associated +// with the project. DnsBindPermission is a global resource and location can +// only be global. +func (c *Client) GrantDnsBindPermission(ctx context.Context, req *vmwareenginepb.GrantDnsBindPermissionRequest, opts ...gax.CallOption) (*GrantDnsBindPermissionOperation, error) { + return c.internalClient.GrantDnsBindPermission(ctx, req, opts...) +} + +// GrantDnsBindPermissionOperation returns a new GrantDnsBindPermissionOperation from a given name. +// The name must be that of a previously created GrantDnsBindPermissionOperation, possibly from a different process. +func (c *Client) GrantDnsBindPermissionOperation(name string) *GrantDnsBindPermissionOperation { + return c.internalClient.GrantDnsBindPermissionOperation(name) +} + +// GetDnsBindPermission gets all the principals having bind permission on the intranet VPC +// associated with the consumer project granted by the Grant API. +// DnsBindPermission is a global resource and location can only be global. +func (c *Client) GetDnsBindPermission(ctx context.Context, req *vmwareenginepb.GetDnsBindPermissionRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + return c.internalClient.GetDnsBindPermission(ctx, req, opts...) +} + +// RevokeDnsBindPermission revokes the bind permission from the customer provided principal(user / +// service account) on the intranet VPC associated with the consumer project. +// DnsBindPermission is a global resource and location can only be global. +func (c *Client) RevokeDnsBindPermission(ctx context.Context, req *vmwareenginepb.RevokeDnsBindPermissionRequest, opts ...gax.CallOption) (*RevokeDnsBindPermissionOperation, error) { + return c.internalClient.RevokeDnsBindPermission(ctx, req, opts...) +} + +// RevokeDnsBindPermissionOperation returns a new RevokeDnsBindPermissionOperation from a given name. +// The name must be that of a previously created RevokeDnsBindPermissionOperation, possibly from a different process. +func (c *Client) RevokeDnsBindPermissionOperation(name string) *RevokeDnsBindPermissionOperation { + return c.internalClient.RevokeDnsBindPermissionOperation(name) +} + // GetLocation gets information about a location. func (c *Client) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { return c.internalClient.GetLocation(ctx, req, opts...) @@ -1699,16 +2586,16 @@ func (c *gRPCClient) DeleteCluster(ctx context.Context, req *vmwareenginepb.Dele }, nil } -func (c *gRPCClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSubnetsRequest, opts ...gax.CallOption) *SubnetIterator { +func (c *gRPCClient) ListNodes(ctx context.Context, req *vmwareenginepb.ListNodesRequest, opts ...gax.CallOption) *NodeIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListSubnets[0:len((*c.CallOptions).ListSubnets):len((*c.CallOptions).ListSubnets)], opts...) - it := &SubnetIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListSubnetsRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Subnet, string, error) { - resp := &vmwareenginepb.ListSubnetsResponse{} + opts = append((*c.CallOptions).ListNodes[0:len((*c.CallOptions).ListNodes):len((*c.CallOptions).ListNodes)], opts...) + it := &NodeIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNodesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Node, string, error) { + resp := &vmwareenginepb.ListNodesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -1719,7 +2606,7 @@ func (c *gRPCClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListSubnets(ctx, req, settings.GRPC...) + resp, err = c.client.ListNodes(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -1727,7 +2614,7 @@ func (c *gRPCClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu } it.Response = resp - return resp.GetSubnets(), resp.GetNextPageToken(), nil + return resp.GetNodes(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -1745,16 +2632,16 @@ func (c *gRPCClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu return it } -func (c *gRPCClient) GetSubnet(ctx context.Context, req *vmwareenginepb.GetSubnetRequest, opts ...gax.CallOption) (*vmwareenginepb.Subnet, error) { +func (c *gRPCClient) GetNode(ctx context.Context, req *vmwareenginepb.GetNodeRequest, opts ...gax.CallOption) (*vmwareenginepb.Node, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetSubnet[0:len((*c.CallOptions).GetSubnet):len((*c.CallOptions).GetSubnet)], opts...) - var resp *vmwareenginepb.Subnet + opts = append((*c.CallOptions).GetNode[0:len((*c.CallOptions).GetNode):len((*c.CallOptions).GetNode)], opts...) + var resp *vmwareenginepb.Node err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.GetSubnet(ctx, req, settings.GRPC...) + resp, err = c.client.GetNode(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -1763,36 +2650,16 @@ func (c *gRPCClient) GetSubnet(ctx context.Context, req *vmwareenginepb.GetSubne return resp, nil } -func (c *gRPCClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.UpdateSubnetRequest, opts ...gax.CallOption) (*UpdateSubnetOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subnet.name", url.QueryEscape(req.GetSubnet().GetName()))} - - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).UpdateSubnet[0:len((*c.CallOptions).UpdateSubnet):len((*c.CallOptions).UpdateSubnet)], opts...) - var resp *longrunningpb.Operation - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.UpdateSubnet(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err - } - return &UpdateSubnetOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - }, nil -} - -func (c *gRPCClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { +func (c *gRPCClient) ListExternalAddresses(ctx context.Context, req *vmwareenginepb.ListExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListNodeTypes[0:len((*c.CallOptions).ListNodeTypes):len((*c.CallOptions).ListNodeTypes)], opts...) - it := &NodeTypeIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListNodeTypesRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NodeType, string, error) { - resp := &vmwareenginepb.ListNodeTypesResponse{} + opts = append((*c.CallOptions).ListExternalAddresses[0:len((*c.CallOptions).ListExternalAddresses):len((*c.CallOptions).ListExternalAddresses)], opts...) + it := &ExternalAddressIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListExternalAddressesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAddress, string, error) { + resp := &vmwareenginepb.ListExternalAddressesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -1803,7 +2670,7 @@ func (c *gRPCClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListNodeTypes(ctx, req, settings.GRPC...) + resp, err = c.client.ListExternalAddresses(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -1811,7 +2678,7 @@ func (c *gRPCClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List } it.Response = resp - return resp.GetNodeTypes(), resp.GetNextPageToken(), nil + return resp.GetExternalAddresses(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -1829,52 +2696,62 @@ func (c *gRPCClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List return it } -func (c *gRPCClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) FetchNetworkPolicyExternalAddresses(ctx context.Context, req *vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_policy", url.QueryEscape(req.GetNetworkPolicy()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetNodeType[0:len((*c.CallOptions).GetNodeType):len((*c.CallOptions).GetNodeType)], opts...) - var resp *vmwareenginepb.NodeType - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.GetNodeType(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err + opts = append((*c.CallOptions).FetchNetworkPolicyExternalAddresses[0:len((*c.CallOptions).FetchNetworkPolicyExternalAddresses):len((*c.CallOptions).FetchNetworkPolicyExternalAddresses)], opts...) + it := &ExternalAddressIterator{} + req = proto.Clone(req).(*vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAddress, string, error) { + resp := &vmwareenginepb.FetchNetworkPolicyExternalAddressesResponse{} + 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.FetchNetworkPolicyExternalAddresses(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetExternalAddresses(), 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 } - return resp, nil -} -func (c *gRPCClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ShowNsxCredentials[0:len((*c.CallOptions).ShowNsxCredentials):len((*c.CallOptions).ShowNsxCredentials)], opts...) - var resp *vmwareenginepb.Credentials - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.ShowNsxCredentials(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err - } - return resp, nil + return it } -func (c *gRPCClient) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} +func (c *gRPCClient) GetExternalAddress(ctx context.Context, req *vmwareenginepb.GetExternalAddressRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ShowVcenterCredentials[0:len((*c.CallOptions).ShowVcenterCredentials):len((*c.CallOptions).ShowVcenterCredentials)], opts...) - var resp *vmwareenginepb.Credentials + opts = append((*c.CallOptions).GetExternalAddress[0:len((*c.CallOptions).GetExternalAddress):len((*c.CallOptions).GetExternalAddress)], opts...) + var resp *vmwareenginepb.ExternalAddress err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ShowVcenterCredentials(ctx, req, settings.GRPC...) + resp, err = c.client.GetExternalAddress(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -1883,76 +2760,76 @@ func (c *gRPCClient) ShowVcenterCredentials(ctx context.Context, req *vmwareengi return resp, nil } -func (c *gRPCClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} +func (c *gRPCClient) CreateExternalAddress(ctx context.Context, req *vmwareenginepb.CreateExternalAddressRequest, opts ...gax.CallOption) (*CreateExternalAddressOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ResetNsxCredentials[0:len((*c.CallOptions).ResetNsxCredentials):len((*c.CallOptions).ResetNsxCredentials)], opts...) + opts = append((*c.CallOptions).CreateExternalAddress[0:len((*c.CallOptions).CreateExternalAddress):len((*c.CallOptions).CreateExternalAddress)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ResetNsxCredentials(ctx, req, settings.GRPC...) + resp, err = c.client.CreateExternalAddress(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &ResetNsxCredentialsOperation{ + return &CreateExternalAddressOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} +func (c *gRPCClient) UpdateExternalAddress(ctx context.Context, req *vmwareenginepb.UpdateExternalAddressRequest, opts ...gax.CallOption) (*UpdateExternalAddressOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "external_address.name", url.QueryEscape(req.GetExternalAddress().GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ResetVcenterCredentials[0:len((*c.CallOptions).ResetVcenterCredentials):len((*c.CallOptions).ResetVcenterCredentials)], opts...) + opts = append((*c.CallOptions).UpdateExternalAddress[0:len((*c.CallOptions).UpdateExternalAddress):len((*c.CallOptions).UpdateExternalAddress)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ResetVcenterCredentials(ctx, req, settings.GRPC...) + resp, err = c.client.UpdateExternalAddress(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &ResetVcenterCredentialsOperation{ + return &UpdateExternalAddressOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) CreateHcxActivationKey(ctx context.Context, req *vmwareenginepb.CreateHcxActivationKeyRequest, opts ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} +func (c *gRPCClient) DeleteExternalAddress(ctx context.Context, req *vmwareenginepb.DeleteExternalAddressRequest, opts ...gax.CallOption) (*DeleteExternalAddressOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).CreateHcxActivationKey[0:len((*c.CallOptions).CreateHcxActivationKey):len((*c.CallOptions).CreateHcxActivationKey)], opts...) + opts = append((*c.CallOptions).DeleteExternalAddress[0:len((*c.CallOptions).DeleteExternalAddress):len((*c.CallOptions).DeleteExternalAddress)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.CreateHcxActivationKey(ctx, req, settings.GRPC...) + resp, err = c.client.DeleteExternalAddress(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &CreateHcxActivationKeyOperation{ + return &DeleteExternalAddressOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) ListHcxActivationKeys(ctx context.Context, req *vmwareenginepb.ListHcxActivationKeysRequest, opts ...gax.CallOption) *HcxActivationKeyIterator { +func (c *gRPCClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSubnetsRequest, opts ...gax.CallOption) *SubnetIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListHcxActivationKeys[0:len((*c.CallOptions).ListHcxActivationKeys):len((*c.CallOptions).ListHcxActivationKeys)], opts...) - it := &HcxActivationKeyIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListHcxActivationKeysRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.HcxActivationKey, string, error) { - resp := &vmwareenginepb.ListHcxActivationKeysResponse{} + opts = append((*c.CallOptions).ListSubnets[0:len((*c.CallOptions).ListSubnets):len((*c.CallOptions).ListSubnets)], opts...) + it := &SubnetIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListSubnetsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Subnet, string, error) { + resp := &vmwareenginepb.ListSubnetsResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -1963,7 +2840,7 @@ func (c *gRPCClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListHcxActivationKeys(ctx, req, settings.GRPC...) + resp, err = c.client.ListSubnets(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -1971,7 +2848,7 @@ func (c *gRPCClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin } it.Response = resp - return resp.GetHcxActivationKeys(), resp.GetNextPageToken(), nil + return resp.GetSubnets(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -1989,16 +2866,16 @@ func (c *gRPCClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin return it } -func (c *gRPCClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginepb.GetHcxActivationKeyRequest, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { +func (c *gRPCClient) GetSubnet(ctx context.Context, req *vmwareenginepb.GetSubnetRequest, opts ...gax.CallOption) (*vmwareenginepb.Subnet, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetHcxActivationKey[0:len((*c.CallOptions).GetHcxActivationKey):len((*c.CallOptions).GetHcxActivationKey)], opts...) - var resp *vmwareenginepb.HcxActivationKey + opts = append((*c.CallOptions).GetSubnet[0:len((*c.CallOptions).GetSubnet):len((*c.CallOptions).GetSubnet)], opts...) + var resp *vmwareenginepb.Subnet err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.GetHcxActivationKey(ctx, req, settings.GRPC...) + resp, err = c.client.GetSubnet(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2007,34 +2884,36 @@ func (c *gRPCClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginep return resp, nil } -func (c *gRPCClient) GetNetworkPolicy(ctx context.Context, req *vmwareenginepb.GetNetworkPolicyRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.UpdateSubnetRequest, opts ...gax.CallOption) (*UpdateSubnetOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subnet.name", url.QueryEscape(req.GetSubnet().GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetNetworkPolicy[0:len((*c.CallOptions).GetNetworkPolicy):len((*c.CallOptions).GetNetworkPolicy)], opts...) - var resp *vmwareenginepb.NetworkPolicy + opts = append((*c.CallOptions).UpdateSubnet[0:len((*c.CallOptions).UpdateSubnet):len((*c.CallOptions).UpdateSubnet)], opts...) + var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.GetNetworkPolicy(ctx, req, settings.GRPC...) + resp, err = c.client.UpdateSubnet(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return resp, nil + return &UpdateSubnetOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil } -func (c *gRPCClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginepb.ListNetworkPoliciesRequest, opts ...gax.CallOption) *NetworkPolicyIterator { +func (c *gRPCClient) ListExternalAccessRules(ctx context.Context, req *vmwareenginepb.ListExternalAccessRulesRequest, opts ...gax.CallOption) *ExternalAccessRuleIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListNetworkPolicies[0:len((*c.CallOptions).ListNetworkPolicies):len((*c.CallOptions).ListNetworkPolicies)], opts...) - it := &NetworkPolicyIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListNetworkPoliciesRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPolicy, string, error) { - resp := &vmwareenginepb.ListNetworkPoliciesResponse{} + opts = append((*c.CallOptions).ListExternalAccessRules[0:len((*c.CallOptions).ListExternalAccessRules):len((*c.CallOptions).ListExternalAccessRules)], opts...) + it := &ExternalAccessRuleIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListExternalAccessRulesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAccessRule, string, error) { + resp := &vmwareenginepb.ListExternalAccessRulesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -2045,7 +2924,7 @@ func (c *gRPCClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginep } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListNetworkPolicies(ctx, req, settings.GRPC...) + resp, err = c.client.ListExternalAccessRules(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2053,7 +2932,7 @@ func (c *gRPCClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginep } it.Response = resp - return resp.GetNetworkPolicies(), resp.GetNextPageToken(), nil + return resp.GetExternalAccessRules(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -2071,154 +2950,94 @@ func (c *gRPCClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginep return it } -func (c *gRPCClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginepb.CreateNetworkPolicyRequest, opts ...gax.CallOption) (*CreateNetworkPolicyOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).CreateNetworkPolicy[0:len((*c.CallOptions).CreateNetworkPolicy):len((*c.CallOptions).CreateNetworkPolicy)], opts...) - var resp *longrunningpb.Operation - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.CreateNetworkPolicy(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err - } - return &CreateNetworkPolicyOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - }, nil -} - -func (c *gRPCClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginepb.UpdateNetworkPolicyRequest, opts ...gax.CallOption) (*UpdateNetworkPolicyOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_policy.name", url.QueryEscape(req.GetNetworkPolicy().GetName()))} - - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).UpdateNetworkPolicy[0:len((*c.CallOptions).UpdateNetworkPolicy):len((*c.CallOptions).UpdateNetworkPolicy)], opts...) - var resp *longrunningpb.Operation - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.UpdateNetworkPolicy(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err - } - return &UpdateNetworkPolicyOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - }, nil -} - -func (c *gRPCClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginepb.DeleteNetworkPolicyRequest, opts ...gax.CallOption) (*DeleteNetworkPolicyOperation, error) { +func (c *gRPCClient) GetExternalAccessRule(ctx context.Context, req *vmwareenginepb.GetExternalAccessRuleRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).DeleteNetworkPolicy[0:len((*c.CallOptions).DeleteNetworkPolicy):len((*c.CallOptions).DeleteNetworkPolicy)], opts...) - var resp *longrunningpb.Operation + opts = append((*c.CallOptions).GetExternalAccessRule[0:len((*c.CallOptions).GetExternalAccessRule):len((*c.CallOptions).GetExternalAccessRule)], opts...) + var resp *vmwareenginepb.ExternalAccessRule err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.DeleteNetworkPolicy(ctx, req, settings.GRPC...) + resp, err = c.client.GetExternalAccessRule(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &DeleteNetworkPolicyOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - }, nil + return resp, nil } -func (c *gRPCClient) CreateVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.CreateVmwareEngineNetworkRequest, opts ...gax.CallOption) (*CreateVmwareEngineNetworkOperation, error) { +func (c *gRPCClient) CreateExternalAccessRule(ctx context.Context, req *vmwareenginepb.CreateExternalAccessRuleRequest, opts ...gax.CallOption) (*CreateExternalAccessRuleOperation, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).CreateVmwareEngineNetwork[0:len((*c.CallOptions).CreateVmwareEngineNetwork):len((*c.CallOptions).CreateVmwareEngineNetwork)], opts...) + opts = append((*c.CallOptions).CreateExternalAccessRule[0:len((*c.CallOptions).CreateExternalAccessRule):len((*c.CallOptions).CreateExternalAccessRule)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.CreateVmwareEngineNetwork(ctx, req, settings.GRPC...) + resp, err = c.client.CreateExternalAccessRule(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &CreateVmwareEngineNetworkOperation{ + return &CreateExternalAccessRuleOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) UpdateVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.UpdateVmwareEngineNetworkRequest, opts ...gax.CallOption) (*UpdateVmwareEngineNetworkOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "vmware_engine_network.name", url.QueryEscape(req.GetVmwareEngineNetwork().GetName()))} +func (c *gRPCClient) UpdateExternalAccessRule(ctx context.Context, req *vmwareenginepb.UpdateExternalAccessRuleRequest, opts ...gax.CallOption) (*UpdateExternalAccessRuleOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "external_access_rule.name", url.QueryEscape(req.GetExternalAccessRule().GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).UpdateVmwareEngineNetwork[0:len((*c.CallOptions).UpdateVmwareEngineNetwork):len((*c.CallOptions).UpdateVmwareEngineNetwork)], opts...) + opts = append((*c.CallOptions).UpdateExternalAccessRule[0:len((*c.CallOptions).UpdateExternalAccessRule):len((*c.CallOptions).UpdateExternalAccessRule)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.UpdateVmwareEngineNetwork(ctx, req, settings.GRPC...) + resp, err = c.client.UpdateExternalAccessRule(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &UpdateVmwareEngineNetworkOperation{ + return &UpdateExternalAccessRuleOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) DeleteVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.DeleteVmwareEngineNetworkRequest, opts ...gax.CallOption) (*DeleteVmwareEngineNetworkOperation, error) { +func (c *gRPCClient) DeleteExternalAccessRule(ctx context.Context, req *vmwareenginepb.DeleteExternalAccessRuleRequest, opts ...gax.CallOption) (*DeleteExternalAccessRuleOperation, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).DeleteVmwareEngineNetwork[0:len((*c.CallOptions).DeleteVmwareEngineNetwork):len((*c.CallOptions).DeleteVmwareEngineNetwork)], opts...) + opts = append((*c.CallOptions).DeleteExternalAccessRule[0:len((*c.CallOptions).DeleteExternalAccessRule):len((*c.CallOptions).DeleteExternalAccessRule)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.DeleteVmwareEngineNetwork(ctx, req, settings.GRPC...) + resp, err = c.client.DeleteExternalAccessRule(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &DeleteVmwareEngineNetworkOperation{ + return &DeleteExternalAccessRuleOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) GetVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.GetVmwareEngineNetworkRequest, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetVmwareEngineNetwork[0:len((*c.CallOptions).GetVmwareEngineNetwork):len((*c.CallOptions).GetVmwareEngineNetwork)], opts...) - var resp *vmwareenginepb.VmwareEngineNetwork - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.client.GetVmwareEngineNetwork(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, err - } - return resp, nil -} - -func (c *gRPCClient) ListVmwareEngineNetworks(ctx context.Context, req *vmwareenginepb.ListVmwareEngineNetworksRequest, opts ...gax.CallOption) *VmwareEngineNetworkIterator { +func (c *gRPCClient) ListLoggingServers(ctx context.Context, req *vmwareenginepb.ListLoggingServersRequest, opts ...gax.CallOption) *LoggingServerIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListVmwareEngineNetworks[0:len((*c.CallOptions).ListVmwareEngineNetworks):len((*c.CallOptions).ListVmwareEngineNetworks)], opts...) - it := &VmwareEngineNetworkIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListVmwareEngineNetworksRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.VmwareEngineNetwork, string, error) { - resp := &vmwareenginepb.ListVmwareEngineNetworksResponse{} + opts = append((*c.CallOptions).ListLoggingServers[0:len((*c.CallOptions).ListLoggingServers):len((*c.CallOptions).ListLoggingServers)], opts...) + it := &LoggingServerIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListLoggingServersRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.LoggingServer, string, error) { + resp := &vmwareenginepb.ListLoggingServersResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -2229,7 +3048,7 @@ func (c *gRPCClient) ListVmwareEngineNetworks(ctx context.Context, req *vmwareen } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListVmwareEngineNetworks(ctx, req, settings.GRPC...) + resp, err = c.client.ListLoggingServers(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2237,7 +3056,7 @@ func (c *gRPCClient) ListVmwareEngineNetworks(ctx context.Context, req *vmwareen } it.Response = resp - return resp.GetVmwareEngineNetworks(), resp.GetNextPageToken(), nil + return resp.GetLoggingServers(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -2255,140 +3074,94 @@ func (c *gRPCClient) ListVmwareEngineNetworks(ctx context.Context, req *vmwareen return it } -func (c *gRPCClient) CreatePrivateConnection(ctx context.Context, req *vmwareenginepb.CreatePrivateConnectionRequest, opts ...gax.CallOption) (*CreatePrivateConnectionOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} +func (c *gRPCClient) GetLoggingServer(ctx context.Context, req *vmwareenginepb.GetLoggingServerRequest, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).CreatePrivateConnection[0:len((*c.CallOptions).CreatePrivateConnection):len((*c.CallOptions).CreatePrivateConnection)], opts...) - var resp *longrunningpb.Operation + opts = append((*c.CallOptions).GetLoggingServer[0:len((*c.CallOptions).GetLoggingServer):len((*c.CallOptions).GetLoggingServer)], opts...) + var resp *vmwareenginepb.LoggingServer err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.CreatePrivateConnection(ctx, req, settings.GRPC...) + resp, err = c.client.GetLoggingServer(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &CreatePrivateConnectionOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - }, nil + return resp, nil } -func (c *gRPCClient) GetPrivateConnection(ctx context.Context, req *vmwareenginepb.GetPrivateConnectionRequest, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) CreateLoggingServer(ctx context.Context, req *vmwareenginepb.CreateLoggingServerRequest, opts ...gax.CallOption) (*CreateLoggingServerOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetPrivateConnection[0:len((*c.CallOptions).GetPrivateConnection):len((*c.CallOptions).GetPrivateConnection)], opts...) - var resp *vmwareenginepb.PrivateConnection + opts = append((*c.CallOptions).CreateLoggingServer[0:len((*c.CallOptions).CreateLoggingServer):len((*c.CallOptions).CreateLoggingServer)], opts...) + var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.GetPrivateConnection(ctx, req, settings.GRPC...) + resp, err = c.client.CreateLoggingServer(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return resp, nil -} - -func (c *gRPCClient) ListPrivateConnections(ctx context.Context, req *vmwareenginepb.ListPrivateConnectionsRequest, opts ...gax.CallOption) *PrivateConnectionIterator { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - - hds = append(c.xGoogHeaders, hds...) - ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListPrivateConnections[0:len((*c.CallOptions).ListPrivateConnections):len((*c.CallOptions).ListPrivateConnections)], opts...) - it := &PrivateConnectionIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListPrivateConnectionsRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PrivateConnection, string, error) { - resp := &vmwareenginepb.ListPrivateConnectionsResponse{} - 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.ListPrivateConnections(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, "", err - } - - it.Response = resp - return resp.GetPrivateConnections(), 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 + return &CreateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil } -func (c *gRPCClient) UpdatePrivateConnection(ctx context.Context, req *vmwareenginepb.UpdatePrivateConnectionRequest, opts ...gax.CallOption) (*UpdatePrivateConnectionOperation, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_connection.name", url.QueryEscape(req.GetPrivateConnection().GetName()))} +func (c *gRPCClient) UpdateLoggingServer(ctx context.Context, req *vmwareenginepb.UpdateLoggingServerRequest, opts ...gax.CallOption) (*UpdateLoggingServerOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "logging_server.name", url.QueryEscape(req.GetLoggingServer().GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).UpdatePrivateConnection[0:len((*c.CallOptions).UpdatePrivateConnection):len((*c.CallOptions).UpdatePrivateConnection)], opts...) + opts = append((*c.CallOptions).UpdateLoggingServer[0:len((*c.CallOptions).UpdateLoggingServer):len((*c.CallOptions).UpdateLoggingServer)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.UpdatePrivateConnection(ctx, req, settings.GRPC...) + resp, err = c.client.UpdateLoggingServer(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &UpdatePrivateConnectionOperation{ + return &UpdateLoggingServerOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) DeletePrivateConnection(ctx context.Context, req *vmwareenginepb.DeletePrivateConnectionRequest, opts ...gax.CallOption) (*DeletePrivateConnectionOperation, error) { +func (c *gRPCClient) DeleteLoggingServer(ctx context.Context, req *vmwareenginepb.DeleteLoggingServerRequest, opts ...gax.CallOption) (*DeleteLoggingServerOperation, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).DeletePrivateConnection[0:len((*c.CallOptions).DeletePrivateConnection):len((*c.CallOptions).DeletePrivateConnection)], opts...) + opts = append((*c.CallOptions).DeleteLoggingServer[0:len((*c.CallOptions).DeleteLoggingServer):len((*c.CallOptions).DeleteLoggingServer)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.DeletePrivateConnection(ctx, req, settings.GRPC...) + resp, err = c.client.DeleteLoggingServer(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return &DeletePrivateConnectionOperation{ + return &DeleteLoggingServerOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), }, nil } -func (c *gRPCClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req *vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest, opts ...gax.CallOption) *PeeringRouteIterator { +func (c *gRPCClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListPrivateConnectionPeeringRoutes[0:len((*c.CallOptions).ListPrivateConnectionPeeringRoutes):len((*c.CallOptions).ListPrivateConnectionPeeringRoutes)], opts...) - it := &PeeringRouteIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PeeringRoute, string, error) { - resp := &vmwareenginepb.ListPrivateConnectionPeeringRoutesResponse{} + opts = append((*c.CallOptions).ListNodeTypes[0:len((*c.CallOptions).ListNodeTypes):len((*c.CallOptions).ListNodeTypes)], opts...) + it := &NodeTypeIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNodeTypesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NodeType, string, error) { + resp := &vmwareenginepb.ListNodeTypesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -2399,7 +3172,7 @@ func (c *gRPCClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.client.ListPrivateConnectionPeeringRoutes(ctx, req, settings.GRPC...) + resp, err = c.client.ListNodeTypes(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2407,7 +3180,7 @@ func (c *gRPCClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req } it.Response = resp - return resp.GetPeeringRoutes(), resp.GetNextPageToken(), nil + return resp.GetNodeTypes(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -2425,16 +3198,16 @@ func (c *gRPCClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req return it } -func (c *gRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { +func (c *gRPCClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) - var resp *locationpb.Location + opts = append((*c.CallOptions).GetNodeType[0:len((*c.CallOptions).GetNodeType):len((*c.CallOptions).GetNodeType)], opts...) + var resp *vmwareenginepb.NodeType err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.locationsClient.GetLocation(ctx, req, settings.GRPC...) + resp, err = c.client.GetNodeType(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2443,98 +3216,92 @@ func (c *gRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocatio return resp, nil } -func (c *gRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) - it := &LocationIterator{} - req = proto.Clone(req).(*locationpb.ListLocationsRequest) - it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { - resp := &locationpb.ListLocationsResponse{} - if pageToken != "" { - req.PageToken = pageToken - } - if pageSize > math.MaxInt32 { - req.PageSize = math.MaxInt32 - } else if pageSize != 0 { - req.PageSize = int32(pageSize) - } - err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - var err error - resp, err = c.locationsClient.ListLocations(ctx, req, settings.GRPC...) - return err - }, opts...) - if err != nil { - return nil, "", err - } - - it.Response = resp - return resp.GetLocations(), resp.GetNextPageToken(), nil - } - fetch := func(pageSize int, pageToken string) (string, error) { - items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) - if err != nil { - return "", err - } - it.items = append(it.items, items...) - return nextPageToken, nil + opts = append((*c.CallOptions).ShowNsxCredentials[0:len((*c.CallOptions).ShowNsxCredentials):len((*c.CallOptions).ShowNsxCredentials)], opts...) + var resp *vmwareenginepb.Credentials + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ShowNsxCredentials(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err } + return resp, nil +} - it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) - it.pageInfo.MaxSize = int(req.GetPageSize()) - it.pageInfo.Token = req.GetPageToken() +func (c *gRPCClient) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} - return it + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ShowVcenterCredentials[0:len((*c.CallOptions).ShowVcenterCredentials):len((*c.CallOptions).ShowVcenterCredentials)], opts...) + var resp *vmwareenginepb.Credentials + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ShowVcenterCredentials(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) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} +func (c *gRPCClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) - var resp *iampb.Policy + opts = append((*c.CallOptions).ResetNsxCredentials[0:len((*c.CallOptions).ResetNsxCredentials):len((*c.CallOptions).ResetNsxCredentials)], opts...) + var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.iamPolicyClient.GetIamPolicy(ctx, req, settings.GRPC...) + resp, err = c.client.ResetNsxCredentials(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return resp, nil + return &ResetNsxCredentialsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil } -func (c *gRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} +func (c *gRPCClient) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) - var resp *iampb.Policy + opts = append((*c.CallOptions).ResetVcenterCredentials[0:len((*c.CallOptions).ResetVcenterCredentials):len((*c.CallOptions).ResetVcenterCredentials)], opts...) + var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.iamPolicyClient.SetIamPolicy(ctx, req, settings.GRPC...) + resp, err = c.client.ResetVcenterCredentials(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { return nil, err } - return resp, nil + return &ResetVcenterCredentialsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil } -func (c *gRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} +func (c *gRPCClient) GetDnsForwarding(ctx context.Context, req *vmwareenginepb.GetDnsForwardingRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) - var resp *iampb.TestIamPermissionsResponse + opts = append((*c.CallOptions).GetDnsForwarding[0:len((*c.CallOptions).GetDnsForwarding):len((*c.CallOptions).GetDnsForwarding)], opts...) + var resp *vmwareenginepb.DnsForwarding err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.iamPolicyClient.TestIamPermissions(ctx, req, settings.GRPC...) + resp, err = c.client.GetDnsForwarding(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2543,30 +3310,36 @@ func (c *gRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamP return resp, nil } -func (c *gRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) UpdateDnsForwarding(ctx context.Context, req *vmwareenginepb.UpdateDnsForwardingRequest, opts ...gax.CallOption) (*UpdateDnsForwardingOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "dns_forwarding.name", url.QueryEscape(req.GetDnsForwarding().GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + opts = append((*c.CallOptions).UpdateDnsForwarding[0:len((*c.CallOptions).UpdateDnsForwarding):len((*c.CallOptions).UpdateDnsForwarding)], opts...) + var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - _, err = c.operationsClient.DeleteOperation(ctx, req, settings.GRPC...) + resp, err = c.client.UpdateDnsForwarding(ctx, req, settings.GRPC...) return err }, opts...) - return err + if err != nil { + return nil, err + } + return &UpdateDnsForwardingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil } -func (c *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { +func (c *gRPCClient) GetNetworkPeering(ctx context.Context, req *vmwareenginepb.GetNetworkPeeringRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) - var resp *longrunningpb.Operation + opts = append((*c.CallOptions).GetNetworkPeering[0:len((*c.CallOptions).GetNetworkPeering):len((*c.CallOptions).GetNetworkPeering)], opts...) + var resp *vmwareenginepb.NetworkPeering err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + resp, err = c.client.GetNetworkPeering(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2575,16 +3348,16 @@ func (c *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOpe return resp, nil } -func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} +func (c *gRPCClient) ListNetworkPeerings(ctx context.Context, req *vmwareenginepb.ListNetworkPeeringsRequest, opts ...gax.CallOption) *NetworkPeeringIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) - opts = append((*c.CallOptions).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{} + opts = append((*c.CallOptions).ListNetworkPeerings[0:len((*c.CallOptions).ListNetworkPeerings):len((*c.CallOptions).ListNetworkPeerings)], opts...) + it := &NetworkPeeringIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNetworkPeeringsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPeering, string, error) { + resp := &vmwareenginepb.ListNetworkPeeringsResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -2595,7 +3368,7 @@ func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.List } err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error - resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + resp, err = c.client.ListNetworkPeerings(ctx, req, settings.GRPC...) return err }, opts...) if err != nil { @@ -2603,7 +3376,7 @@ func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.List } it.Response = resp - return resp.GetOperations(), resp.GetNextPageToken(), nil + return resp.GetNetworkPeerings(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) @@ -2621,13 +3394,76 @@ func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.List return it } -// ListPrivateClouds lists PrivateCloud resources in a given project and location. -func (c *restClient) ListPrivateClouds(ctx context.Context, req *vmwareenginepb.ListPrivateCloudsRequest, opts ...gax.CallOption) *PrivateCloudIterator { - it := &PrivateCloudIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListPrivateCloudsRequest) - unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PrivateCloud, string, error) { - resp := &vmwareenginepb.ListPrivateCloudsResponse{} +func (c *gRPCClient) CreateNetworkPeering(ctx context.Context, req *vmwareenginepb.CreateNetworkPeeringRequest, opts ...gax.CallOption) (*CreateNetworkPeeringOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateNetworkPeering[0:len((*c.CallOptions).CreateNetworkPeering):len((*c.CallOptions).CreateNetworkPeering)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateNetworkPeering(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteNetworkPeering(ctx context.Context, req *vmwareenginepb.DeleteNetworkPeeringRequest, opts ...gax.CallOption) (*DeleteNetworkPeeringOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteNetworkPeering[0:len((*c.CallOptions).DeleteNetworkPeering):len((*c.CallOptions).DeleteNetworkPeering)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteNetworkPeering(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateNetworkPeering(ctx context.Context, req *vmwareenginepb.UpdateNetworkPeeringRequest, opts ...gax.CallOption) (*UpdateNetworkPeeringOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_peering.name", url.QueryEscape(req.GetNetworkPeering().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateNetworkPeering[0:len((*c.CallOptions).UpdateNetworkPeering):len((*c.CallOptions).UpdateNetworkPeering)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateNetworkPeering(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) ListPeeringRoutes(ctx context.Context, req *vmwareenginepb.ListPeeringRoutesRequest, opts ...gax.CallOption) *PeeringRouteIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListPeeringRoutes[0:len((*c.CallOptions).ListPeeringRoutes):len((*c.CallOptions).ListPeeringRoutes)], opts...) + it := &PeeringRouteIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListPeeringRoutesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PeeringRoute, string, error) { + resp := &vmwareenginepb.ListPeeringRoutesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -2636,70 +3472,84 @@ func (c *restClient) ListPrivateClouds(ctx context.Context, req *vmwareenginepb. } else if pageSize != 0 { req.PageSize = int32(pageSize) } - baseUrl, err := url.Parse(c.endpoint) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListPeeringRoutes(ctx, req, settings.GRPC...) + return err + }, opts...) if err != nil { return nil, "", err } - baseUrl.Path += fmt.Sprintf("/v1/%v/privateClouds", req.GetParent()) - params := url.Values{} - params.Add("$alt", "json;enum-encoding=int") - if req.GetFilter() != "" { - params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) - } - if req.GetOrderBy() != "" { - params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) - } - if req.GetPageSize() != 0 { - params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) - } - if req.GetPageToken() != "" { - params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + it.Response = resp + return resp.GetPeeringRoutes(), 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 + } - baseUrl.RawQuery = params.Encode() - - // Build HTTP headers from client and context metadata. - hds := append(c.xGoogHeaders, "Content-Type", "application/json") - headers := gax.BuildHeaders(ctx, hds...) - e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - if settings.Path != "" { - baseUrl.Path = settings.Path - } - httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) - if err != nil { - return err - } - httpReq.Header = headers + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() - httpRsp, err := c.httpClient.Do(httpReq) - if err != nil { - return err - } - defer httpRsp.Body.Close() + return it +} - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err - } +func (c *gRPCClient) CreateHcxActivationKey(ctx context.Context, req *vmwareenginepb.CreateHcxActivationKeyRequest, opts ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - buf, err := io.ReadAll(httpRsp.Body) - if err != nil { - return err - } + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateHcxActivationKey[0:len((*c.CallOptions).CreateHcxActivationKey):len((*c.CallOptions).CreateHcxActivationKey)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateHcxActivationKey(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateHcxActivationKeyOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } +func (c *gRPCClient) ListHcxActivationKeys(ctx context.Context, req *vmwareenginepb.ListHcxActivationKeysRequest, opts ...gax.CallOption) *HcxActivationKeyIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - return nil + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListHcxActivationKeys[0:len((*c.CallOptions).ListHcxActivationKeys):len((*c.CallOptions).ListHcxActivationKeys)], opts...) + it := &HcxActivationKeyIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListHcxActivationKeysRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.HcxActivationKey, string, error) { + resp := &vmwareenginepb.ListHcxActivationKeysResponse{} + 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.ListHcxActivationKeys(ctx, req, settings.GRPC...) + return err }, opts...) - if e != nil { - return nil, "", e + if err != nil { + return nil, "", err } + it.Response = resp - return resp.GetPrivateClouds(), resp.GetNextPageToken(), nil + return resp.GetHcxActivationKeys(), resp.GetNextPageToken(), nil } - fetch := func(pageSize int, pageToken string) (string, error) { items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) if err != nil { @@ -2716,13 +3566,3630 @@ func (c *restClient) ListPrivateClouds(ctx context.Context, req *vmwareenginepb. return it } -// GetPrivateCloud retrieves a PrivateCloud resource by its resource name. -func (c *restClient) GetPrivateCloud(ctx context.Context, req *vmwareenginepb.GetPrivateCloudRequest, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, error) { +func (c *gRPCClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginepb.GetHcxActivationKeyRequest, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetHcxActivationKey[0:len((*c.CallOptions).GetHcxActivationKey):len((*c.CallOptions).GetHcxActivationKey)], opts...) + var resp *vmwareenginepb.HcxActivationKey + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetHcxActivationKey(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetNetworkPolicy(ctx context.Context, req *vmwareenginepb.GetNetworkPolicyRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetNetworkPolicy[0:len((*c.CallOptions).GetNetworkPolicy):len((*c.CallOptions).GetNetworkPolicy)], opts...) + var resp *vmwareenginepb.NetworkPolicy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetNetworkPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginepb.ListNetworkPoliciesRequest, opts ...gax.CallOption) *NetworkPolicyIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListNetworkPolicies[0:len((*c.CallOptions).ListNetworkPolicies):len((*c.CallOptions).ListNetworkPolicies)], opts...) + it := &NetworkPolicyIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNetworkPoliciesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPolicy, string, error) { + resp := &vmwareenginepb.ListNetworkPoliciesResponse{} + 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.ListNetworkPolicies(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetNetworkPolicies(), 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) CreateNetworkPolicy(ctx context.Context, req *vmwareenginepb.CreateNetworkPolicyRequest, opts ...gax.CallOption) (*CreateNetworkPolicyOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateNetworkPolicy[0:len((*c.CallOptions).CreateNetworkPolicy):len((*c.CallOptions).CreateNetworkPolicy)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateNetworkPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateNetworkPolicyOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginepb.UpdateNetworkPolicyRequest, opts ...gax.CallOption) (*UpdateNetworkPolicyOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_policy.name", url.QueryEscape(req.GetNetworkPolicy().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateNetworkPolicy[0:len((*c.CallOptions).UpdateNetworkPolicy):len((*c.CallOptions).UpdateNetworkPolicy)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateNetworkPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateNetworkPolicyOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginepb.DeleteNetworkPolicyRequest, opts ...gax.CallOption) (*DeleteNetworkPolicyOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteNetworkPolicy[0:len((*c.CallOptions).DeleteNetworkPolicy):len((*c.CallOptions).DeleteNetworkPolicy)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteNetworkPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteNetworkPolicyOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) ListManagementDnsZoneBindings(ctx context.Context, req *vmwareenginepb.ListManagementDnsZoneBindingsRequest, opts ...gax.CallOption) *ManagementDnsZoneBindingIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListManagementDnsZoneBindings[0:len((*c.CallOptions).ListManagementDnsZoneBindings):len((*c.CallOptions).ListManagementDnsZoneBindings)], opts...) + it := &ManagementDnsZoneBindingIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListManagementDnsZoneBindingsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ManagementDnsZoneBinding, string, error) { + resp := &vmwareenginepb.ListManagementDnsZoneBindingsResponse{} + 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.ListManagementDnsZoneBindings(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetManagementDnsZoneBindings(), 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) GetManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.GetManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetManagementDnsZoneBinding[0:len((*c.CallOptions).GetManagementDnsZoneBinding):len((*c.CallOptions).GetManagementDnsZoneBinding)], opts...) + var resp *vmwareenginepb.ManagementDnsZoneBinding + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetManagementDnsZoneBinding(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) CreateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.CreateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*CreateManagementDnsZoneBindingOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateManagementDnsZoneBinding[0:len((*c.CallOptions).CreateManagementDnsZoneBinding):len((*c.CallOptions).CreateManagementDnsZoneBinding)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateManagementDnsZoneBinding(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.UpdateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*UpdateManagementDnsZoneBindingOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "management_dns_zone_binding.name", url.QueryEscape(req.GetManagementDnsZoneBinding().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateManagementDnsZoneBinding[0:len((*c.CallOptions).UpdateManagementDnsZoneBinding):len((*c.CallOptions).UpdateManagementDnsZoneBinding)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateManagementDnsZoneBinding(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.DeleteManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*DeleteManagementDnsZoneBindingOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteManagementDnsZoneBinding[0:len((*c.CallOptions).DeleteManagementDnsZoneBinding):len((*c.CallOptions).DeleteManagementDnsZoneBinding)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteManagementDnsZoneBinding(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) RepairManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.RepairManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*RepairManagementDnsZoneBindingOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RepairManagementDnsZoneBinding[0:len((*c.CallOptions).RepairManagementDnsZoneBinding):len((*c.CallOptions).RepairManagementDnsZoneBinding)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.RepairManagementDnsZoneBinding(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &RepairManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) CreateVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.CreateVmwareEngineNetworkRequest, opts ...gax.CallOption) (*CreateVmwareEngineNetworkOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateVmwareEngineNetwork[0:len((*c.CallOptions).CreateVmwareEngineNetwork):len((*c.CallOptions).CreateVmwareEngineNetwork)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateVmwareEngineNetwork(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateVmwareEngineNetworkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) UpdateVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.UpdateVmwareEngineNetworkRequest, opts ...gax.CallOption) (*UpdateVmwareEngineNetworkOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "vmware_engine_network.name", url.QueryEscape(req.GetVmwareEngineNetwork().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateVmwareEngineNetwork[0:len((*c.CallOptions).UpdateVmwareEngineNetwork):len((*c.CallOptions).UpdateVmwareEngineNetwork)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateVmwareEngineNetwork(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdateVmwareEngineNetworkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.DeleteVmwareEngineNetworkRequest, opts ...gax.CallOption) (*DeleteVmwareEngineNetworkOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteVmwareEngineNetwork[0:len((*c.CallOptions).DeleteVmwareEngineNetwork):len((*c.CallOptions).DeleteVmwareEngineNetwork)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteVmwareEngineNetwork(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteVmwareEngineNetworkOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetVmwareEngineNetwork(ctx context.Context, req *vmwareenginepb.GetVmwareEngineNetworkRequest, opts ...gax.CallOption) (*vmwareenginepb.VmwareEngineNetwork, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetVmwareEngineNetwork[0:len((*c.CallOptions).GetVmwareEngineNetwork):len((*c.CallOptions).GetVmwareEngineNetwork)], opts...) + var resp *vmwareenginepb.VmwareEngineNetwork + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetVmwareEngineNetwork(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListVmwareEngineNetworks(ctx context.Context, req *vmwareenginepb.ListVmwareEngineNetworksRequest, opts ...gax.CallOption) *VmwareEngineNetworkIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListVmwareEngineNetworks[0:len((*c.CallOptions).ListVmwareEngineNetworks):len((*c.CallOptions).ListVmwareEngineNetworks)], opts...) + it := &VmwareEngineNetworkIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListVmwareEngineNetworksRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.VmwareEngineNetwork, string, error) { + resp := &vmwareenginepb.ListVmwareEngineNetworksResponse{} + 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.ListVmwareEngineNetworks(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetVmwareEngineNetworks(), 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) CreatePrivateConnection(ctx context.Context, req *vmwareenginepb.CreatePrivateConnectionRequest, opts ...gax.CallOption) (*CreatePrivateConnectionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreatePrivateConnection[0:len((*c.CallOptions).CreatePrivateConnection):len((*c.CallOptions).CreatePrivateConnection)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreatePrivateConnection(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreatePrivateConnectionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetPrivateConnection(ctx context.Context, req *vmwareenginepb.GetPrivateConnectionRequest, opts ...gax.CallOption) (*vmwareenginepb.PrivateConnection, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetPrivateConnection[0:len((*c.CallOptions).GetPrivateConnection):len((*c.CallOptions).GetPrivateConnection)], opts...) + var resp *vmwareenginepb.PrivateConnection + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetPrivateConnection(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListPrivateConnections(ctx context.Context, req *vmwareenginepb.ListPrivateConnectionsRequest, opts ...gax.CallOption) *PrivateConnectionIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListPrivateConnections[0:len((*c.CallOptions).ListPrivateConnections):len((*c.CallOptions).ListPrivateConnections)], opts...) + it := &PrivateConnectionIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListPrivateConnectionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PrivateConnection, string, error) { + resp := &vmwareenginepb.ListPrivateConnectionsResponse{} + 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.ListPrivateConnections(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetPrivateConnections(), 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) UpdatePrivateConnection(ctx context.Context, req *vmwareenginepb.UpdatePrivateConnectionRequest, opts ...gax.CallOption) (*UpdatePrivateConnectionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_connection.name", url.QueryEscape(req.GetPrivateConnection().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdatePrivateConnection[0:len((*c.CallOptions).UpdatePrivateConnection):len((*c.CallOptions).UpdatePrivateConnection)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdatePrivateConnection(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &UpdatePrivateConnectionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeletePrivateConnection(ctx context.Context, req *vmwareenginepb.DeletePrivateConnectionRequest, opts ...gax.CallOption) (*DeletePrivateConnectionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeletePrivateConnection[0:len((*c.CallOptions).DeletePrivateConnection):len((*c.CallOptions).DeletePrivateConnection)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeletePrivateConnection(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeletePrivateConnectionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req *vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest, opts ...gax.CallOption) *PeeringRouteIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListPrivateConnectionPeeringRoutes[0:len((*c.CallOptions).ListPrivateConnectionPeeringRoutes):len((*c.CallOptions).ListPrivateConnectionPeeringRoutes)], opts...) + it := &PeeringRouteIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListPrivateConnectionPeeringRoutesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PeeringRoute, string, error) { + resp := &vmwareenginepb.ListPrivateConnectionPeeringRoutesResponse{} + 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.ListPrivateConnectionPeeringRoutes(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetPeeringRoutes(), 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) GrantDnsBindPermission(ctx context.Context, req *vmwareenginepb.GrantDnsBindPermissionRequest, opts ...gax.CallOption) (*GrantDnsBindPermissionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GrantDnsBindPermission[0:len((*c.CallOptions).GrantDnsBindPermission):len((*c.CallOptions).GrantDnsBindPermission)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GrantDnsBindPermission(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &GrantDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetDnsBindPermission(ctx context.Context, req *vmwareenginepb.GetDnsBindPermissionRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetDnsBindPermission[0:len((*c.CallOptions).GetDnsBindPermission):len((*c.CallOptions).GetDnsBindPermission)], opts...) + var resp *vmwareenginepb.DnsBindPermission + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetDnsBindPermission(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) RevokeDnsBindPermission(ctx context.Context, req *vmwareenginepb.RevokeDnsBindPermissionRequest, opts ...gax.CallOption) (*RevokeDnsBindPermissionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RevokeDnsBindPermission[0:len((*c.CallOptions).RevokeDnsBindPermission):len((*c.CallOptions).RevokeDnsBindPermission)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.RevokeDnsBindPermission(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &RevokeDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.GetLocation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.ListLocations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.GetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + var resp *iampb.Policy + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.SetIamPolicy(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + var resp *iampb.TestIamPermissionsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.iamPolicyClient.TestIamPermissions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.DeleteOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListPrivateClouds lists PrivateCloud resources in a given project and location. +func (c *restClient) ListPrivateClouds(ctx context.Context, req *vmwareenginepb.ListPrivateCloudsRequest, opts ...gax.CallOption) *PrivateCloudIterator { + it := &PrivateCloudIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListPrivateCloudsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PrivateCloud, string, error) { + resp := &vmwareenginepb.ListPrivateCloudsResponse{} + 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/privateClouds", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetPrivateClouds(), 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 +} + +// GetPrivateCloud retrieves a PrivateCloud resource by its resource name. +func (c *restClient) GetPrivateCloud(ctx context.Context, req *vmwareenginepb.GetPrivateCloudRequest, opts ...gax.CallOption) (*vmwareenginepb.PrivateCloud, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetPrivateCloud[0:len((*c.CallOptions).GetPrivateCloud):len((*c.CallOptions).GetPrivateCloud)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.PrivateCloud{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreatePrivateCloud creates a new PrivateCloud resource in a given project and location. +// Private clouds of type STANDARD and +// TIME_LIMITED are zonal resources, STRETCHED private clouds are +// regional. +// Creating a private cloud also creates a management +// cluster (at https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) +// for that private cloud. +func (c *restClient) CreatePrivateCloud(ctx context.Context, req *vmwareenginepb.CreatePrivateCloudRequest, opts ...gax.CallOption) (*CreatePrivateCloudOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetPrivateCloud() + 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/privateClouds", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("privateCloudId", fmt.Sprintf("%v", req.GetPrivateCloudId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreatePrivateCloudOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdatePrivateCloud modifies a PrivateCloud resource. Only the following fields can be +// updated: description. +// Only fields specified in updateMask are applied. +// +// During operation processing, the resource is temporarily in the ACTIVE +// state before the operation fully completes. For that period of time, you +// can’t update the resource. Use the operation status to determine when the +// processing fully completes. +func (c *restClient) UpdatePrivateCloud(ctx context.Context, req *vmwareenginepb.UpdatePrivateCloudRequest, opts ...gax.CallOption) (*UpdatePrivateCloudOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetPrivateCloud() + 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.GetPrivateCloud().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud.name", url.QueryEscape(req.GetPrivateCloud().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdatePrivateCloudOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeletePrivateCloud schedules a PrivateCloud resource for deletion. +// +// A PrivateCloud resource scheduled for deletion has PrivateCloud.state +// set to DELETED and expireTime set to the time when deletion is final +// and can no longer be reversed. The delete operation is marked as done +// as soon as the PrivateCloud is successfully scheduled for deletion +// (this also applies when delayHours is set to zero), and the operation is +// not kept in pending state until PrivateCloud is purged. +// PrivateCloud can be restored using UndeletePrivateCloud method before +// the expireTime elapses. When expireTime is reached, deletion is final +// and all private cloud resources are irreversibly removed and billing stops. +// During the final removal process, PrivateCloud.state is set to PURGING. +// PrivateCloud can be polled using standard GET method for the whole +// period of deletion and purging. It will not be returned only +// when it is completely purged. +func (c *restClient) DeletePrivateCloud(ctx context.Context, req *vmwareenginepb.DeletePrivateCloudRequest, opts ...gax.CallOption) (*DeletePrivateCloudOperation, 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 != nil && req.DelayHours != nil { + params.Add("delayHours", fmt.Sprintf("%v", req.GetDelayHours())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeletePrivateCloudOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UndeletePrivateCloud restores a private cloud that was previously scheduled for deletion by +// DeletePrivateCloud. A PrivateCloud resource scheduled for deletion has +// PrivateCloud.state set to DELETED and PrivateCloud.expireTime set to +// the time when deletion can no longer be reversed. +func (c *restClient) UndeletePrivateCloud(ctx context.Context, req *vmwareenginepb.UndeletePrivateCloudRequest, opts ...gax.CallOption) (*UndeletePrivateCloudOperation, 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:undelete", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UndeletePrivateCloudOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListClusters lists Cluster resources in a given private cloud. +func (c *restClient) ListClusters(ctx context.Context, req *vmwareenginepb.ListClustersRequest, opts ...gax.CallOption) *ClusterIterator { + it := &ClusterIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListClustersRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Cluster, string, error) { + resp := &vmwareenginepb.ListClustersResponse{} + 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/clusters", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetClusters(), 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 +} + +// GetCluster retrieves a Cluster resource by its resource name. +func (c *restClient) GetCluster(ctx context.Context, req *vmwareenginepb.GetClusterRequest, opts ...gax.CallOption) (*vmwareenginepb.Cluster, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetCluster[0:len((*c.CallOptions).GetCluster):len((*c.CallOptions).GetCluster)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.Cluster{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateCluster creates a new cluster in a given private cloud. +// Creating a new cluster provides additional nodes for +// use in the parent private cloud and requires sufficient node +// quota (at https://cloud.google.com/vmware-engine/quotas). +func (c *restClient) CreateCluster(ctx context.Context, req *vmwareenginepb.CreateClusterRequest, opts ...gax.CallOption) (*CreateClusterOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetCluster() + 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/clusters", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("clusterId", fmt.Sprintf("%v", req.GetClusterId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateCluster modifies a Cluster resource. Only fields specified in updateMask are +// applied. +// +// During operation processing, the resource is temporarily in the ACTIVE +// state before the operation fully completes. For that period of time, you +// can’t update the resource. Use the operation status to determine when the +// processing fully completes. +func (c *restClient) UpdateCluster(ctx context.Context, req *vmwareenginepb.UpdateClusterRequest, opts ...gax.CallOption) (*UpdateClusterOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetCluster() + 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.GetCluster().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + if req.GetValidateOnly() { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "cluster.name", url.QueryEscape(req.GetCluster().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteCluster deletes a Cluster resource. To avoid unintended data loss, migrate or +// gracefully shut down any workloads running on the cluster before deletion. +// You cannot delete the management cluster of a private cloud using this +// method. +func (c *restClient) DeleteCluster(ctx context.Context, req *vmwareenginepb.DeleteClusterRequest, opts ...gax.CallOption) (*DeleteClusterOperation, 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.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListNodes lists nodes in a given cluster. +func (c *restClient) ListNodes(ctx context.Context, req *vmwareenginepb.ListNodesRequest, opts ...gax.CallOption) *NodeIterator { + it := &NodeIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNodesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Node, string, error) { + resp := &vmwareenginepb.ListNodesResponse{} + 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/nodes", 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. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetNodes(), 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 +} + +// GetNode gets details of a single node. +func (c *restClient) GetNode(ctx context.Context, req *vmwareenginepb.GetNodeRequest, opts ...gax.CallOption) (*vmwareenginepb.Node, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetNode[0:len((*c.CallOptions).GetNode):len((*c.CallOptions).GetNode)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.Node{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListExternalAddresses lists external IP addresses assigned to VMware workload VMs in a given +// private cloud. +func (c *restClient) ListExternalAddresses(ctx context.Context, req *vmwareenginepb.ListExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { + it := &ExternalAddressIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListExternalAddressesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAddress, string, error) { + resp := &vmwareenginepb.ListExternalAddressesResponse{} + 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/externalAddresses", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetExternalAddresses(), 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 +} + +// FetchNetworkPolicyExternalAddresses lists external IP addresses assigned to VMware workload VMs within the +// scope of the given network policy. +func (c *restClient) FetchNetworkPolicyExternalAddresses(ctx context.Context, req *vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest, opts ...gax.CallOption) *ExternalAddressIterator { + it := &ExternalAddressIterator{} + req = proto.Clone(req).(*vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAddress, string, error) { + resp := &vmwareenginepb.FetchNetworkPolicyExternalAddressesResponse{} + 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:fetchExternalAddresses", req.GetNetworkPolicy()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetExternalAddresses(), 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 +} + +// GetExternalAddress gets details of a single external IP address. +func (c *restClient) GetExternalAddress(ctx context.Context, req *vmwareenginepb.GetExternalAddressRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAddress, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetExternalAddress[0:len((*c.CallOptions).GetExternalAddress):len((*c.CallOptions).GetExternalAddress)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.ExternalAddress{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateExternalAddress creates a new ExternalAddress resource in a given private cloud. The +// network policy that corresponds to the private cloud must have the external +// IP address network service enabled (NetworkPolicy.external_ip). +func (c *restClient) CreateExternalAddress(ctx context.Context, req *vmwareenginepb.CreateExternalAddressRequest, opts ...gax.CallOption) (*CreateExternalAddressOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExternalAddress() + 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/externalAddresses", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("externalAddressId", fmt.Sprintf("%v", req.GetExternalAddressId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateExternalAddress updates the parameters of a single external IP address. +// Only fields specified in update_mask are applied. +// +// During operation processing, the resource is temporarily in the ACTIVE +// state before the operation fully completes. For that period of time, you +// can’t update the resource. Use the operation status to determine when the +// processing fully completes. +func (c *restClient) UpdateExternalAddress(ctx context.Context, req *vmwareenginepb.UpdateExternalAddressRequest, opts ...gax.CallOption) (*UpdateExternalAddressOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExternalAddress() + 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.GetExternalAddress().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "external_address.name", url.QueryEscape(req.GetExternalAddress().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteExternalAddress deletes a single external IP address. When you delete an external IP +// address, connectivity between the external IP address and the corresponding +// internal IP address is lost. +func (c *restClient) DeleteExternalAddress(ctx context.Context, req *vmwareenginepb.DeleteExternalAddressRequest, opts ...gax.CallOption) (*DeleteExternalAddressOperation, 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.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListSubnets lists subnets in a given private cloud. +func (c *restClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSubnetsRequest, opts ...gax.CallOption) *SubnetIterator { + it := &SubnetIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListSubnetsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Subnet, string, error) { + resp := &vmwareenginepb.ListSubnetsResponse{} + 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/subnets", 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. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetSubnets(), 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 +} + +// GetSubnet gets details of a single subnet. +func (c *restClient) GetSubnet(ctx context.Context, req *vmwareenginepb.GetSubnetRequest, opts ...gax.CallOption) (*vmwareenginepb.Subnet, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetSubnet[0:len((*c.CallOptions).GetSubnet):len((*c.CallOptions).GetSubnet)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.Subnet{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateSubnet updates the parameters of a single subnet. Only fields specified in +// update_mask are applied. +// +// Note: This API is synchronous and always returns a successful +// google.longrunning.Operation (LRO). The returned LRO will only have +// done and response fields. +func (c *restClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.UpdateSubnetRequest, opts ...gax.CallOption) (*UpdateSubnetOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetSubnet() + 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.GetSubnet().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subnet.name", url.QueryEscape(req.GetSubnet().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateSubnetOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListExternalAccessRules lists ExternalAccessRule resources in the specified network policy. +func (c *restClient) ListExternalAccessRules(ctx context.Context, req *vmwareenginepb.ListExternalAccessRulesRequest, opts ...gax.CallOption) *ExternalAccessRuleIterator { + it := &ExternalAccessRuleIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListExternalAccessRulesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ExternalAccessRule, string, error) { + resp := &vmwareenginepb.ListExternalAccessRulesResponse{} + 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/externalAccessRules", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetExternalAccessRules(), 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 +} + +// GetExternalAccessRule gets details of a single external access rule. +func (c *restClient) GetExternalAccessRule(ctx context.Context, req *vmwareenginepb.GetExternalAccessRuleRequest, opts ...gax.CallOption) (*vmwareenginepb.ExternalAccessRule, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetExternalAccessRule[0:len((*c.CallOptions).GetExternalAccessRule):len((*c.CallOptions).GetExternalAccessRule)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.ExternalAccessRule{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateExternalAccessRule creates a new external access rule in a given network policy. +func (c *restClient) CreateExternalAccessRule(ctx context.Context, req *vmwareenginepb.CreateExternalAccessRuleRequest, opts ...gax.CallOption) (*CreateExternalAccessRuleOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExternalAccessRule() + 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/externalAccessRules", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("externalAccessRuleId", fmt.Sprintf("%v", req.GetExternalAccessRuleId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateExternalAccessRule updates the parameters of a single external access rule. +// Only fields specified in update_mask are applied. +func (c *restClient) UpdateExternalAccessRule(ctx context.Context, req *vmwareenginepb.UpdateExternalAccessRuleRequest, opts ...gax.CallOption) (*UpdateExternalAccessRuleOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExternalAccessRule() + 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.GetExternalAccessRule().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "external_access_rule.name", url.QueryEscape(req.GetExternalAccessRule().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteExternalAccessRule deletes a single external access rule. +func (c *restClient) DeleteExternalAccessRule(ctx context.Context, req *vmwareenginepb.DeleteExternalAccessRuleRequest, opts ...gax.CallOption) (*DeleteExternalAccessRuleOperation, 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.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListLoggingServers lists logging servers configured for a given private +// cloud. +func (c *restClient) ListLoggingServers(ctx context.Context, req *vmwareenginepb.ListLoggingServersRequest, opts ...gax.CallOption) *LoggingServerIterator { + it := &LoggingServerIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListLoggingServersRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.LoggingServer, string, error) { + resp := &vmwareenginepb.ListLoggingServersResponse{} + 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/loggingServers", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLoggingServers(), 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 +} + +// GetLoggingServer gets details of a logging server. +func (c *restClient) GetLoggingServer(ctx context.Context, req *vmwareenginepb.GetLoggingServerRequest, opts ...gax.CallOption) (*vmwareenginepb.LoggingServer, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLoggingServer[0:len((*c.CallOptions).GetLoggingServer):len((*c.CallOptions).GetLoggingServer)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.LoggingServer{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateLoggingServer create a new logging server for a given private cloud. +func (c *restClient) CreateLoggingServer(ctx context.Context, req *vmwareenginepb.CreateLoggingServerRequest, opts ...gax.CallOption) (*CreateLoggingServerOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetLoggingServer() + 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/loggingServers", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("loggingServerId", fmt.Sprintf("%v", req.GetLoggingServerId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateLoggingServer updates the parameters of a single logging server. +// Only fields specified in update_mask are applied. +func (c *restClient) UpdateLoggingServer(ctx context.Context, req *vmwareenginepb.UpdateLoggingServerRequest, opts ...gax.CallOption) (*UpdateLoggingServerOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetLoggingServer() + 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.GetLoggingServer().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "logging_server.name", url.QueryEscape(req.GetLoggingServer().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("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 := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &UpdateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteLoggingServer deletes a single logging server. +func (c *restClient) DeleteLoggingServer(ctx context.Context, req *vmwareenginepb.DeleteLoggingServerRequest, opts ...gax.CallOption) (*DeleteLoggingServerOperation, 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.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListNodeTypes lists node types +func (c *restClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { + it := &NodeTypeIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNodeTypesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NodeType, string, error) { + resp := &vmwareenginepb.ListNodeTypesResponse{} + 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/nodeTypes", req.GetParent()) + + 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. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetNodeTypes(), 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 +} + +// GetNodeType gets details of a single NodeType. +func (c *restClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetNodeType[0:len((*c.CallOptions).GetNodeType):len((*c.CallOptions).GetNodeType)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.NodeType{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ShowNsxCredentials gets details of credentials for NSX appliance. +func (c *restClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:showNsxCredentials", req.GetPrivateCloud()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ShowNsxCredentials[0:len((*c.CallOptions).ShowNsxCredentials):len((*c.CallOptions).ShowNsxCredentials)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.Credentials{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ShowVcenterCredentials gets details of credentials for Vcenter appliance. +func (c *restClient) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:showVcenterCredentials", req.GetPrivateCloud()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUsername() != "" { + params.Add("username", fmt.Sprintf("%v", req.GetUsername())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ShowVcenterCredentials[0:len((*c.CallOptions).ShowVcenterCredentials):len((*c.CallOptions).ShowVcenterCredentials)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.Credentials{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ResetNsxCredentials resets credentials of the NSX appliance. +func (c *restClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, 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", req.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v:resetNsxCredentials", req.GetPrivateCloud()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") @@ -2730,19 +7197,18 @@ func (c *restClient) GetPrivateCloud(ctx context.Context, req *vmwareenginepb.Ge baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetPrivateCloud[0:len((*c.CallOptions).GetPrivateCloud):len((*c.CallOptions).GetPrivateCloud)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.PrivateCloud{} + 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) + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -2773,20 +7239,18 @@ func (c *restClient) GetPrivateCloud(ctx context.Context, req *vmwareenginepb.Ge if e != nil { return nil, e } - return resp, nil + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &ResetNsxCredentialsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil } -// CreatePrivateCloud creates a new PrivateCloud resource in a given project and location. -// Private clouds can only be created in zones, regional private clouds are -// not supported. -// -// Creating a private cloud also creates a management -// cluster (at https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) -// for that private cloud. -func (c *restClient) CreatePrivateCloud(ctx context.Context, req *vmwareenginepb.CreatePrivateCloudRequest, opts ...gax.CallOption) (*CreatePrivateCloudOperation, error) { +// ResetVcenterCredentials resets credentials of the Vcenter appliance. +func (c *restClient) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetPrivateCloud() - jsonReq, err := m.Marshal(body) + jsonReq, err := m.Marshal(req) if err != nil { return nil, err } @@ -2795,22 +7259,15 @@ func (c *restClient) CreatePrivateCloud(ctx context.Context, req *vmwareenginepb if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v/privateClouds", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v:resetVcenterCredentials", req.GetPrivateCloud()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - params.Add("privateCloudId", fmt.Sprintf("%v", req.GetPrivateCloudId())) - if req.GetRequestId() != "" { - params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) - } - if req.GetValidateOnly() { - params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) - } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -2854,62 +7311,39 @@ func (c *restClient) CreatePrivateCloud(ctx context.Context, req *vmwareenginepb } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &CreatePrivateCloudOperation{ + return &ResetVcenterCredentialsOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// UpdatePrivateCloud modifies a PrivateCloud resource. Only the following fields can be -// updated: description. -// Only fields specified in updateMask are applied. -// -// During operation processing, the resource is temporarily in the ACTIVE -// state before the operation fully completes. For that period of time, you -// can’t update the resource. Use the operation status to determine when the -// processing fully completes. -func (c *restClient) UpdatePrivateCloud(ctx context.Context, req *vmwareenginepb.UpdatePrivateCloudRequest, opts ...gax.CallOption) (*UpdatePrivateCloudOperation, error) { - m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetPrivateCloud() - jsonReq, err := m.Marshal(body) - if err != nil { - return nil, err - } - +// GetDnsForwarding gets details of the DnsForwarding config. +func (c *restClient) GetDnsForwarding(ctx context.Context, req *vmwareenginepb.GetDnsForwardingRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsForwarding, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetPrivateCloud().GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - if req.GetRequestId() != "" { - params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) - } - if req.GetUpdateMask() != nil { - updateMask, err := protojson.Marshal(req.GetUpdateMask()) - if err != nil { - return nil, err - } - params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) - } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud.name", url.QueryEscape(req.GetPrivateCloud().GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetDnsForwarding[0:len((*c.CallOptions).GetDnsForwarding):len((*c.CallOptions).GetDnsForwarding)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &longrunningpb.Operation{} + resp := &vmwareenginepb.DnsForwarding{} 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)) + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) if err != nil { return err } @@ -2940,52 +7374,42 @@ func (c *restClient) UpdatePrivateCloud(ctx context.Context, req *vmwareenginepb if e != nil { return nil, e } - - override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &UpdatePrivateCloudOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - pollPath: override, - }, nil + return resp, nil } -// DeletePrivateCloud schedules a PrivateCloud resource for deletion. -// -// A PrivateCloud resource scheduled for deletion has PrivateCloud.state -// set to DELETED and expireTime set to the time when deletion is final -// and can no longer be reversed. The delete operation is marked as done -// as soon as the PrivateCloud is successfully scheduled for deletion -// (this also applies when delayHours is set to zero), and the operation is -// not kept in pending state until PrivateCloud is purged. -// PrivateCloud can be restored using UndeletePrivateCloud method before -// the expireTime elapses. When expireTime is reached, deletion is final -// and all private cloud resources are irreversibly removed and billing stops. -// During the final removal process, PrivateCloud.state is set to PURGING. -// PrivateCloud can be polled using standard GET method for the whole -// period of deletion and purging. It will not be returned only -// when it is completely purged. -func (c *restClient) DeletePrivateCloud(ctx context.Context, req *vmwareenginepb.DeletePrivateCloudRequest, opts ...gax.CallOption) (*DeletePrivateCloudOperation, error) { +// UpdateDnsForwarding updates the parameters of the DnsForwarding config, like associated +// domains. Only fields specified in update_mask are applied. +func (c *restClient) UpdateDnsForwarding(ctx context.Context, req *vmwareenginepb.UpdateDnsForwardingRequest, opts ...gax.CallOption) (*UpdateDnsForwardingOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDnsForwarding() + 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.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetDnsForwarding().GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - if req != nil && req.DelayHours != nil { - params.Add("delayHours", fmt.Sprintf("%v", req.GetDelayHours())) - } - if req.GetForce() { - params.Add("force", fmt.Sprintf("%v", req.GetForce())) - } if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "dns_forwarding.name", url.QueryEscape(req.GetDnsForwarding().GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -2996,7 +7420,7 @@ func (c *restClient) DeletePrivateCloud(ctx context.Context, req *vmwareenginepb if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -3029,28 +7453,22 @@ func (c *restClient) DeletePrivateCloud(ctx context.Context, req *vmwareenginepb } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &DeletePrivateCloudOperation{ + return &UpdateDnsForwardingOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// UndeletePrivateCloud restores a private cloud that was previously scheduled for deletion by -// DeletePrivateCloud. A PrivateCloud resource scheduled for deletion has -// PrivateCloud.state set to DELETED and PrivateCloud.expireTime set to -// the time when deletion can no longer be reversed. -func (c *restClient) UndeletePrivateCloud(ctx context.Context, req *vmwareenginepb.UndeletePrivateCloudRequest, opts ...gax.CallOption) (*UndeletePrivateCloudOperation, error) { - m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - jsonReq, err := m.Marshal(req) - if err != nil { - return nil, err - } - +// GetNetworkPeering retrieves a NetworkPeering resource by its resource name. The resource +// contains details of the network peering, such as peered +// networks, import and export custom route configurations, and peering state. +// NetworkPeering is a global resource and location can only be global. +func (c *restClient) GetNetworkPeering(ctx context.Context, req *vmwareenginepb.GetNetworkPeeringRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPeering, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v:undelete", req.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") @@ -3063,13 +7481,14 @@ func (c *restClient) UndeletePrivateCloud(ctx context.Context, req *vmwareengine hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetNetworkPeering[0:len((*c.CallOptions).GetNetworkPeering):len((*c.CallOptions).GetNetworkPeering)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &longrunningpb.Operation{} + resp := &vmwareenginepb.NetworkPeering{} 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)) + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) if err != nil { return err } @@ -3100,21 +7519,17 @@ func (c *restClient) UndeletePrivateCloud(ctx context.Context, req *vmwareengine if e != nil { return nil, e } - - override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &UndeletePrivateCloudOperation{ - lro: longrunning.InternalNewOperation(*c.LROClient, resp), - pollPath: override, - }, nil + return resp, nil } -// ListClusters lists Cluster resources in a given private cloud. -func (c *restClient) ListClusters(ctx context.Context, req *vmwareenginepb.ListClustersRequest, opts ...gax.CallOption) *ClusterIterator { - it := &ClusterIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListClustersRequest) +// ListNetworkPeerings lists NetworkPeering resources in a given project. NetworkPeering is a +// global resource and location can only be global. +func (c *restClient) ListNetworkPeerings(ctx context.Context, req *vmwareenginepb.ListNetworkPeeringsRequest, opts ...gax.CallOption) *NetworkPeeringIterator { + it := &NetworkPeeringIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNetworkPeeringsRequest) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Cluster, string, error) { - resp := &vmwareenginepb.ListClustersResponse{} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPeering, string, error) { + resp := &vmwareenginepb.ListNetworkPeeringsResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -3127,7 +7542,7 @@ func (c *restClient) ListClusters(ctx context.Context, req *vmwareenginepb.ListC if err != nil { return nil, "", err } - baseUrl.Path += fmt.Sprintf("/v1/%v/clusters", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v/networkPeerings", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") @@ -3184,7 +7599,7 @@ func (c *restClient) ListClusters(ctx context.Context, req *vmwareenginepb.ListC return nil, "", e } it.Response = resp - return resp.GetClusters(), resp.GetNextPageToken(), nil + return resp.GetNetworkPeerings(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { @@ -3203,73 +7618,12 @@ func (c *restClient) ListClusters(ctx context.Context, req *vmwareenginepb.ListC return it } -// GetCluster retrieves a Cluster resource by its resource name. -func (c *restClient) GetCluster(ctx context.Context, req *vmwareenginepb.GetClusterRequest, opts ...gax.CallOption) (*vmwareenginepb.Cluster, 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. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - - hds = append(c.xGoogHeaders, hds...) - hds = append(hds, "Content-Type", "application/json") - headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetCluster[0:len((*c.CallOptions).GetCluster):len((*c.CallOptions).GetCluster)], opts...) - unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.Cluster{} - e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - if settings.Path != "" { - baseUrl.Path = settings.Path - } - httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) - if err != nil { - return err - } - httpReq = httpReq.WithContext(ctx) - httpReq.Header = headers - - httpRsp, err := c.httpClient.Do(httpReq) - if err != nil { - return err - } - defer httpRsp.Body.Close() - - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err - } - - buf, err := io.ReadAll(httpRsp.Body) - if err != nil { - return err - } - - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } - - return nil - }, opts...) - if e != nil { - return nil, e - } - return resp, nil -} - -// CreateCluster creates a new cluster in a given private cloud. -// Creating a new cluster provides additional nodes for -// use in the parent private cloud and requires sufficient node -// quota (at https://cloud.google.com/vmware-engine/quotas). -func (c *restClient) CreateCluster(ctx context.Context, req *vmwareenginepb.CreateClusterRequest, opts ...gax.CallOption) (*CreateClusterOperation, error) { +// CreateNetworkPeering creates a new network peering between the peer network and VMware Engine +// network provided in a NetworkPeering resource. NetworkPeering is a +// global resource and location can only be global. +func (c *restClient) CreateNetworkPeering(ctx context.Context, req *vmwareenginepb.CreateNetworkPeeringRequest, opts ...gax.CallOption) (*CreateNetworkPeeringOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetCluster() + body := req.GetNetworkPeering() jsonReq, err := m.Marshal(body) if err != nil { return nil, err @@ -3279,17 +7633,14 @@ func (c *restClient) CreateCluster(ctx context.Context, req *vmwareenginepb.Crea if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v/clusters", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v/networkPeerings", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - params.Add("clusterId", fmt.Sprintf("%v", req.GetClusterId())) + params.Add("networkPeeringId", fmt.Sprintf("%v", req.GetNetworkPeeringId())) if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } - if req.GetValidateOnly() { - params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) - } baseUrl.RawQuery = params.Encode() @@ -3338,54 +7689,33 @@ func (c *restClient) CreateCluster(ctx context.Context, req *vmwareenginepb.Crea } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &CreateClusterOperation{ + return &CreateNetworkPeeringOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// UpdateCluster modifies a Cluster resource. Only the following fields can be updated: -// node_type_configs.*.node_count. Only fields specified in updateMask are -// applied. -// -// During operation processing, the resource is temporarily in the ACTIVE -// state before the operation fully completes. For that period of time, you -// can’t update the resource. Use the operation status to determine when the -// processing fully completes. -func (c *restClient) UpdateCluster(ctx context.Context, req *vmwareenginepb.UpdateClusterRequest, opts ...gax.CallOption) (*UpdateClusterOperation, error) { - m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetCluster() - jsonReq, err := m.Marshal(body) - if err != nil { - return nil, err - } - +// DeleteNetworkPeering deletes a NetworkPeering resource. When a network peering is deleted for +// a VMware Engine network, the peer network becomes inaccessible to that +// VMware Engine network. NetworkPeering is a global resource and location can +// only be global. +func (c *restClient) DeleteNetworkPeering(ctx context.Context, req *vmwareenginepb.DeleteNetworkPeeringRequest, opts ...gax.CallOption) (*DeleteNetworkPeeringOperation, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { - return nil, err - } - baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetCluster().GetName()) - - params := url.Values{} - params.Add("$alt", "json;enum-encoding=int") - if req.GetRequestId() != "" { - params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) - } - if req.GetUpdateMask() != nil { - updateMask, err := protojson.Marshal(req.GetUpdateMask()) - if err != nil { - return nil, err - } - params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + return nil, err } - if req.GetValidateOnly() { - params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "cluster.name", url.QueryEscape(req.GetCluster().GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -3396,7 +7726,7 @@ func (c *restClient) UpdateCluster(ctx context.Context, req *vmwareenginepb.Upda if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) if err != nil { return err } @@ -3429,33 +7759,46 @@ func (c *restClient) UpdateCluster(ctx context.Context, req *vmwareenginepb.Upda } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &UpdateClusterOperation{ + return &DeleteNetworkPeeringOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// DeleteCluster deletes a Cluster resource. To avoid unintended data loss, migrate or -// gracefully shut down any workloads running on the cluster before deletion. -// You cannot delete the management cluster of a private cloud using this -// method. -func (c *restClient) DeleteCluster(ctx context.Context, req *vmwareenginepb.DeleteClusterRequest, opts ...gax.CallOption) (*DeleteClusterOperation, error) { +// UpdateNetworkPeering modifies a NetworkPeering resource. Only the description field can be +// updated. Only fields specified in updateMask are applied. NetworkPeering +// is a global resource and location can only be global. +func (c *restClient) UpdateNetworkPeering(ctx context.Context, req *vmwareenginepb.UpdateNetworkPeeringRequest, opts ...gax.CallOption) (*UpdateNetworkPeeringOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetNetworkPeering() + 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.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetNetworkPeering().GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_peering.name", url.QueryEscape(req.GetNetworkPeering().GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -3466,7 +7809,7 @@ func (c *restClient) DeleteCluster(ctx context.Context, req *vmwareenginepb.Dele if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -3499,19 +7842,20 @@ func (c *restClient) DeleteCluster(ctx context.Context, req *vmwareenginepb.Dele } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &DeleteClusterOperation{ + return &UpdateNetworkPeeringOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// ListSubnets lists subnets in a given private cloud. -func (c *restClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSubnetsRequest, opts ...gax.CallOption) *SubnetIterator { - it := &SubnetIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListSubnetsRequest) +// ListPeeringRoutes lists the network peering routes exchanged over a peering connection. +// NetworkPeering is a global resource and location can only be global. +func (c *restClient) ListPeeringRoutes(ctx context.Context, req *vmwareenginepb.ListPeeringRoutesRequest, opts ...gax.CallOption) *PeeringRouteIterator { + it := &PeeringRouteIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListPeeringRoutesRequest) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.Subnet, string, error) { - resp := &vmwareenginepb.ListSubnetsResponse{} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.PeeringRoute, string, error) { + resp := &vmwareenginepb.ListPeeringRoutesResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -3524,10 +7868,13 @@ func (c *restClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu if err != nil { return nil, "", err } - baseUrl.Path += fmt.Sprintf("/v1/%v/subnets", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v/peeringRoutes", req.GetParent()) 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())) } @@ -3575,7 +7922,7 @@ func (c *restClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu return nil, "", e } it.Response = resp - return resp.GetSubnets(), resp.GetNextPageToken(), nil + return resp.GetPeeringRoutes(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { @@ -3594,75 +7941,10 @@ func (c *restClient) ListSubnets(ctx context.Context, req *vmwareenginepb.ListSu return it } -// GetSubnet gets details of a single subnet. -func (c *restClient) GetSubnet(ctx context.Context, req *vmwareenginepb.GetSubnetRequest, opts ...gax.CallOption) (*vmwareenginepb.Subnet, 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. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - - hds = append(c.xGoogHeaders, hds...) - hds = append(hds, "Content-Type", "application/json") - headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetSubnet[0:len((*c.CallOptions).GetSubnet):len((*c.CallOptions).GetSubnet)], opts...) - unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.Subnet{} - e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - if settings.Path != "" { - baseUrl.Path = settings.Path - } - httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) - if err != nil { - return err - } - httpReq = httpReq.WithContext(ctx) - httpReq.Header = headers - - httpRsp, err := c.httpClient.Do(httpReq) - if err != nil { - return err - } - defer httpRsp.Body.Close() - - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err - } - - buf, err := io.ReadAll(httpRsp.Body) - if err != nil { - return err - } - - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } - - return nil - }, opts...) - if e != nil { - return nil, e - } - return resp, nil -} - -// UpdateSubnet updates the parameters of a single subnet. Only fields specified in -// update_mask are applied. -// -// Note: This API is synchronous and always returns a successful -// google.longrunning.Operation (LRO). The returned LRO will only have -// done and response fields. -func (c *restClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.UpdateSubnetRequest, opts ...gax.CallOption) (*UpdateSubnetOperation, error) { +// CreateHcxActivationKey creates a new HCX activation key in a given private cloud. +func (c *restClient) CreateHcxActivationKey(ctx context.Context, req *vmwareenginepb.CreateHcxActivationKeyRequest, opts ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetSubnet() + body := req.GetHcxActivationKey() jsonReq, err := m.Marshal(body) if err != nil { return nil, err @@ -3672,22 +7954,19 @@ func (c *restClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.Updat if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetSubnet().GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v/hcxActivationKeys", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - if req.GetUpdateMask() != nil { - updateMask, err := protojson.Marshal(req.GetUpdateMask()) - if err != nil { - return nil, err - } - params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + params.Add("hcxActivationKeyId", fmt.Sprintf("%v", req.GetHcxActivationKeyId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "subnet.name", url.QueryEscape(req.GetSubnet().GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -3698,7 +7977,7 @@ func (c *restClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.Updat if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -3731,19 +8010,19 @@ func (c *restClient) UpdateSubnet(ctx context.Context, req *vmwareenginepb.Updat } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &UpdateSubnetOperation{ + return &CreateHcxActivationKeyOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// ListNodeTypes lists node types -func (c *restClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.ListNodeTypesRequest, opts ...gax.CallOption) *NodeTypeIterator { - it := &NodeTypeIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListNodeTypesRequest) +// ListHcxActivationKeys lists HcxActivationKey resources in a given private cloud. +func (c *restClient) ListHcxActivationKeys(ctx context.Context, req *vmwareenginepb.ListHcxActivationKeysRequest, opts ...gax.CallOption) *HcxActivationKeyIterator { + it := &HcxActivationKeyIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListHcxActivationKeysRequest) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NodeType, string, error) { - resp := &vmwareenginepb.ListNodeTypesResponse{} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.HcxActivationKey, string, error) { + resp := &vmwareenginepb.ListHcxActivationKeysResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -3756,13 +8035,10 @@ func (c *restClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List if err != nil { return nil, "", err } - baseUrl.Path += fmt.Sprintf("/v1/%v/nodeTypes", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v/hcxActivationKeys", req.GetParent()) 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())) } @@ -3810,7 +8086,7 @@ func (c *restClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List return nil, "", e } it.Response = resp - return resp.GetNodeTypes(), resp.GetNextPageToken(), nil + return resp.GetHcxActivationKeys(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { @@ -3829,8 +8105,8 @@ func (c *restClient) ListNodeTypes(ctx context.Context, req *vmwareenginepb.List return it } -// GetNodeType gets details of a single NodeType. -func (c *restClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNodeTypeRequest, opts ...gax.CallOption) (*vmwareenginepb.NodeType, error) { +// GetHcxActivationKey retrieves a HcxActivationKey resource by its resource name. +func (c *restClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginepb.GetHcxActivationKeyRequest, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err @@ -3848,9 +8124,9 @@ func (c *restClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNod hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetNodeType[0:len((*c.CallOptions).GetNodeType):len((*c.CallOptions).GetNodeType)], opts...) + opts = append((*c.CallOptions).GetHcxActivationKey[0:len((*c.CallOptions).GetHcxActivationKey):len((*c.CallOptions).GetHcxActivationKey)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.NodeType{} + resp := &vmwareenginepb.HcxActivationKey{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -3889,13 +8165,13 @@ func (c *restClient) GetNodeType(ctx context.Context, req *vmwareenginepb.GetNod return resp, nil } -// ShowNsxCredentials gets details of credentials for NSX appliance. -func (c *restClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb.ShowNsxCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { +// GetNetworkPolicy retrieves a NetworkPolicy resource by its resource name. +func (c *restClient) GetNetworkPolicy(ctx context.Context, req *vmwareenginepb.GetNetworkPolicyRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v:showNsxCredentials", req.GetPrivateCloud()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") @@ -3903,14 +8179,14 @@ func (c *restClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).ShowNsxCredentials[0:len((*c.CallOptions).ShowNsxCredentials):len((*c.CallOptions).ShowNsxCredentials)], opts...) + opts = append((*c.CallOptions).GetNetworkPolicy[0:len((*c.CallOptions).GetNetworkPolicy):len((*c.CallOptions).GetNetworkPolicy)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.Credentials{} + resp := &vmwareenginepb.NetworkPolicy{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -3949,70 +8225,108 @@ func (c *restClient) ShowNsxCredentials(ctx context.Context, req *vmwareenginepb return resp, nil } -// ShowVcenterCredentials gets details of credentials for Vcenter appliance. -func (c *restClient) ShowVcenterCredentials(ctx context.Context, req *vmwareenginepb.ShowVcenterCredentialsRequest, opts ...gax.CallOption) (*vmwareenginepb.Credentials, error) { - baseUrl, err := url.Parse(c.endpoint) - if err != nil { - return nil, err - } - baseUrl.Path += fmt.Sprintf("/v1/%v:showVcenterCredentials", req.GetPrivateCloud()) - - params := url.Values{} - params.Add("$alt", "json;enum-encoding=int") - - baseUrl.RawQuery = params.Encode() - - // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} - - hds = append(c.xGoogHeaders, hds...) - hds = append(hds, "Content-Type", "application/json") - headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).ShowVcenterCredentials[0:len((*c.CallOptions).ShowVcenterCredentials):len((*c.CallOptions).ShowVcenterCredentials)], opts...) +// ListNetworkPolicies lists NetworkPolicy resources in a specified project and location. +func (c *restClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginepb.ListNetworkPoliciesRequest, opts ...gax.CallOption) *NetworkPolicyIterator { + it := &NetworkPolicyIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListNetworkPoliciesRequest) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.Credentials{} - e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - if settings.Path != "" { - baseUrl.Path = settings.Path + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPolicy, string, error) { + resp := &vmwareenginepb.ListNetworkPoliciesResponse{} + if pageToken != "" { + req.PageToken = pageToken } - httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + 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 err + return nil, "", err } - httpReq = httpReq.WithContext(ctx) - httpReq.Header = headers + baseUrl.Path += fmt.Sprintf("/v1/%v/networkPolicies", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() - httpRsp, err := c.httpClient.Do(httpReq) - if err != nil { - return err - } - defer httpRsp.Body.Close() + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e } + it.Response = resp + return resp.GetNetworkPolicies(), resp.GetNextPageToken(), nil + } - buf, err := io.ReadAll(httpRsp.Body) + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) if err != nil { - return err + return "", err } + it.items = append(it.items, items...) + return nextPageToken, nil + } - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() - return nil - }, opts...) - if e != nil { - return nil, e - } - return resp, nil + return it } -// ResetNsxCredentials resets credentials of the NSX appliance. -func (c *restClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginepb.ResetNsxCredentialsRequest, opts ...gax.CallOption) (*ResetNsxCredentialsOperation, error) { +// CreateNetworkPolicy creates a new network policy in a given VMware Engine network of a +// project and location (region). A new network policy cannot be created if +// another network policy already exists in the same scope. +func (c *restClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginepb.CreateNetworkPolicyRequest, opts ...gax.CallOption) (*CreateNetworkPolicyOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - jsonReq, err := m.Marshal(req) + body := req.GetNetworkPolicy() + jsonReq, err := m.Marshal(body) if err != nil { return nil, err } @@ -4021,15 +8335,19 @@ func (c *restClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginep if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v:resetNsxCredentials", req.GetPrivateCloud()) + baseUrl.Path += fmt.Sprintf("/v1/%v/networkPolicies", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + params.Add("networkPolicyId", fmt.Sprintf("%v", req.GetNetworkPolicyId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -4073,16 +8391,28 @@ func (c *restClient) ResetNsxCredentials(ctx context.Context, req *vmwareenginep } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &ResetNsxCredentialsOperation{ + return &CreateNetworkPolicyOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// ResetVcenterCredentials resets credentials of the Vcenter appliance. -func (c *restClient) ResetVcenterCredentials(ctx context.Context, req *vmwareenginepb.ResetVcenterCredentialsRequest, opts ...gax.CallOption) (*ResetVcenterCredentialsOperation, error) { +// UpdateNetworkPolicy modifies a NetworkPolicy resource. Only the following fields can be +// updated: internet_access, external_ip, edge_services_cidr. +// Only fields specified in updateMask are applied. When updating a network +// policy, the external IP network service can only be disabled if there are +// no external IP addresses present in the scope of the policy. Also, a +// NetworkService cannot be updated when NetworkService.state is set +// to RECONCILING. +// +// During operation processing, the resource is temporarily in the ACTIVE +// state before the operation fully completes. For that period of time, you +// can’t update the resource. Use the operation status to determine when the +// processing fully completes. +func (c *restClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginepb.UpdateNetworkPolicyRequest, opts ...gax.CallOption) (*UpdateNetworkPolicyOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - jsonReq, err := m.Marshal(req) + body := req.GetNetworkPolicy() + jsonReq, err := m.Marshal(body) if err != nil { return nil, err } @@ -4091,15 +8421,25 @@ func (c *restClient) ResetVcenterCredentials(ctx context.Context, req *vmwareeng if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v:resetVcenterCredentials", req.GetPrivateCloud()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetNetworkPolicy().GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "private_cloud", url.QueryEscape(req.GetPrivateCloud()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_policy.name", url.QueryEscape(req.GetNetworkPolicy().GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -4110,7 +8450,7 @@ func (c *restClient) ResetVcenterCredentials(ctx context.Context, req *vmwareeng if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -4143,30 +8483,24 @@ func (c *restClient) ResetVcenterCredentials(ctx context.Context, req *vmwareeng } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &ResetVcenterCredentialsOperation{ + return &UpdateNetworkPolicyOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// CreateHcxActivationKey creates a new HCX activation key in a given private cloud. -func (c *restClient) CreateHcxActivationKey(ctx context.Context, req *vmwareenginepb.CreateHcxActivationKeyRequest, opts ...gax.CallOption) (*CreateHcxActivationKeyOperation, error) { - m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetHcxActivationKey() - jsonReq, err := m.Marshal(body) - if err != nil { - return nil, err - } - +// DeleteNetworkPolicy deletes a NetworkPolicy resource. A network policy cannot be deleted +// when NetworkService.state is set to RECONCILING for either its external +// IP or internet access service. +func (c *restClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginepb.DeleteNetworkPolicyRequest, opts ...gax.CallOption) (*DeleteNetworkPolicyOperation, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v/hcxActivationKeys", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - params.Add("hcxActivationKeyId", fmt.Sprintf("%v", req.GetHcxActivationKeyId())) if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } @@ -4174,7 +8508,7 @@ func (c *restClient) CreateHcxActivationKey(ctx context.Context, req *vmwareengi baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -4185,7 +8519,7 @@ func (c *restClient) CreateHcxActivationKey(ctx context.Context, req *vmwareengi if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) if err != nil { return err } @@ -4218,19 +8552,19 @@ func (c *restClient) CreateHcxActivationKey(ctx context.Context, req *vmwareengi } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &CreateHcxActivationKeyOperation{ + return &DeleteNetworkPolicyOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// ListHcxActivationKeys lists HcxActivationKey resources in a given private cloud. -func (c *restClient) ListHcxActivationKeys(ctx context.Context, req *vmwareenginepb.ListHcxActivationKeysRequest, opts ...gax.CallOption) *HcxActivationKeyIterator { - it := &HcxActivationKeyIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListHcxActivationKeysRequest) +// ListManagementDnsZoneBindings lists Consumer VPCs bound to Management DNS Zone of a given private cloud. +func (c *restClient) ListManagementDnsZoneBindings(ctx context.Context, req *vmwareenginepb.ListManagementDnsZoneBindingsRequest, opts ...gax.CallOption) *ManagementDnsZoneBindingIterator { + it := &ManagementDnsZoneBindingIterator{} + req = proto.Clone(req).(*vmwareenginepb.ListManagementDnsZoneBindingsRequest) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.HcxActivationKey, string, error) { - resp := &vmwareenginepb.ListHcxActivationKeysResponse{} + it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.ManagementDnsZoneBinding, string, error) { + resp := &vmwareenginepb.ListManagementDnsZoneBindingsResponse{} if pageToken != "" { req.PageToken = pageToken } @@ -4243,10 +8577,16 @@ func (c *restClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin if err != nil { return nil, "", err } - baseUrl.Path += fmt.Sprintf("/v1/%v/hcxActivationKeys", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v/managementDnsZoneBindings", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } if req.GetPageSize() != 0 { params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) } @@ -4294,7 +8634,7 @@ func (c *restClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin return nil, "", e } it.Response = resp - return resp.GetHcxActivationKeys(), resp.GetNextPageToken(), nil + return resp.GetManagementDnsZoneBindings(), resp.GetNextPageToken(), nil } fetch := func(pageSize int, pageToken string) (string, error) { @@ -4313,8 +8653,8 @@ func (c *restClient) ListHcxActivationKeys(ctx context.Context, req *vmwareengin return it } -// GetHcxActivationKey retrieves a HcxActivationKey resource by its resource name. -func (c *restClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginepb.GetHcxActivationKeyRequest, opts ...gax.CallOption) (*vmwareenginepb.HcxActivationKey, error) { +// GetManagementDnsZoneBinding retrieves a ‘ManagementDnsZoneBinding’ resource by its resource name. +func (c *restClient) GetManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.GetManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*vmwareenginepb.ManagementDnsZoneBinding, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err @@ -4332,9 +8672,9 @@ func (c *restClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginep hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetHcxActivationKey[0:len((*c.CallOptions).GetHcxActivationKey):len((*c.CallOptions).GetHcxActivationKey)], opts...) + opts = append((*c.CallOptions).GetManagementDnsZoneBinding[0:len((*c.CallOptions).GetManagementDnsZoneBinding):len((*c.CallOptions).GetManagementDnsZoneBinding)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.HcxActivationKey{} + resp := &vmwareenginepb.ManagementDnsZoneBinding{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -4373,33 +8713,49 @@ func (c *restClient) GetHcxActivationKey(ctx context.Context, req *vmwareenginep return resp, nil } -// GetNetworkPolicy retrieves a NetworkPolicy resource by its resource name. -func (c *restClient) GetNetworkPolicy(ctx context.Context, req *vmwareenginepb.GetNetworkPolicyRequest, opts ...gax.CallOption) (*vmwareenginepb.NetworkPolicy, error) { +// CreateManagementDnsZoneBinding creates a new ManagementDnsZoneBinding resource in a private cloud. +// This RPC creates the DNS binding and the resource that represents the +// DNS binding of the consumer VPC network to the management DNS zone. A +// management DNS zone is the Cloud DNS cross-project binding zone that +// VMware Engine creates for each private cloud. It contains FQDNs and +// corresponding IP addresses for the private cloud’s ESXi hosts and +// management VM appliances like vCenter and NSX Manager. +func (c *restClient) CreateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.CreateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*CreateManagementDnsZoneBindingOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetManagementDnsZoneBinding() + 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.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v/managementDnsZoneBindings", req.GetParent()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") + params.Add("managementDnsZoneBindingId", fmt.Sprintf("%v", req.GetManagementDnsZoneBindingId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") headers := gax.BuildHeaders(ctx, hds...) - opts = append((*c.CallOptions).GetNetworkPolicy[0:len((*c.CallOptions).GetNetworkPolicy):len((*c.CallOptions).GetNetworkPolicy)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - resp := &vmwareenginepb.NetworkPolicy{} + 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) + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -4427,113 +8783,22 @@ func (c *restClient) GetNetworkPolicy(ctx context.Context, req *vmwareenginepb.G return nil }, opts...) - if e != nil { - return nil, e - } - return resp, nil -} - -// ListNetworkPolicies lists NetworkPolicy resources in a specified project and location. -func (c *restClient) ListNetworkPolicies(ctx context.Context, req *vmwareenginepb.ListNetworkPoliciesRequest, opts ...gax.CallOption) *NetworkPolicyIterator { - it := &NetworkPolicyIterator{} - req = proto.Clone(req).(*vmwareenginepb.ListNetworkPoliciesRequest) - unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} - it.InternalFetch = func(pageSize int, pageToken string) ([]*vmwareenginepb.NetworkPolicy, string, error) { - resp := &vmwareenginepb.ListNetworkPoliciesResponse{} - 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/networkPolicies", req.GetParent()) - - params := url.Values{} - params.Add("$alt", "json;enum-encoding=int") - if req.GetFilter() != "" { - params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) - } - if req.GetOrderBy() != "" { - params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) - } - if req.GetPageSize() != 0 { - params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) - } - if req.GetPageToken() != "" { - params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) - } - - baseUrl.RawQuery = params.Encode() - - // Build HTTP headers from client and context metadata. - hds := append(c.xGoogHeaders, "Content-Type", "application/json") - headers := gax.BuildHeaders(ctx, hds...) - e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { - if settings.Path != "" { - baseUrl.Path = settings.Path - } - httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) - if err != nil { - return err - } - httpReq.Header = headers - - httpRsp, err := c.httpClient.Do(httpReq) - if err != nil { - return err - } - defer httpRsp.Body.Close() - - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err - } - - buf, err := io.ReadAll(httpRsp.Body) - if err != nil { - return err - } - - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } - - return nil - }, opts...) - if e != nil { - return nil, "", e - } - it.Response = resp - return resp.GetNetworkPolicies(), 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 + if e != nil { + return nil, e } - it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) - it.pageInfo.MaxSize = int(req.GetPageSize()) - it.pageInfo.Token = req.GetPageToken() - - return it + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil } -// CreateNetworkPolicy creates a new network policy in a given VMware Engine network of a -// project and location (region). A new network policy cannot be created if -// another network policy already exists in the same scope. -func (c *restClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginepb.CreateNetworkPolicyRequest, opts ...gax.CallOption) (*CreateNetworkPolicyOperation, error) { +// UpdateManagementDnsZoneBinding updates a ManagementDnsZoneBinding resource. +// Only fields specified in update_mask are applied. +func (c *restClient) UpdateManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.UpdateManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*UpdateManagementDnsZoneBindingOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetNetworkPolicy() + body := req.GetManagementDnsZoneBinding() jsonReq, err := m.Marshal(body) if err != nil { return nil, err @@ -4543,19 +8808,25 @@ func (c *restClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginep if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v/networkPolicies", req.GetParent()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetManagementDnsZoneBinding().GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - params.Add("networkPolicyId", fmt.Sprintf("%v", req.GetNetworkPolicyId())) if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "management_dns_zone_binding.name", url.QueryEscape(req.GetManagementDnsZoneBinding().GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -4566,7 +8837,7 @@ func (c *restClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginep if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -4599,55 +8870,32 @@ func (c *restClient) CreateNetworkPolicy(ctx context.Context, req *vmwareenginep } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &CreateNetworkPolicyOperation{ + return &UpdateManagementDnsZoneBindingOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// UpdateNetworkPolicy modifies a NetworkPolicy resource. Only the following fields can be -// updated: internet_access, external_ip, edge_services_cidr. -// Only fields specified in updateMask are applied. When updating a network -// policy, the external IP network service can only be disabled if there are -// no external IP addresses present in the scope of the policy. Also, a -// NetworkService cannot be updated when NetworkService.state is set -// to RECONCILING. -// -// During operation processing, the resource is temporarily in the ACTIVE -// state before the operation fully completes. For that period of time, you -// can’t update the resource. Use the operation status to determine when the -// processing fully completes. -func (c *restClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginepb.UpdateNetworkPolicyRequest, opts ...gax.CallOption) (*UpdateNetworkPolicyOperation, error) { - m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} - body := req.GetNetworkPolicy() - jsonReq, err := m.Marshal(body) - if err != nil { - return nil, err - } - +// DeleteManagementDnsZoneBinding deletes a ManagementDnsZoneBinding resource. When a management DNS zone +// binding is deleted, the corresponding consumer VPC network is no longer +// bound to the management DNS zone. +func (c *restClient) DeleteManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.DeleteManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*DeleteManagementDnsZoneBindingOperation, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { return nil, err } - baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetNetworkPolicy().GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") if req.GetRequestId() != "" { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } - if req.GetUpdateMask() != nil { - updateMask, err := protojson.Marshal(req.GetUpdateMask()) - if err != nil { - return nil, err - } - params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) - } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "network_policy.name", url.QueryEscape(req.GetNetworkPolicy().GetName()))} + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} hds = append(c.xGoogHeaders, hds...) hds = append(hds, "Content-Type", "application/json") @@ -4658,7 +8906,7 @@ func (c *restClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginep if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) if err != nil { return err } @@ -4691,27 +8939,29 @@ func (c *restClient) UpdateNetworkPolicy(ctx context.Context, req *vmwareenginep } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &UpdateNetworkPolicyOperation{ + return &DeleteManagementDnsZoneBindingOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil } -// DeleteNetworkPolicy deletes a NetworkPolicy resource. A network policy cannot be deleted -// when NetworkService.state is set to RECONCILING for either its external -// IP or internet access service. -func (c *restClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginepb.DeleteNetworkPolicyRequest, opts ...gax.CallOption) (*DeleteNetworkPolicyOperation, error) { +// RepairManagementDnsZoneBinding retries to create a ManagementDnsZoneBinding resource that is +// in failed state. +func (c *restClient) RepairManagementDnsZoneBinding(ctx context.Context, req *vmwareenginepb.RepairManagementDnsZoneBindingRequest, opts ...gax.CallOption) (*RepairManagementDnsZoneBindingOperation, 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", req.GetName()) + baseUrl.Path += fmt.Sprintf("/v1/%v:repair", req.GetName()) params := url.Values{} params.Add("$alt", "json;enum-encoding=int") - if req.GetRequestId() != "" { - params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) - } baseUrl.RawQuery = params.Encode() @@ -4727,7 +8977,7 @@ func (c *restClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginep if settings.Path != "" { baseUrl.Path = settings.Path } - httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) if err != nil { return err } @@ -4760,7 +9010,7 @@ func (c *restClient) DeleteNetworkPolicy(ctx context.Context, req *vmwareenginep } override := fmt.Sprintf("/v1/%s", resp.GetName()) - return &DeleteNetworkPolicyOperation{ + return &RepairManagementDnsZoneBindingOperation{ lro: longrunning.InternalNewOperation(*c.LROClient, resp), pollPath: override, }, nil @@ -5591,42 +9841,249 @@ func (c *restClient) ListPrivateConnectionPeeringRoutes(ctx context.Context, req } defer httpRsp.Body.Close() - if err = googleapi.CheckResponse(httpRsp); err != nil { - return err - } + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetPeeringRoutes(), 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 +} + +// GrantDnsBindPermission grants the bind permission to the customer provided principal(user / +// service account) to bind their DNS zone with the intranet VPC associated +// with the project. DnsBindPermission is a global resource and location can +// only be global. +func (c *restClient) GrantDnsBindPermission(ctx context.Context, req *vmwareenginepb.GrantDnsBindPermissionRequest, opts ...gax.CallOption) (*GrantDnsBindPermissionOperation, 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:grant", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &GrantDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetDnsBindPermission gets all the principals having bind permission on the intranet VPC +// associated with the consumer project granted by the Grant API. +// DnsBindPermission is a global resource and location can only be global. +func (c *restClient) GetDnsBindPermission(ctx context.Context, req *vmwareenginepb.GetDnsBindPermissionRequest, opts ...gax.CallOption) (*vmwareenginepb.DnsBindPermission, 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. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetDnsBindPermission[0:len((*c.CallOptions).GetDnsBindPermission):len((*c.CallOptions).GetDnsBindPermission)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &vmwareenginepb.DnsBindPermission{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RevokeDnsBindPermission revokes the bind permission from the customer provided principal(user / +// service account) on the intranet VPC associated with the consumer project. +// DnsBindPermission is a global resource and location can only be global. +func (c *restClient) RevokeDnsBindPermission(ctx context.Context, req *vmwareenginepb.RevokeDnsBindPermissionRequest, opts ...gax.CallOption) (*RevokeDnsBindPermissionOperation, 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:revoke", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - buf, err := io.ReadAll(httpRsp.Body) - if err != nil { - return err - } + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers - if err := unm.Unmarshal(buf, resp); err != nil { - return err - } + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() - return nil - }, opts...) - if e != nil { - return nil, "", e + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err } - it.Response = resp - return resp.GetPeeringRoutes(), resp.GetNextPageToken(), nil - } - fetch := func(pageSize int, pageToken string) (string, error) { - items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { - return "", err + 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() + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } - return it + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &RevokeDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil } // GetLocation gets information about a location. @@ -6199,6 +10656,42 @@ func (c *restClient) CreateClusterOperation(name string) *CreateClusterOperation } } +// CreateExternalAccessRuleOperation returns a new CreateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created CreateExternalAccessRuleOperation, possibly from a different process. +func (c *gRPCClient) CreateExternalAccessRuleOperation(name string) *CreateExternalAccessRuleOperation { + return &CreateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateExternalAccessRuleOperation returns a new CreateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created CreateExternalAccessRuleOperation, possibly from a different process. +func (c *restClient) CreateExternalAccessRuleOperation(name string) *CreateExternalAccessRuleOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateExternalAddressOperation returns a new CreateExternalAddressOperation from a given name. +// The name must be that of a previously created CreateExternalAddressOperation, possibly from a different process. +func (c *gRPCClient) CreateExternalAddressOperation(name string) *CreateExternalAddressOperation { + return &CreateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateExternalAddressOperation returns a new CreateExternalAddressOperation from a given name. +// The name must be that of a previously created CreateExternalAddressOperation, possibly from a different process. +func (c *restClient) CreateExternalAddressOperation(name string) *CreateExternalAddressOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // CreateHcxActivationKeyOperation returns a new CreateHcxActivationKeyOperation from a given name. // The name must be that of a previously created CreateHcxActivationKeyOperation, possibly from a different process. func (c *gRPCClient) CreateHcxActivationKeyOperation(name string) *CreateHcxActivationKeyOperation { @@ -6217,6 +10710,60 @@ func (c *restClient) CreateHcxActivationKeyOperation(name string) *CreateHcxActi } } +// CreateLoggingServerOperation returns a new CreateLoggingServerOperation from a given name. +// The name must be that of a previously created CreateLoggingServerOperation, possibly from a different process. +func (c *gRPCClient) CreateLoggingServerOperation(name string) *CreateLoggingServerOperation { + return &CreateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateLoggingServerOperation returns a new CreateLoggingServerOperation from a given name. +// The name must be that of a previously created CreateLoggingServerOperation, possibly from a different process. +func (c *restClient) CreateLoggingServerOperation(name string) *CreateLoggingServerOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateManagementDnsZoneBindingOperation returns a new CreateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created CreateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *gRPCClient) CreateManagementDnsZoneBindingOperation(name string) *CreateManagementDnsZoneBindingOperation { + return &CreateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateManagementDnsZoneBindingOperation returns a new CreateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created CreateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *restClient) CreateManagementDnsZoneBindingOperation(name string) *CreateManagementDnsZoneBindingOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateNetworkPeeringOperation returns a new CreateNetworkPeeringOperation from a given name. +// The name must be that of a previously created CreateNetworkPeeringOperation, possibly from a different process. +func (c *gRPCClient) CreateNetworkPeeringOperation(name string) *CreateNetworkPeeringOperation { + return &CreateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateNetworkPeeringOperation returns a new CreateNetworkPeeringOperation from a given name. +// The name must be that of a previously created CreateNetworkPeeringOperation, possibly from a different process. +func (c *restClient) CreateNetworkPeeringOperation(name string) *CreateNetworkPeeringOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // CreateNetworkPolicyOperation returns a new CreateNetworkPolicyOperation from a given name. // The name must be that of a previously created CreateNetworkPolicyOperation, possibly from a different process. func (c *gRPCClient) CreateNetworkPolicyOperation(name string) *CreateNetworkPolicyOperation { @@ -6307,6 +10854,96 @@ func (c *restClient) DeleteClusterOperation(name string) *DeleteClusterOperation } } +// DeleteExternalAccessRuleOperation returns a new DeleteExternalAccessRuleOperation from a given name. +// The name must be that of a previously created DeleteExternalAccessRuleOperation, possibly from a different process. +func (c *gRPCClient) DeleteExternalAccessRuleOperation(name string) *DeleteExternalAccessRuleOperation { + return &DeleteExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteExternalAccessRuleOperation returns a new DeleteExternalAccessRuleOperation from a given name. +// The name must be that of a previously created DeleteExternalAccessRuleOperation, possibly from a different process. +func (c *restClient) DeleteExternalAccessRuleOperation(name string) *DeleteExternalAccessRuleOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteExternalAddressOperation returns a new DeleteExternalAddressOperation from a given name. +// The name must be that of a previously created DeleteExternalAddressOperation, possibly from a different process. +func (c *gRPCClient) DeleteExternalAddressOperation(name string) *DeleteExternalAddressOperation { + return &DeleteExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteExternalAddressOperation returns a new DeleteExternalAddressOperation from a given name. +// The name must be that of a previously created DeleteExternalAddressOperation, possibly from a different process. +func (c *restClient) DeleteExternalAddressOperation(name string) *DeleteExternalAddressOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteLoggingServerOperation returns a new DeleteLoggingServerOperation from a given name. +// The name must be that of a previously created DeleteLoggingServerOperation, possibly from a different process. +func (c *gRPCClient) DeleteLoggingServerOperation(name string) *DeleteLoggingServerOperation { + return &DeleteLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteLoggingServerOperation returns a new DeleteLoggingServerOperation from a given name. +// The name must be that of a previously created DeleteLoggingServerOperation, possibly from a different process. +func (c *restClient) DeleteLoggingServerOperation(name string) *DeleteLoggingServerOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteManagementDnsZoneBindingOperation returns a new DeleteManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created DeleteManagementDnsZoneBindingOperation, possibly from a different process. +func (c *gRPCClient) DeleteManagementDnsZoneBindingOperation(name string) *DeleteManagementDnsZoneBindingOperation { + return &DeleteManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteManagementDnsZoneBindingOperation returns a new DeleteManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created DeleteManagementDnsZoneBindingOperation, possibly from a different process. +func (c *restClient) DeleteManagementDnsZoneBindingOperation(name string) *DeleteManagementDnsZoneBindingOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteNetworkPeeringOperation returns a new DeleteNetworkPeeringOperation from a given name. +// The name must be that of a previously created DeleteNetworkPeeringOperation, possibly from a different process. +func (c *gRPCClient) DeleteNetworkPeeringOperation(name string) *DeleteNetworkPeeringOperation { + return &DeleteNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteNetworkPeeringOperation returns a new DeleteNetworkPeeringOperation from a given name. +// The name must be that of a previously created DeleteNetworkPeeringOperation, possibly from a different process. +func (c *restClient) DeleteNetworkPeeringOperation(name string) *DeleteNetworkPeeringOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // DeleteNetworkPolicyOperation returns a new DeleteNetworkPolicyOperation from a given name. // The name must be that of a previously created DeleteNetworkPolicyOperation, possibly from a different process. func (c *gRPCClient) DeleteNetworkPolicyOperation(name string) *DeleteNetworkPolicyOperation { @@ -6379,6 +11016,42 @@ func (c *restClient) DeleteVmwareEngineNetworkOperation(name string) *DeleteVmwa } } +// GrantDnsBindPermissionOperation returns a new GrantDnsBindPermissionOperation from a given name. +// The name must be that of a previously created GrantDnsBindPermissionOperation, possibly from a different process. +func (c *gRPCClient) GrantDnsBindPermissionOperation(name string) *GrantDnsBindPermissionOperation { + return &GrantDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// GrantDnsBindPermissionOperation returns a new GrantDnsBindPermissionOperation from a given name. +// The name must be that of a previously created GrantDnsBindPermissionOperation, possibly from a different process. +func (c *restClient) GrantDnsBindPermissionOperation(name string) *GrantDnsBindPermissionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &GrantDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// RepairManagementDnsZoneBindingOperation returns a new RepairManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created RepairManagementDnsZoneBindingOperation, possibly from a different process. +func (c *gRPCClient) RepairManagementDnsZoneBindingOperation(name string) *RepairManagementDnsZoneBindingOperation { + return &RepairManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// RepairManagementDnsZoneBindingOperation returns a new RepairManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created RepairManagementDnsZoneBindingOperation, possibly from a different process. +func (c *restClient) RepairManagementDnsZoneBindingOperation(name string) *RepairManagementDnsZoneBindingOperation { + override := fmt.Sprintf("/v1/%s", name) + return &RepairManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // ResetNsxCredentialsOperation returns a new ResetNsxCredentialsOperation from a given name. // The name must be that of a previously created ResetNsxCredentialsOperation, possibly from a different process. func (c *gRPCClient) ResetNsxCredentialsOperation(name string) *ResetNsxCredentialsOperation { @@ -6415,6 +11088,24 @@ func (c *restClient) ResetVcenterCredentialsOperation(name string) *ResetVcenter } } +// RevokeDnsBindPermissionOperation returns a new RevokeDnsBindPermissionOperation from a given name. +// The name must be that of a previously created RevokeDnsBindPermissionOperation, possibly from a different process. +func (c *gRPCClient) RevokeDnsBindPermissionOperation(name string) *RevokeDnsBindPermissionOperation { + return &RevokeDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// RevokeDnsBindPermissionOperation returns a new RevokeDnsBindPermissionOperation from a given name. +// The name must be that of a previously created RevokeDnsBindPermissionOperation, possibly from a different process. +func (c *restClient) RevokeDnsBindPermissionOperation(name string) *RevokeDnsBindPermissionOperation { + override := fmt.Sprintf("/v1/%s", name) + return &RevokeDnsBindPermissionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // UndeletePrivateCloudOperation returns a new UndeletePrivateCloudOperation from a given name. // The name must be that of a previously created UndeletePrivateCloudOperation, possibly from a different process. func (c *gRPCClient) UndeletePrivateCloudOperation(name string) *UndeletePrivateCloudOperation { @@ -6451,6 +11142,114 @@ func (c *restClient) UpdateClusterOperation(name string) *UpdateClusterOperation } } +// UpdateDnsForwardingOperation returns a new UpdateDnsForwardingOperation from a given name. +// The name must be that of a previously created UpdateDnsForwardingOperation, possibly from a different process. +func (c *gRPCClient) UpdateDnsForwardingOperation(name string) *UpdateDnsForwardingOperation { + return &UpdateDnsForwardingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateDnsForwardingOperation returns a new UpdateDnsForwardingOperation from a given name. +// The name must be that of a previously created UpdateDnsForwardingOperation, possibly from a different process. +func (c *restClient) UpdateDnsForwardingOperation(name string) *UpdateDnsForwardingOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateDnsForwardingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateExternalAccessRuleOperation returns a new UpdateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created UpdateExternalAccessRuleOperation, possibly from a different process. +func (c *gRPCClient) UpdateExternalAccessRuleOperation(name string) *UpdateExternalAccessRuleOperation { + return &UpdateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateExternalAccessRuleOperation returns a new UpdateExternalAccessRuleOperation from a given name. +// The name must be that of a previously created UpdateExternalAccessRuleOperation, possibly from a different process. +func (c *restClient) UpdateExternalAccessRuleOperation(name string) *UpdateExternalAccessRuleOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateExternalAccessRuleOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateExternalAddressOperation returns a new UpdateExternalAddressOperation from a given name. +// The name must be that of a previously created UpdateExternalAddressOperation, possibly from a different process. +func (c *gRPCClient) UpdateExternalAddressOperation(name string) *UpdateExternalAddressOperation { + return &UpdateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateExternalAddressOperation returns a new UpdateExternalAddressOperation from a given name. +// The name must be that of a previously created UpdateExternalAddressOperation, possibly from a different process. +func (c *restClient) UpdateExternalAddressOperation(name string) *UpdateExternalAddressOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateExternalAddressOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateLoggingServerOperation returns a new UpdateLoggingServerOperation from a given name. +// The name must be that of a previously created UpdateLoggingServerOperation, possibly from a different process. +func (c *gRPCClient) UpdateLoggingServerOperation(name string) *UpdateLoggingServerOperation { + return &UpdateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateLoggingServerOperation returns a new UpdateLoggingServerOperation from a given name. +// The name must be that of a previously created UpdateLoggingServerOperation, possibly from a different process. +func (c *restClient) UpdateLoggingServerOperation(name string) *UpdateLoggingServerOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateLoggingServerOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateManagementDnsZoneBindingOperation returns a new UpdateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created UpdateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *gRPCClient) UpdateManagementDnsZoneBindingOperation(name string) *UpdateManagementDnsZoneBindingOperation { + return &UpdateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateManagementDnsZoneBindingOperation returns a new UpdateManagementDnsZoneBindingOperation from a given name. +// The name must be that of a previously created UpdateManagementDnsZoneBindingOperation, possibly from a different process. +func (c *restClient) UpdateManagementDnsZoneBindingOperation(name string) *UpdateManagementDnsZoneBindingOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateManagementDnsZoneBindingOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// UpdateNetworkPeeringOperation returns a new UpdateNetworkPeeringOperation from a given name. +// The name must be that of a previously created UpdateNetworkPeeringOperation, possibly from a different process. +func (c *gRPCClient) UpdateNetworkPeeringOperation(name string) *UpdateNetworkPeeringOperation { + return &UpdateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// UpdateNetworkPeeringOperation returns a new UpdateNetworkPeeringOperation from a given name. +// The name must be that of a previously created UpdateNetworkPeeringOperation, possibly from a different process. +func (c *restClient) UpdateNetworkPeeringOperation(name string) *UpdateNetworkPeeringOperation { + override := fmt.Sprintf("/v1/%s", name) + return &UpdateNetworkPeeringOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + // UpdateNetworkPolicyOperation returns a new UpdateNetworkPolicyOperation from a given name. // The name must be that of a previously created UpdateNetworkPolicyOperation, possibly from a different process. func (c *gRPCClient) UpdateNetworkPolicyOperation(name string) *UpdateNetworkPolicyOperation { diff --git a/vmwareengine/apiv1/vmware_engine_client_example_test.go b/vmwareengine/apiv1/vmware_engine_client_example_test.go index e8e42310a998..58e217df7bb3 100644 --- a/vmwareengine/apiv1/vmware_engine_client_example_test.go +++ b/vmwareengine/apiv1/vmware_engine_client_example_test.go @@ -91,7 +91,7 @@ func ExampleClient_CreateCluster() { _ = resp } -func ExampleClient_CreateHcxActivationKey() { +func ExampleClient_CreateExternalAccessRule() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -104,11 +104,11 @@ func ExampleClient_CreateHcxActivationKey() { } defer c.Close() - req := &vmwareenginepb.CreateHcxActivationKeyRequest{ + req := &vmwareenginepb.CreateExternalAccessRuleRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateHcxActivationKeyRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateExternalAccessRuleRequest. } - op, err := c.CreateHcxActivationKey(ctx, req) + op, err := c.CreateExternalAccessRule(ctx, req) if err != nil { // TODO: Handle error. } @@ -121,7 +121,7 @@ func ExampleClient_CreateHcxActivationKey() { _ = resp } -func ExampleClient_CreateNetworkPolicy() { +func ExampleClient_CreateExternalAddress() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -134,11 +134,11 @@ func ExampleClient_CreateNetworkPolicy() { } defer c.Close() - req := &vmwareenginepb.CreateNetworkPolicyRequest{ + req := &vmwareenginepb.CreateExternalAddressRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateNetworkPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateExternalAddressRequest. } - op, err := c.CreateNetworkPolicy(ctx, req) + op, err := c.CreateExternalAddress(ctx, req) if err != nil { // TODO: Handle error. } @@ -151,7 +151,7 @@ func ExampleClient_CreateNetworkPolicy() { _ = resp } -func ExampleClient_CreatePrivateCloud() { +func ExampleClient_CreateHcxActivationKey() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -164,11 +164,11 @@ func ExampleClient_CreatePrivateCloud() { } defer c.Close() - req := &vmwareenginepb.CreatePrivateCloudRequest{ + req := &vmwareenginepb.CreateHcxActivationKeyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreatePrivateCloudRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateHcxActivationKeyRequest. } - op, err := c.CreatePrivateCloud(ctx, req) + op, err := c.CreateHcxActivationKey(ctx, req) if err != nil { // TODO: Handle error. } @@ -181,7 +181,7 @@ func ExampleClient_CreatePrivateCloud() { _ = resp } -func ExampleClient_CreatePrivateConnection() { +func ExampleClient_CreateLoggingServer() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -194,11 +194,11 @@ func ExampleClient_CreatePrivateConnection() { } defer c.Close() - req := &vmwareenginepb.CreatePrivateConnectionRequest{ + req := &vmwareenginepb.CreateLoggingServerRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreatePrivateConnectionRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateLoggingServerRequest. } - op, err := c.CreatePrivateConnection(ctx, req) + op, err := c.CreateLoggingServer(ctx, req) if err != nil { // TODO: Handle error. } @@ -211,7 +211,7 @@ func ExampleClient_CreatePrivateConnection() { _ = resp } -func ExampleClient_CreateVmwareEngineNetwork() { +func ExampleClient_CreateManagementDnsZoneBinding() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -224,11 +224,11 @@ func ExampleClient_CreateVmwareEngineNetwork() { } defer c.Close() - req := &vmwareenginepb.CreateVmwareEngineNetworkRequest{ + req := &vmwareenginepb.CreateManagementDnsZoneBindingRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateVmwareEngineNetworkRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateManagementDnsZoneBindingRequest. } - op, err := c.CreateVmwareEngineNetwork(ctx, req) + op, err := c.CreateManagementDnsZoneBinding(ctx, req) if err != nil { // TODO: Handle error. } @@ -241,7 +241,7 @@ func ExampleClient_CreateVmwareEngineNetwork() { _ = resp } -func ExampleClient_DeleteCluster() { +func ExampleClient_CreateNetworkPeering() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -254,22 +254,24 @@ func ExampleClient_DeleteCluster() { } defer c.Close() - req := &vmwareenginepb.DeleteClusterRequest{ + req := &vmwareenginepb.CreateNetworkPeeringRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteClusterRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateNetworkPeeringRequest. } - op, err := c.DeleteCluster(ctx, req) + op, err := c.CreateNetworkPeering(ctx, req) if err != nil { // TODO: Handle error. } - err = op.Wait(ctx) + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleClient_DeleteNetworkPolicy() { +func ExampleClient_CreateNetworkPolicy() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -282,22 +284,24 @@ func ExampleClient_DeleteNetworkPolicy() { } defer c.Close() - req := &vmwareenginepb.DeleteNetworkPolicyRequest{ + req := &vmwareenginepb.CreateNetworkPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteNetworkPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateNetworkPolicyRequest. } - op, err := c.DeleteNetworkPolicy(ctx, req) + op, err := c.CreateNetworkPolicy(ctx, req) if err != nil { // TODO: Handle error. } - err = op.Wait(ctx) + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleClient_DeletePrivateCloud() { +func ExampleClient_CreatePrivateCloud() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -310,11 +314,11 @@ func ExampleClient_DeletePrivateCloud() { } defer c.Close() - req := &vmwareenginepb.DeletePrivateCloudRequest{ + req := &vmwareenginepb.CreatePrivateCloudRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeletePrivateCloudRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreatePrivateCloudRequest. } - op, err := c.DeletePrivateCloud(ctx, req) + op, err := c.CreatePrivateCloud(ctx, req) if err != nil { // TODO: Handle error. } @@ -327,7 +331,7 @@ func ExampleClient_DeletePrivateCloud() { _ = resp } -func ExampleClient_DeletePrivateConnection() { +func ExampleClient_CreatePrivateConnection() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -340,22 +344,24 @@ func ExampleClient_DeletePrivateConnection() { } defer c.Close() - req := &vmwareenginepb.DeletePrivateConnectionRequest{ + req := &vmwareenginepb.CreatePrivateConnectionRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeletePrivateConnectionRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreatePrivateConnectionRequest. } - op, err := c.DeletePrivateConnection(ctx, req) + op, err := c.CreatePrivateConnection(ctx, req) if err != nil { // TODO: Handle error. } - err = op.Wait(ctx) + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleClient_DeleteVmwareEngineNetwork() { +func ExampleClient_CreateVmwareEngineNetwork() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -368,22 +374,24 @@ func ExampleClient_DeleteVmwareEngineNetwork() { } defer c.Close() - req := &vmwareenginepb.DeleteVmwareEngineNetworkRequest{ + req := &vmwareenginepb.CreateVmwareEngineNetworkRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteVmwareEngineNetworkRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#CreateVmwareEngineNetworkRequest. } - op, err := c.DeleteVmwareEngineNetwork(ctx, req) + op, err := c.CreateVmwareEngineNetwork(ctx, req) if err != nil { // TODO: Handle error. } - err = op.Wait(ctx) + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleClient_GetCluster() { +func ExampleClient_DeleteCluster() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -396,19 +404,22 @@ func ExampleClient_GetCluster() { } defer c.Close() - req := &vmwareenginepb.GetClusterRequest{ + req := &vmwareenginepb.DeleteClusterRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetClusterRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteClusterRequest. } - resp, err := c.GetCluster(ctx, req) + op, err := c.DeleteCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetHcxActivationKey() { +func ExampleClient_DeleteExternalAccessRule() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -421,19 +432,22 @@ func ExampleClient_GetHcxActivationKey() { } defer c.Close() - req := &vmwareenginepb.GetHcxActivationKeyRequest{ + req := &vmwareenginepb.DeleteExternalAccessRuleRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetHcxActivationKeyRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteExternalAccessRuleRequest. } - resp, err := c.GetHcxActivationKey(ctx, req) + op, err := c.DeleteExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetNetworkPolicy() { +func ExampleClient_DeleteExternalAddress() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -446,19 +460,22 @@ func ExampleClient_GetNetworkPolicy() { } defer c.Close() - req := &vmwareenginepb.GetNetworkPolicyRequest{ + req := &vmwareenginepb.DeleteExternalAddressRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNetworkPolicyRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteExternalAddressRequest. } - resp, err := c.GetNetworkPolicy(ctx, req) + op, err := c.DeleteExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetNodeType() { +func ExampleClient_DeleteLoggingServer() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -471,19 +488,22 @@ func ExampleClient_GetNodeType() { } defer c.Close() - req := &vmwareenginepb.GetNodeTypeRequest{ + req := &vmwareenginepb.DeleteLoggingServerRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNodeTypeRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteLoggingServerRequest. } - resp, err := c.GetNodeType(ctx, req) + op, err := c.DeleteLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetPrivateCloud() { +func ExampleClient_DeleteManagementDnsZoneBinding() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -496,19 +516,22 @@ func ExampleClient_GetPrivateCloud() { } defer c.Close() - req := &vmwareenginepb.GetPrivateCloudRequest{ + req := &vmwareenginepb.DeleteManagementDnsZoneBindingRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetPrivateCloudRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteManagementDnsZoneBindingRequest. } - resp, err := c.GetPrivateCloud(ctx, req) + op, err := c.DeleteManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetPrivateConnection() { +func ExampleClient_DeleteNetworkPeering() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -521,19 +544,22 @@ func ExampleClient_GetPrivateConnection() { } defer c.Close() - req := &vmwareenginepb.GetPrivateConnectionRequest{ + req := &vmwareenginepb.DeleteNetworkPeeringRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetPrivateConnectionRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteNetworkPeeringRequest. } - resp, err := c.GetPrivateConnection(ctx, req) + op, err := c.DeleteNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetSubnet() { +func ExampleClient_DeleteNetworkPolicy() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -546,19 +572,22 @@ func ExampleClient_GetSubnet() { } defer c.Close() - req := &vmwareenginepb.GetSubnetRequest{ + req := &vmwareenginepb.DeleteNetworkPolicyRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetSubnetRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteNetworkPolicyRequest. } - resp, err := c.GetSubnet(ctx, req) + op, err := c.DeleteNetworkPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp } -func ExampleClient_GetVmwareEngineNetwork() { +func ExampleClient_DeletePrivateCloud() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -571,11 +600,16 @@ func ExampleClient_GetVmwareEngineNetwork() { } defer c.Close() - req := &vmwareenginepb.GetVmwareEngineNetworkRequest{ + req := &vmwareenginepb.DeletePrivateCloudRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetVmwareEngineNetworkRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeletePrivateCloudRequest. } - resp, err := c.GetVmwareEngineNetwork(ctx, req) + op, err := c.DeletePrivateCloud(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } @@ -583,7 +617,7 @@ func ExampleClient_GetVmwareEngineNetwork() { _ = resp } -func ExampleClient_ListClusters() { +func ExampleClient_DeletePrivateConnection() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -596,25 +630,22 @@ func ExampleClient_ListClusters() { } defer c.Close() - req := &vmwareenginepb.ListClustersRequest{ + req := &vmwareenginepb.DeletePrivateConnectionRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListClustersRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeletePrivateConnectionRequest. } - it := c.ListClusters(ctx, req) - for { - resp, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - // TODO: Handle error. - } - // TODO: Use resp. - _ = resp + op, err := c.DeletePrivateConnection(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. } } -func ExampleClient_ListHcxActivationKeys() { +func ExampleClient_DeleteVmwareEngineNetwork() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -627,25 +658,22 @@ func ExampleClient_ListHcxActivationKeys() { } defer c.Close() - req := &vmwareenginepb.ListHcxActivationKeysRequest{ + req := &vmwareenginepb.DeleteVmwareEngineNetworkRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListHcxActivationKeysRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#DeleteVmwareEngineNetworkRequest. } - it := c.ListHcxActivationKeys(ctx, req) - for { - resp, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - // TODO: Handle error. - } - // TODO: Use resp. - _ = resp + op, err := c.DeleteVmwareEngineNetwork(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. } } -func ExampleClient_ListNetworkPolicies() { +func ExampleClient_FetchNetworkPolicyExternalAddresses() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -658,11 +686,11 @@ func ExampleClient_ListNetworkPolicies() { } defer c.Close() - req := &vmwareenginepb.ListNetworkPoliciesRequest{ + req := &vmwareenginepb.FetchNetworkPolicyExternalAddressesRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNetworkPoliciesRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#FetchNetworkPolicyExternalAddressesRequest. } - it := c.ListNetworkPolicies(ctx, req) + it := c.FetchNetworkPolicyExternalAddresses(ctx, req) for { resp, err := it.Next() if err == iterator.Done { @@ -676,7 +704,7 @@ func ExampleClient_ListNetworkPolicies() { } } -func ExampleClient_ListNodeTypes() { +func ExampleClient_GetCluster() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -689,25 +717,19 @@ func ExampleClient_ListNodeTypes() { } defer c.Close() - req := &vmwareenginepb.ListNodeTypesRequest{ + req := &vmwareenginepb.GetClusterRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNodeTypesRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetClusterRequest. } - it := c.ListNodeTypes(ctx, req) - for { - resp, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - // TODO: Handle error. - } - // TODO: Use resp. - _ = resp + resp, err := c.GetCluster(ctx, req) + if err != nil { + // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleClient_ListPrivateClouds() { +func ExampleClient_GetDnsBindPermission() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -720,13 +742,759 @@ func ExampleClient_ListPrivateClouds() { } defer c.Close() - req := &vmwareenginepb.ListPrivateCloudsRequest{ + req := &vmwareenginepb.GetDnsBindPermissionRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListPrivateCloudsRequest. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetDnsBindPermissionRequest. } - it := c.ListPrivateClouds(ctx, req) - for { - resp, err := it.Next() + resp, err := c.GetDnsBindPermission(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetDnsForwarding() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetDnsForwardingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetDnsForwardingRequest. + } + resp, err := c.GetDnsForwarding(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetExternalAccessRule() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetExternalAccessRuleRequest. + } + resp, err := c.GetExternalAccessRule(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetExternalAddress() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetExternalAddressRequest. + } + resp, err := c.GetExternalAddress(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetHcxActivationKey() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetHcxActivationKeyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetHcxActivationKeyRequest. + } + resp, err := c.GetHcxActivationKey(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetLoggingServer() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetLoggingServerRequest. + } + resp, err := c.GetLoggingServer(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetManagementDnsZoneBinding() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetManagementDnsZoneBindingRequest. + } + resp, err := c.GetManagementDnsZoneBinding(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetNetworkPeering() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNetworkPeeringRequest. + } + resp, err := c.GetNetworkPeering(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetNetworkPolicy() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNetworkPolicyRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNetworkPolicyRequest. + } + resp, err := c.GetNetworkPolicy(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetNode() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNodeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNodeRequest. + } + resp, err := c.GetNode(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetNodeType() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetNodeTypeRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetNodeTypeRequest. + } + resp, err := c.GetNodeType(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetPrivateCloud() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetPrivateCloudRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetPrivateCloudRequest. + } + resp, err := c.GetPrivateCloud(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetPrivateConnection() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetPrivateConnectionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetPrivateConnectionRequest. + } + resp, err := c.GetPrivateConnection(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetSubnet() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetSubnetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetSubnetRequest. + } + resp, err := c.GetSubnet(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetVmwareEngineNetwork() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GetVmwareEngineNetworkRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GetVmwareEngineNetworkRequest. + } + resp, err := c.GetVmwareEngineNetwork(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GrantDnsBindPermission() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.GrantDnsBindPermissionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#GrantDnsBindPermissionRequest. + } + op, err := c.GrantDnsBindPermission(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_ListClusters() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListClustersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListClustersRequest. + } + it := c.ListClusters(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListExternalAccessRules() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListExternalAccessRulesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListExternalAccessRulesRequest. + } + it := c.ListExternalAccessRules(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListExternalAddresses() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListExternalAddressesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListExternalAddressesRequest. + } + it := c.ListExternalAddresses(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListHcxActivationKeys() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListHcxActivationKeysRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListHcxActivationKeysRequest. + } + it := c.ListHcxActivationKeys(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListLoggingServers() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListLoggingServersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListLoggingServersRequest. + } + it := c.ListLoggingServers(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListManagementDnsZoneBindings() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListManagementDnsZoneBindingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListManagementDnsZoneBindingsRequest. + } + it := c.ListManagementDnsZoneBindings(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListNetworkPeerings() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNetworkPeeringsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNetworkPeeringsRequest. + } + it := c.ListNetworkPeerings(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListNetworkPolicies() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNetworkPoliciesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNetworkPoliciesRequest. + } + it := c.ListNetworkPolicies(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListNodeTypes() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNodeTypesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNodeTypesRequest. + } + it := c.ListNodeTypes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListNodes() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListNodesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListNodesRequest. + } + it := c.ListNodes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListPeeringRoutes() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListPeeringRoutesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListPeeringRoutesRequest. + } + it := c.ListPeeringRoutes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListPrivateClouds() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.ListPrivateCloudsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#ListPrivateCloudsRequest. + } + it := c.ListPrivateClouds(ctx, req) + for { + resp, err := it.Next() if err == iterator.Done { break } @@ -862,6 +1630,36 @@ func ExampleClient_ListVmwareEngineNetworks() { } } +func ExampleClient_RepairManagementDnsZoneBinding() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.RepairManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#RepairManagementDnsZoneBindingRequest. + } + op, err := c.RepairManagementDnsZoneBinding(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_ResetNsxCredentials() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -922,6 +1720,36 @@ func ExampleClient_ResetVcenterCredentials() { _ = resp } +func ExampleClient_RevokeDnsBindPermission() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.RevokeDnsBindPermissionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#RevokeDnsBindPermissionRequest. + } + op, err := c.RevokeDnsBindPermission(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_ShowNsxCredentials() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. @@ -1032,6 +1860,186 @@ func ExampleClient_UpdateCluster() { _ = resp } +func ExampleClient_UpdateDnsForwarding() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateDnsForwardingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateDnsForwardingRequest. + } + op, err := c.UpdateDnsForwarding(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_UpdateExternalAccessRule() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateExternalAccessRuleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateExternalAccessRuleRequest. + } + op, err := c.UpdateExternalAccessRule(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_UpdateExternalAddress() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateExternalAddressRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateExternalAddressRequest. + } + op, err := c.UpdateExternalAddress(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_UpdateLoggingServer() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateLoggingServerRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateLoggingServerRequest. + } + op, err := c.UpdateLoggingServer(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_UpdateManagementDnsZoneBinding() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateManagementDnsZoneBindingRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateManagementDnsZoneBindingRequest. + } + op, err := c.UpdateManagementDnsZoneBinding(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_UpdateNetworkPeering() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := vmwareengine.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &vmwareenginepb.UpdateNetworkPeeringRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb#UpdateNetworkPeeringRequest. + } + op, err := c.UpdateNetworkPeering(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_UpdateNetworkPolicy() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. diff --git a/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go b/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go index 96ee3a999be0..6a7dcae77560 100755 --- a/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go +++ b/vmwareengine/apiv1/vmwareenginepb/vmwareengine.pb.go @@ -1114,34 +1114,34 @@ func (x *DeleteClusterRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] -type ListSubnetsRequest struct { +// [VmwareEngine.ListNodes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodes] +type ListNodesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud to be queried for - // subnets. + // Required. The resource name of the cluster to be queried for nodes. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of subnets to return in one page. + // The maximum number of nodes to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListSubnetsRequest` call. + // A page token, received from a previous `ListNodes` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to - // `ListSubnetsRequest` must match the call that provided the page token. + // `ListNodes` must match the call that provided the page + // token. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *ListSubnetsRequest) Reset() { - *x = ListSubnetsRequest{} +func (x *ListNodesRequest) Reset() { + *x = ListNodesRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1149,13 +1149,13 @@ func (x *ListSubnetsRequest) Reset() { } } -func (x *ListSubnetsRequest) String() string { +func (x *ListNodesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListSubnetsRequest) ProtoMessage() {} +func (*ListNodesRequest) ProtoMessage() {} -func (x *ListSubnetsRequest) ProtoReflect() protoreflect.Message { +func (x *ListNodesRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1167,26 +1167,26 @@ func (x *ListSubnetsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListSubnetsRequest.ProtoReflect.Descriptor instead. -func (*ListSubnetsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListNodesRequest.ProtoReflect.Descriptor instead. +func (*ListNodesRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{13} } -func (x *ListSubnetsRequest) GetParent() string { +func (x *ListNodesRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListSubnetsRequest) GetPageSize() int32 { +func (x *ListNodesRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ListSubnetsRequest) GetPageToken() string { +func (x *ListNodesRequest) GetPageToken() string { if x != nil { return x.PageToken } @@ -1194,24 +1194,21 @@ func (x *ListSubnetsRequest) GetPageToken() string { } // Response message for -// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] -type ListSubnetsResponse struct { +// [VmwareEngine.ListNodes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodes] +type ListNodesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of subnets. - Subnets []*Subnet `protobuf:"bytes,1,rep,name=subnets,proto3" json:"subnets,omitempty"` + // The nodes. + Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - // Locations that could not be reached when making an aggregated query using - // wildcards. - Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListSubnetsResponse) Reset() { - *x = ListSubnetsResponse{} +func (x *ListNodesResponse) Reset() { + *x = ListNodesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1219,13 +1216,13 @@ func (x *ListSubnetsResponse) Reset() { } } -func (x *ListSubnetsResponse) String() string { +func (x *ListNodesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListSubnetsResponse) ProtoMessage() {} +func (*ListNodesResponse) ProtoMessage() {} -func (x *ListSubnetsResponse) ProtoReflect() protoreflect.Message { +func (x *ListNodesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1237,49 +1234,40 @@ func (x *ListSubnetsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListSubnetsResponse.ProtoReflect.Descriptor instead. -func (*ListSubnetsResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListNodesResponse.ProtoReflect.Descriptor instead. +func (*ListNodesResponse) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{14} } -func (x *ListSubnetsResponse) GetSubnets() []*Subnet { +func (x *ListNodesResponse) GetNodes() []*Node { if x != nil { - return x.Subnets + return x.Nodes } return nil } -func (x *ListSubnetsResponse) GetNextPageToken() string { +func (x *ListNodesResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -func (x *ListSubnetsResponse) GetUnreachable() []string { - if x != nil { - return x.Unreachable - } - return nil -} - // Request message for -// [VmwareEngine.GetSubnet][google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet] -type GetSubnetRequest struct { +// [VmwareEngine.GetNode][google.cloud.vmwareengine.v1.VmwareEngine.GetNode] +type GetNodeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the subnet to retrieve. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. + // Required. The resource name of the node to retrieve. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + // `projects/{project}/locations/{location}/privateClouds/{private_cloud}/clusters/{cluster}/nodes/{node}` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetSubnetRequest) Reset() { - *x = GetSubnetRequest{} +func (x *GetNodeRequest) Reset() { + *x = GetNodeRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1287,13 +1275,13 @@ func (x *GetSubnetRequest) Reset() { } } -func (x *GetSubnetRequest) String() string { +func (x *GetNodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetSubnetRequest) ProtoMessage() {} +func (*GetNodeRequest) ProtoMessage() {} -func (x *GetSubnetRequest) ProtoReflect() protoreflect.Message { +func (x *GetNodeRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1305,12 +1293,12 @@ func (x *GetSubnetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetSubnetRequest.ProtoReflect.Descriptor instead. -func (*GetSubnetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetNodeRequest.ProtoReflect.Descriptor instead. +func (*GetNodeRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{15} } -func (x *GetSubnetRequest) GetName() string { +func (x *GetNodeRequest) GetName() string { if x != nil { return x.Name } @@ -1318,24 +1306,66 @@ func (x *GetSubnetRequest) GetName() string { } // Request message for -// [VmwareEngine.UpdateSubnet][google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet] -type UpdateSubnetRequest struct { +// [VmwareEngine.ListExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses] +type ListExternalAddressesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Field mask is used to specify the fields to be overwritten in the - // `Subnet` resource by the update. - // The fields specified in the `update_mask` are relative to the resource, not - // the full request. A field will be overwritten if it is in the mask. If the - // user does not provide a mask then all fields will be overwritten. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // Required. Subnet description. - Subnet *Subnet `protobuf:"bytes,2,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Required. The resource name of the private cloud to be queried for + // external IP addresses. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of external IP addresses to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListExternalAddresses` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListExternalAddresses` must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of IP addresses, you can + // exclude the ones named `example-ip` by specifying + // `name != "example-ip"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-ip") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-ip-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-ip-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } -func (x *UpdateSubnetRequest) Reset() { - *x = UpdateSubnetRequest{} +func (x *ListExternalAddressesRequest) Reset() { + *x = ListExternalAddressesRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1343,13 +1373,13 @@ func (x *UpdateSubnetRequest) Reset() { } } -func (x *UpdateSubnetRequest) String() string { +func (x *ListExternalAddressesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateSubnetRequest) ProtoMessage() {} +func (*ListExternalAddressesRequest) ProtoMessage() {} -func (x *UpdateSubnetRequest) ProtoReflect() protoreflect.Message { +func (x *ListExternalAddressesRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1361,54 +1391,65 @@ func (x *UpdateSubnetRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateSubnetRequest.ProtoReflect.Descriptor instead. -func (*UpdateSubnetRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListExternalAddressesRequest.ProtoReflect.Descriptor instead. +func (*ListExternalAddressesRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{16} } -func (x *UpdateSubnetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *ListExternalAddressesRequest) GetParent() string { if x != nil { - return x.UpdateMask + return x.Parent } - return nil + return "" } -func (x *UpdateSubnetRequest) GetSubnet() *Subnet { +func (x *ListExternalAddressesRequest) GetPageSize() int32 { if x != nil { - return x.Subnet + return x.PageSize } - return nil + return 0 } -// Represents the metadata of the long-running operation. -type OperationMetadata struct { +func (x *ListExternalAddressesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListExternalAddressesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListExternalAddressesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [VmwareEngine.ListExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses] +type ListExternalAddressesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The time the operation was created. - CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - // Output only. The time 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. True if the user has requested cancellation - // of the operation; false otherwise. - // Operations that have successfully been cancelled - // have [Operation.error][] value with a - // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to - // `Code.CANCELLED`. - 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"` + // A list of external IP addresses. + ExternalAddresses []*ExternalAddress `protobuf:"bytes,1,rep,name=external_addresses,json=externalAddresses,proto3" json:"external_addresses,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached when making an aggregated query using + // wildcards. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *OperationMetadata) Reset() { - *x = OperationMetadata{} +func (x *ListExternalAddressesResponse) Reset() { + *x = ListExternalAddressesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1416,13 +1457,13 @@ func (x *OperationMetadata) Reset() { } } -func (x *OperationMetadata) String() string { +func (x *ListExternalAddressesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OperationMetadata) ProtoMessage() {} +func (*ListExternalAddressesResponse) ProtoMessage() {} -func (x *OperationMetadata) ProtoReflect() protoreflect.Message { +func (x *ListExternalAddressesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1434,191 +1475,130 @@ func (x *OperationMetadata) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. -func (*OperationMetadata) Descriptor() ([]byte, []int) { +// Deprecated: Use ListExternalAddressesResponse.ProtoReflect.Descriptor instead. +func (*ListExternalAddressesResponse) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{17} } -func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { +func (x *ListExternalAddressesResponse) GetExternalAddresses() []*ExternalAddress { if x != nil { - return x.CreateTime + return x.ExternalAddresses } return nil } -func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { +func (x *ListExternalAddressesResponse) GetNextPageToken() string { if x != nil { - return x.EndTime + return x.NextPageToken } - return nil + return "" } -func (x *OperationMetadata) GetTarget() string { +func (x *ListExternalAddressesResponse) GetUnreachable() []string { if x != nil { - return x.Target + return x.Unreachable } - return "" + return nil } -func (x *OperationMetadata) GetVerb() string { - if x != nil { - return x.Verb +// Request message for +// [VmwareEngine.FetchNetworkPolicyExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses] +type FetchNetworkPolicyExternalAddressesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network policy to query for assigned + // external IP addresses. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: + // `projects/my-project/locations/us-central1/networkPolicies/my-policy` + NetworkPolicy string `protobuf:"bytes,1,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"` + // The maximum number of external IP addresses to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous + // `FetchNetworkPolicyExternalAddresses` call. Provide this to retrieve the + // subsequent page. + // + // When paginating, all parameters provided to + // `FetchNetworkPolicyExternalAddresses`, except for `page_size` and + // `page_token`, must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *FetchNetworkPolicyExternalAddressesRequest) Reset() { + *x = FetchNetworkPolicyExternalAddressesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *OperationMetadata) GetStatusMessage() string { +func (x *FetchNetworkPolicyExternalAddressesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchNetworkPolicyExternalAddressesRequest) ProtoMessage() {} + +func (x *FetchNetworkPolicyExternalAddressesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_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 FetchNetworkPolicyExternalAddressesRequest.ProtoReflect.Descriptor instead. +func (*FetchNetworkPolicyExternalAddressesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{18} +} + +func (x *FetchNetworkPolicyExternalAddressesRequest) GetNetworkPolicy() string { if x != nil { - return x.StatusMessage + return x.NetworkPolicy } return "" } -func (x *OperationMetadata) GetRequestedCancellation() bool { +func (x *FetchNetworkPolicyExternalAddressesRequest) GetPageSize() int32 { if x != nil { - return x.RequestedCancellation + return x.PageSize } - return false + return 0 } -func (x *OperationMetadata) GetApiVersion() string { +func (x *FetchNetworkPolicyExternalAddressesRequest) GetPageToken() string { if x != nil { - return x.ApiVersion + return x.PageToken } return "" } -// Request message for -// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] -type ListNodeTypesRequest struct { +// Response message for +// [VmwareEngine.FetchNetworkPolicyExternalAddresses][google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses] +type FetchNetworkPolicyExternalAddressesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the location to be queried for node types. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1-a` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of node types to return in one page. - // The service may return fewer than this value. - // The maximum value is coerced to 1000. - // The default value of this field is 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListNodeTypes` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to - // `ListNodeTypes` must match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A filter expression that matches resources returned in the response. - // The expression must specify the field name, a comparison - // operator, and the value that you want to use for filtering. The value - // must be a string, a number, or a boolean. The comparison operator - // must be `=`, `!=`, `>`, or `<`. - // - // For example, if you are filtering a list of node types, you can - // exclude the ones named `standard-72` by specifying - // `name != "standard-72"`. - // - // To filter on multiple expressions, provide each separate expression within - // parentheses. For example: - // ``` - // (name = "standard-72") - // (virtual_cpu_count > 2) - // ``` - // - // By default, each expression is an `AND` expression. However, you - // can include `AND` and `OR` expressions explicitly. - // For example: - // ``` - // (name = "standard-96") AND - // (virtual_cpu_count > 2) OR - // (name = "standard-72") - // ``` - Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` -} - -func (x *ListNodeTypesRequest) Reset() { - *x = ListNodeTypesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListNodeTypesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListNodeTypesRequest) ProtoMessage() {} - -func (x *ListNodeTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_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 ListNodeTypesRequest.ProtoReflect.Descriptor instead. -func (*ListNodeTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{18} -} - -func (x *ListNodeTypesRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListNodeTypesRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListNodeTypesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListNodeTypesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -// Response message for -// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] -type ListNodeTypesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of Node Types. - NodeTypes []*NodeType `protobuf:"bytes,1,rep,name=node_types,json=nodeTypes,proto3" json:"node_types,omitempty"` + // A list of external IP addresses assigned to VMware workload VMs within the + // scope of the given network policy. + ExternalAddresses []*ExternalAddress `protobuf:"bytes,1,rep,name=external_addresses,json=externalAddresses,proto3" json:"external_addresses,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - // Locations that could not be reached when making an aggregated query using - // wildcards. - Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListNodeTypesResponse) Reset() { - *x = ListNodeTypesResponse{} +func (x *FetchNetworkPolicyExternalAddressesResponse) Reset() { + *x = FetchNetworkPolicyExternalAddressesResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1626,13 +1606,13 @@ func (x *ListNodeTypesResponse) Reset() { } } -func (x *ListNodeTypesResponse) String() string { +func (x *FetchNetworkPolicyExternalAddressesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListNodeTypesResponse) ProtoMessage() {} +func (*FetchNetworkPolicyExternalAddressesResponse) ProtoMessage() {} -func (x *ListNodeTypesResponse) ProtoReflect() protoreflect.Message { +func (x *FetchNetworkPolicyExternalAddressesResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1644,49 +1624,42 @@ func (x *ListNodeTypesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListNodeTypesResponse.ProtoReflect.Descriptor instead. -func (*ListNodeTypesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use FetchNetworkPolicyExternalAddressesResponse.ProtoReflect.Descriptor instead. +func (*FetchNetworkPolicyExternalAddressesResponse) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{19} } -func (x *ListNodeTypesResponse) GetNodeTypes() []*NodeType { +func (x *FetchNetworkPolicyExternalAddressesResponse) GetExternalAddresses() []*ExternalAddress { if x != nil { - return x.NodeTypes + return x.ExternalAddresses } return nil } -func (x *ListNodeTypesResponse) GetNextPageToken() string { +func (x *FetchNetworkPolicyExternalAddressesResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -func (x *ListNodeTypesResponse) GetUnreachable() []string { - if x != nil { - return x.Unreachable - } - return nil -} - // Request message for -// [VmwareEngine.GetNodeType][google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType] -type GetNodeTypeRequest struct { +// [VmwareEngine.GetExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress] +type GetExternalAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the node type to retrieve. + // Required. The resource name of the external IP address to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetNodeTypeRequest) Reset() { - *x = GetNodeTypeRequest{} +func (x *GetExternalAddressRequest) Reset() { + *x = GetExternalAddressRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1694,13 +1667,13 @@ func (x *GetNodeTypeRequest) Reset() { } } -func (x *GetNodeTypeRequest) String() string { +func (x *GetExternalAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetNodeTypeRequest) ProtoMessage() {} +func (*GetExternalAddressRequest) ProtoMessage() {} -func (x *GetNodeTypeRequest) ProtoReflect() protoreflect.Message { +func (x *GetExternalAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1712,12 +1685,12 @@ func (x *GetNodeTypeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetNodeTypeRequest.ProtoReflect.Descriptor instead. -func (*GetNodeTypeRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetExternalAddressRequest.ProtoReflect.Descriptor instead. +func (*GetExternalAddressRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{20} } -func (x *GetNodeTypeRequest) GetName() string { +func (x *GetExternalAddressRequest) GetName() string { if x != nil { return x.Name } @@ -1725,23 +1698,52 @@ func (x *GetNodeTypeRequest) GetName() string { } // Request message for -// [VmwareEngine.ShowNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials] -type ShowNsxCredentialsRequest struct { +// [VmwareEngine.CreateExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress] +type CreateExternalAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Required. The resource name of the private cloud - // to be queried for credentials. + // to create a new external IP address in. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` - PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The initial description of a new external IP address. + ExternalAddress *ExternalAddress `protobuf:"bytes,2,opt,name=external_address,json=externalAddress,proto3" json:"external_address,omitempty"` + // Required. The user-provided identifier of the `ExternalAddress` to be + // created. This identifier must be unique among `ExternalAddress` resources + // within the parent and becomes the final token in the name URI. The + // identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + ExternalAddressId string `protobuf:"bytes,3,opt,name=external_address_id,json=externalAddressId,proto3" json:"external_address_id,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *ShowNsxCredentialsRequest) Reset() { - *x = ShowNsxCredentialsRequest{} +func (x *CreateExternalAddressRequest) Reset() { + *x = CreateExternalAddressRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1749,13 +1751,13 @@ func (x *ShowNsxCredentialsRequest) Reset() { } } -func (x *ShowNsxCredentialsRequest) String() string { +func (x *CreateExternalAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ShowNsxCredentialsRequest) ProtoMessage() {} +func (*CreateExternalAddressRequest) ProtoMessage() {} -func (x *ShowNsxCredentialsRequest) ProtoReflect() protoreflect.Message { +func (x *CreateExternalAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1767,36 +1769,73 @@ func (x *ShowNsxCredentialsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ShowNsxCredentialsRequest.ProtoReflect.Descriptor instead. -func (*ShowNsxCredentialsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateExternalAddressRequest.ProtoReflect.Descriptor instead. +func (*CreateExternalAddressRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{21} } -func (x *ShowNsxCredentialsRequest) GetPrivateCloud() string { +func (x *CreateExternalAddressRequest) GetParent() string { if x != nil { - return x.PrivateCloud + return x.Parent + } + return "" +} + +func (x *CreateExternalAddressRequest) GetExternalAddress() *ExternalAddress { + if x != nil { + return x.ExternalAddress + } + return nil +} + +func (x *CreateExternalAddressRequest) GetExternalAddressId() string { + if x != nil { + return x.ExternalAddressId + } + return "" +} + +func (x *CreateExternalAddressRequest) GetRequestId() string { + if x != nil { + return x.RequestId } return "" } // Request message for -// [VmwareEngine.ShowVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials] -type ShowVcenterCredentialsRequest struct { +// [VmwareEngine.UpdateExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress] +type UpdateExternalAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud - // to be queried for credentials. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` - PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `ExternalAddress` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. External IP address description. + ExternalAddress *ExternalAddress `protobuf:"bytes,2,opt,name=external_address,json=externalAddress,proto3" json:"external_address,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *ShowVcenterCredentialsRequest) Reset() { - *x = ShowVcenterCredentialsRequest{} +func (x *UpdateExternalAddressRequest) Reset() { + *x = UpdateExternalAddressRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1804,13 +1843,13 @@ func (x *ShowVcenterCredentialsRequest) Reset() { } } -func (x *ShowVcenterCredentialsRequest) String() string { +func (x *UpdateExternalAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ShowVcenterCredentialsRequest) ProtoMessage() {} +func (*UpdateExternalAddressRequest) ProtoMessage() {} -func (x *ShowVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateExternalAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1822,32 +1861,45 @@ func (x *ShowVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ShowVcenterCredentialsRequest.ProtoReflect.Descriptor instead. -func (*ShowVcenterCredentialsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateExternalAddressRequest.ProtoReflect.Descriptor instead. +func (*UpdateExternalAddressRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{22} } -func (x *ShowVcenterCredentialsRequest) GetPrivateCloud() string { +func (x *UpdateExternalAddressRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.PrivateCloud + return x.UpdateMask + } + return nil +} + +func (x *UpdateExternalAddressRequest) GetExternalAddress() *ExternalAddress { + if x != nil { + return x.ExternalAddress + } + return nil +} + +func (x *UpdateExternalAddressRequest) GetRequestId() string { + if x != nil { + return x.RequestId } return "" } // Request message for -// [VmwareEngine.ResetNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials] -type ResetNsxCredentialsRequest struct { +// [VmwareEngine.DeleteExternalAddress][google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress] +type DeleteExternalAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud - // to reset credentials for. + // Required. The resource name of the external IP address to delete. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` - PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-ip` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a @@ -1856,7 +1908,7 @@ type ResetNsxCredentialsRequest struct { // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID + // ID, the server can check if the original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // @@ -1865,8 +1917,8 @@ type ResetNsxCredentialsRequest struct { RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *ResetNsxCredentialsRequest) Reset() { - *x = ResetNsxCredentialsRequest{} +func (x *DeleteExternalAddressRequest) Reset() { + *x = DeleteExternalAddressRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1874,13 +1926,13 @@ func (x *ResetNsxCredentialsRequest) Reset() { } } -func (x *ResetNsxCredentialsRequest) String() string { +func (x *DeleteExternalAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResetNsxCredentialsRequest) ProtoMessage() {} +func (*DeleteExternalAddressRequest) ProtoMessage() {} -func (x *ResetNsxCredentialsRequest) ProtoReflect() protoreflect.Message { +func (x *DeleteExternalAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1892,19 +1944,19 @@ func (x *ResetNsxCredentialsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResetNsxCredentialsRequest.ProtoReflect.Descriptor instead. -func (*ResetNsxCredentialsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteExternalAddressRequest.ProtoReflect.Descriptor instead. +func (*DeleteExternalAddressRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{23} } -func (x *ResetNsxCredentialsRequest) GetPrivateCloud() string { +func (x *DeleteExternalAddressRequest) GetName() string { if x != nil { - return x.PrivateCloud + return x.Name } return "" } -func (x *ResetNsxCredentialsRequest) GetRequestId() string { +func (x *DeleteExternalAddressRequest) GetRequestId() string { if x != nil { return x.RequestId } @@ -1912,38 +1964,34 @@ func (x *ResetNsxCredentialsRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.ResetVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials] -type ResetVcenterCredentialsRequest struct { +// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] +type ListSubnetsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud - // to reset credentials for. + // Required. The resource name of the private cloud to be queried for + // subnets. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` - PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. - // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of subnets to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListSubnetsRequest` call. + // Provide this to retrieve the subsequent page. // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // When paginating, all other parameters provided to + // `ListSubnetsRequest` must match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -func (x *ResetVcenterCredentialsRequest) Reset() { - *x = ResetVcenterCredentialsRequest{} +func (x *ListSubnetsRequest) Reset() { + *x = ListSubnetsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1951,13 +1999,13 @@ func (x *ResetVcenterCredentialsRequest) Reset() { } } -func (x *ResetVcenterCredentialsRequest) String() string { +func (x *ListSubnetsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResetVcenterCredentialsRequest) ProtoMessage() {} +func (*ListSubnetsRequest) ProtoMessage() {} -func (x *ResetVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { +func (x *ListSubnetsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1969,34 +2017,41 @@ func (x *ResetVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResetVcenterCredentialsRequest.ProtoReflect.Descriptor instead. -func (*ResetVcenterCredentialsRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListSubnetsRequest.ProtoReflect.Descriptor instead. +func (*ListSubnetsRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{24} } -func (x *ResetVcenterCredentialsRequest) GetPrivateCloud() string { +func (x *ListSubnetsRequest) GetParent() string { if x != nil { - return x.PrivateCloud + return x.Parent } return "" } -func (x *ResetVcenterCredentialsRequest) GetRequestId() string { +func (x *ListSubnetsRequest) GetPageSize() int32 { if x != nil { - return x.RequestId + return x.PageSize + } + return 0 +} + +func (x *ListSubnetsRequest) GetPageToken() string { + if x != nil { + return x.PageToken } return "" } // Response message for -// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] -type ListHcxActivationKeysResponse struct { +// [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] +type ListSubnetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // List of HCX activation keys. - HcxActivationKeys []*HcxActivationKey `protobuf:"bytes,1,rep,name=hcx_activation_keys,json=hcxActivationKeys,proto3" json:"hcx_activation_keys,omitempty"` + // A list of subnets. + Subnets []*Subnet `protobuf:"bytes,1,rep,name=subnets,proto3" json:"subnets,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` @@ -2005,8 +2060,8 @@ type ListHcxActivationKeysResponse struct { Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListHcxActivationKeysResponse) Reset() { - *x = ListHcxActivationKeysResponse{} +func (x *ListSubnetsResponse) Reset() { + *x = ListSubnetsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2014,13 +2069,13 @@ func (x *ListHcxActivationKeysResponse) Reset() { } } -func (x *ListHcxActivationKeysResponse) String() string { +func (x *ListSubnetsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListHcxActivationKeysResponse) ProtoMessage() {} +func (*ListSubnetsResponse) ProtoMessage() {} -func (x *ListHcxActivationKeysResponse) ProtoReflect() protoreflect.Message { +func (x *ListSubnetsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2032,26 +2087,26 @@ func (x *ListHcxActivationKeysResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListHcxActivationKeysResponse.ProtoReflect.Descriptor instead. -func (*ListHcxActivationKeysResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListSubnetsResponse.ProtoReflect.Descriptor instead. +func (*ListSubnetsResponse) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{25} } -func (x *ListHcxActivationKeysResponse) GetHcxActivationKeys() []*HcxActivationKey { +func (x *ListSubnetsResponse) GetSubnets() []*Subnet { if x != nil { - return x.HcxActivationKeys + return x.Subnets } return nil } -func (x *ListHcxActivationKeysResponse) GetNextPageToken() string { +func (x *ListSubnetsResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -func (x *ListHcxActivationKeysResponse) GetUnreachable() []string { +func (x *ListSubnetsResponse) GetUnreachable() []string { if x != nil { return x.Unreachable } @@ -2059,35 +2114,22 @@ func (x *ListHcxActivationKeysResponse) GetUnreachable() []string { } // Request message for -// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] -type ListHcxActivationKeysRequest struct { +// [VmwareEngine.GetSubnet][google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet] +type GetSubnetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud - // to be queried for HCX activation keys. + // Required. The resource name of the subnet to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1/privateClouds/my-cloud` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of HCX activation keys to return in one page. - // The service may return fewer than this value. - // The maximum value is coerced to 1000. - // The default value of this field is 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListHcxActivationKeys` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to - // `ListHcxActivationKeys` must match the call that provided the page - // token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ListHcxActivationKeysRequest) Reset() { - *x = ListHcxActivationKeysRequest{} +func (x *GetSubnetRequest) Reset() { + *x = GetSubnetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2095,13 +2137,13 @@ func (x *ListHcxActivationKeysRequest) Reset() { } } -func (x *ListHcxActivationKeysRequest) String() string { +func (x *GetSubnetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListHcxActivationKeysRequest) ProtoMessage() {} +func (*GetSubnetRequest) ProtoMessage() {} -func (x *ListHcxActivationKeysRequest) ProtoReflect() protoreflect.Message { +func (x *GetSubnetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2113,48 +2155,37 @@ func (x *ListHcxActivationKeysRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListHcxActivationKeysRequest.ProtoReflect.Descriptor instead. -func (*ListHcxActivationKeysRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use GetSubnetRequest.ProtoReflect.Descriptor instead. +func (*GetSubnetRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{26} } -func (x *ListHcxActivationKeysRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *ListHcxActivationKeysRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListHcxActivationKeysRequest) GetPageToken() string { +func (x *GetSubnetRequest) GetName() string { if x != nil { - return x.PageToken + return x.Name } return "" } -// Request message for [VmwareEngine.GetHcxActivationKeys][] -type GetHcxActivationKeyRequest struct { +// Request message for +// [VmwareEngine.UpdateSubnet][google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet] +type UpdateSubnetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the HCX activation key to retrieve. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `Subnet` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. Subnet description. + Subnet *Subnet `protobuf:"bytes,2,opt,name=subnet,proto3" json:"subnet,omitempty"` } -func (x *GetHcxActivationKeyRequest) Reset() { - *x = GetHcxActivationKeyRequest{} +func (x *UpdateSubnetRequest) Reset() { + *x = UpdateSubnetRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2162,13 +2193,13 @@ func (x *GetHcxActivationKeyRequest) Reset() { } } -func (x *GetHcxActivationKeyRequest) String() string { +func (x *UpdateSubnetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetHcxActivationKeyRequest) ProtoMessage() {} +func (*UpdateSubnetRequest) ProtoMessage() {} -func (x *GetHcxActivationKeyRequest) ProtoReflect() protoreflect.Message { +func (x *UpdateSubnetRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -2180,161 +2211,64 @@ func (x *GetHcxActivationKeyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetHcxActivationKeyRequest.ProtoReflect.Descriptor instead. -func (*GetHcxActivationKeyRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateSubnetRequest.ProtoReflect.Descriptor instead. +func (*UpdateSubnetRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{27} } -func (x *GetHcxActivationKeyRequest) GetName() string { +func (x *UpdateSubnetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.Name + return x.UpdateMask } - return "" + return nil +} + +func (x *UpdateSubnetRequest) GetSubnet() *Subnet { + if x != nil { + return x.Subnet + } + return nil } // Request message for -// [VmwareEngine.CreateHcxActivationKey][google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey] -type CreateHcxActivationKeyRequest struct { +// [VmwareEngine.ListExternalAccessRules][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules] +type ListExternalAccessRulesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private cloud to create the key for. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1/privateClouds/my-cloud` + // Required. The resource name of the network policy to query for external + // access firewall rules. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: + // `projects/my-project/locations/us-central1/networkPolicies/my-policy` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The initial description of a new HCX activation key. When - // creating a new key, this field must be an empty object. - HcxActivationKey *HcxActivationKey `protobuf:"bytes,2,opt,name=hcx_activation_key,json=hcxActivationKey,proto3" json:"hcx_activation_key,omitempty"` - // Required. The user-provided identifier of the `HcxActivationKey` to be - // created. This identifier must be unique among `HcxActivationKey` resources - // within the parent and becomes the final token in the name URI. - // The identifier must meet the following requirements: + // The maximum number of external access rules to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListExternalAccessRulesRequest` + // call. Provide this to retrieve the subsequent page. // - // * Only contains 1-63 alphanumeric characters and hyphens - // * Begins with an alphabetical character - // * Ends with a non-hyphen character - // * Not formatted as a UUID - // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) - // (section 3.5) - HcxActivationKeyId string `protobuf:"bytes,3,opt,name=hcx_activation_key_id,json=hcxActivationKeyId,proto3" json:"hcx_activation_key_id,omitempty"` - // A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. + // When paginating, all other parameters provided to + // `ListExternalAccessRulesRequest` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request ID, - // the server can check if original operation with the same request ID was - // received, and if so, will ignore the second request. This prevents clients - // from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` -} - -func (x *CreateHcxActivationKeyRequest) Reset() { - *x = CreateHcxActivationKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateHcxActivationKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateHcxActivationKeyRequest) ProtoMessage() {} - -func (x *CreateHcxActivationKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_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 CreateHcxActivationKeyRequest.ProtoReflect.Descriptor instead. -func (*CreateHcxActivationKeyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{28} -} - -func (x *CreateHcxActivationKeyRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" -} - -func (x *CreateHcxActivationKeyRequest) GetHcxActivationKey() *HcxActivationKey { - if x != nil { - return x.HcxActivationKey - } - return nil -} - -func (x *CreateHcxActivationKeyRequest) GetHcxActivationKeyId() string { - if x != nil { - return x.HcxActivationKeyId - } - return "" -} - -func (x *CreateHcxActivationKeyRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -// Request message for -// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] -type ListNetworkPoliciesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The resource name of the location (region) to query for - // network policies. Resource names are schemeless URIs that follow the - // conventions in https://cloud.google.com/apis/design/resource_names. For - // example: `projects/my-project/locations/us-central1` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of network policies to return in one page. - // The service may return fewer than this value. - // The maximum value is coerced to 1000. - // The default value of this field is 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListNetworkPolicies` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to - // `ListNetworkPolicies` must match the call that provided the page - // token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A filter expression that matches resources returned in the response. - // The expression must specify the field name, a comparison - // operator, and the value that you want to use for filtering. The value - // must be a string, a number, or a boolean. The comparison operator - // must be `=`, `!=`, `>`, or `<`. - // - // For example, if you are filtering a list of network policies, you can - // exclude the ones named `example-policy` by specifying - // `name != "example-policy"`. + // For example, if you are filtering a list of external access rules, you can + // exclude the ones named `example-rule` by specifying + // `name != "example-rule"`. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` - // (name = "example-policy") + // (name = "example-rule") // (createTime > "2021-04-12T08:15:10.40Z") // ``` // @@ -2342,9 +2276,9 @@ type ListNetworkPoliciesRequest struct { // can include `AND` and `OR` expressions explicitly. // For example: // ``` - // (name = "example-policy-1") AND + // (name = "example-rule-1") AND // (createTime > "2021-04-12T08:15:10.40Z") OR - // (name = "example-policy-2") + // (name = "example-rule-2") // ``` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Sorts list results by a certain order. By default, returned results @@ -2355,23 +2289,23 @@ type ListNetworkPoliciesRequest struct { OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } -func (x *ListNetworkPoliciesRequest) Reset() { - *x = ListNetworkPoliciesRequest{} +func (x *ListExternalAccessRulesRequest) Reset() { + *x = ListExternalAccessRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListNetworkPoliciesRequest) String() string { +func (x *ListExternalAccessRulesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListNetworkPoliciesRequest) ProtoMessage() {} +func (*ListExternalAccessRulesRequest) ProtoMessage() {} -func (x *ListNetworkPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29] +func (x *ListExternalAccessRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2382,40 +2316,40 @@ func (x *ListNetworkPoliciesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListNetworkPoliciesRequest.ProtoReflect.Descriptor instead. -func (*ListNetworkPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{29} +// Deprecated: Use ListExternalAccessRulesRequest.ProtoReflect.Descriptor instead. +func (*ListExternalAccessRulesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{28} } -func (x *ListNetworkPoliciesRequest) GetParent() string { +func (x *ListExternalAccessRulesRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListNetworkPoliciesRequest) GetPageSize() int32 { +func (x *ListExternalAccessRulesRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ListNetworkPoliciesRequest) GetPageToken() string { +func (x *ListExternalAccessRulesRequest) GetPageToken() string { if x != nil { return x.PageToken } return "" } -func (x *ListNetworkPoliciesRequest) GetFilter() string { +func (x *ListExternalAccessRulesRequest) GetFilter() string { if x != nil { return x.Filter } return "" } -func (x *ListNetworkPoliciesRequest) GetOrderBy() string { +func (x *ListExternalAccessRulesRequest) GetOrderBy() string { if x != nil { return x.OrderBy } @@ -2423,15 +2357,15 @@ func (x *ListNetworkPoliciesRequest) GetOrderBy() string { } // Response message for -// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] -type ListNetworkPoliciesResponse struct { +// [VmwareEngine.ListExternalAccessRules][google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules] +type ListExternalAccessRulesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of network policies. - NetworkPolicies []*NetworkPolicy `protobuf:"bytes,1,rep,name=network_policies,json=networkPolicies,proto3" json:"network_policies,omitempty"` - // A token, which can be send as `page_token` to retrieve the next page. + // A list of external access firewall rules. + ExternalAccessRules []*ExternalAccessRule `protobuf:"bytes,1,rep,name=external_access_rules,json=externalAccessRules,proto3" json:"external_access_rules,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // Locations that could not be reached when making an aggregated query using @@ -2439,23 +2373,23 @@ type ListNetworkPoliciesResponse struct { Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListNetworkPoliciesResponse) Reset() { - *x = ListNetworkPoliciesResponse{} +func (x *ListExternalAccessRulesResponse) Reset() { + *x = ListExternalAccessRulesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListNetworkPoliciesResponse) String() string { +func (x *ListExternalAccessRulesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListNetworkPoliciesResponse) ProtoMessage() {} +func (*ListExternalAccessRulesResponse) ProtoMessage() {} -func (x *ListNetworkPoliciesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30] +func (x *ListExternalAccessRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2466,26 +2400,26 @@ func (x *ListNetworkPoliciesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListNetworkPoliciesResponse.ProtoReflect.Descriptor instead. -func (*ListNetworkPoliciesResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{30} +// Deprecated: Use ListExternalAccessRulesResponse.ProtoReflect.Descriptor instead. +func (*ListExternalAccessRulesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{29} } -func (x *ListNetworkPoliciesResponse) GetNetworkPolicies() []*NetworkPolicy { +func (x *ListExternalAccessRulesResponse) GetExternalAccessRules() []*ExternalAccessRule { if x != nil { - return x.NetworkPolicies + return x.ExternalAccessRules } return nil } -func (x *ListNetworkPoliciesResponse) GetNextPageToken() string { +func (x *ListExternalAccessRulesResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -func (x *ListNetworkPoliciesResponse) GetUnreachable() []string { +func (x *ListExternalAccessRulesResponse) GetUnreachable() []string { if x != nil { return x.Unreachable } @@ -2493,37 +2427,37 @@ func (x *ListNetworkPoliciesResponse) GetUnreachable() []string { } // Request message for -// [VmwareEngine.GetNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy] -type GetNetworkPolicyRequest struct { +// [VmwareEngine.GetExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule] +type GetExternalAccessRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the network policy to retrieve. - // Resource names are schemeless URIs that follow the conventions in + // Required. The resource name of the external access firewall rule to + // retrieve. Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + // `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *GetNetworkPolicyRequest) Reset() { - *x = GetNetworkPolicyRequest{} +func (x *GetExternalAccessRuleRequest) Reset() { + *x = GetExternalAccessRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetNetworkPolicyRequest) String() string { +func (x *GetExternalAccessRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetNetworkPolicyRequest) ProtoMessage() {} +func (*GetExternalAccessRuleRequest) ProtoMessage() {} -func (x *GetNetworkPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31] +func (x *GetExternalAccessRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2534,12 +2468,12 @@ func (x *GetNetworkPolicyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetNetworkPolicyRequest.ProtoReflect.Descriptor instead. -func (*GetNetworkPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{31} +// Deprecated: Use GetExternalAccessRuleRequest.ProtoReflect.Descriptor instead. +func (*GetExternalAccessRuleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{30} } -func (x *GetNetworkPolicyRequest) GetName() string { +func (x *GetExternalAccessRuleRequest) GetName() string { if x != nil { return x.Name } @@ -2547,54 +2481,67 @@ func (x *GetNetworkPolicyRequest) GetName() string { } // Request message for -// [VmwareEngine.UpdateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy] -type UpdateNetworkPolicyRequest struct { +// [VmwareEngine.CreateExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule] +type CreateExternalAccessRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Network policy description. - NetworkPolicy *NetworkPolicy `protobuf:"bytes,1,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"` - // Required. Field mask is used to specify the fields to be overwritten in the - // `NetworkPolicy` resource by the update. - // The fields specified in the `update_mask` are relative to the resource, not - // the full request. A field will be overwritten if it is in the mask. If the - // user does not provide a mask then all fields will be overwritten. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID + // Required. The resource name of the network policy + // to create a new external access firewall rule in. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/networkPolicies/my-policy` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The initial description of a new external access rule. + ExternalAccessRule *ExternalAccessRule `protobuf:"bytes,2,opt,name=external_access_rule,json=externalAccessRule,proto3" json:"external_access_rule,omitempty"` + // Required. The user-provided identifier of the `ExternalAccessRule` to be + // created. This identifier must be unique among `ExternalAccessRule` + // resources within the parent and becomes the final token in the name URI. + // The identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + ExternalAccessRuleId string `protobuf:"bytes,3,opt,name=external_access_rule_id,json=externalAccessRuleId,proto3" json:"external_access_rule_id,omitempty"` + // A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *UpdateNetworkPolicyRequest) Reset() { - *x = UpdateNetworkPolicyRequest{} +func (x *CreateExternalAccessRuleRequest) Reset() { + *x = CreateExternalAccessRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateNetworkPolicyRequest) String() string { +func (x *CreateExternalAccessRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateNetworkPolicyRequest) ProtoMessage() {} +func (*CreateExternalAccessRuleRequest) ProtoMessage() {} -func (x *UpdateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32] +func (x *CreateExternalAccessRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2605,26 +2552,33 @@ func (x *UpdateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateNetworkPolicyRequest.ProtoReflect.Descriptor instead. -func (*UpdateNetworkPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{32} +// Deprecated: Use CreateExternalAccessRuleRequest.ProtoReflect.Descriptor instead. +func (*CreateExternalAccessRuleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{31} } -func (x *UpdateNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy { +func (x *CreateExternalAccessRuleRequest) GetParent() string { if x != nil { - return x.NetworkPolicy + return x.Parent } - return nil + return "" } -func (x *UpdateNetworkPolicyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *CreateExternalAccessRuleRequest) GetExternalAccessRule() *ExternalAccessRule { if x != nil { - return x.UpdateMask + return x.ExternalAccessRule } return nil } -func (x *UpdateNetworkPolicyRequest) GetRequestId() string { +func (x *CreateExternalAccessRuleRequest) GetExternalAccessRuleId() string { + if x != nil { + return x.ExternalAccessRuleId + } + return "" +} + +func (x *CreateExternalAccessRuleRequest) GetRequestId() string { if x != nil { return x.RequestId } @@ -2632,34 +2586,20 @@ func (x *UpdateNetworkPolicyRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.CreateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy] -type CreateNetworkPolicyRequest struct { +// [VmwareEngine.UpdateExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule] +type UpdateExternalAccessRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the location (region) - // to create the new network policy in. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The user-provided identifier of the network policy to be created. - // This identifier must be unique within parent - // `projects/{my-project}/locations/{us-central1}/networkPolicies` and becomes - // the final token in the name URI. - // The identifier must meet the following requirements: - // - // * Only contains 1-63 alphanumeric characters and hyphens - // * Begins with an alphabetical character - // * Ends with a non-hyphen character - // * Not formatted as a UUID - // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) - // (section 3.5) - NetworkPolicyId string `protobuf:"bytes,2,opt,name=network_policy_id,json=networkPolicyId,proto3" json:"network_policy_id,omitempty"` - // Required. The network policy configuration to use in the request. - NetworkPolicy *NetworkPolicy `protobuf:"bytes,3,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `ExternalAccessRule` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. Description of the external access rule. + ExternalAccessRule *ExternalAccessRule `protobuf:"bytes,2,opt,name=external_access_rule,json=externalAccessRule,proto3" json:"external_access_rule,omitempty"` // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a @@ -2667,33 +2607,33 @@ type CreateNetworkPolicyRequest struct { // minutes. // // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *CreateNetworkPolicyRequest) Reset() { - *x = CreateNetworkPolicyRequest{} +func (x *UpdateExternalAccessRuleRequest) Reset() { + *x = UpdateExternalAccessRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateNetworkPolicyRequest) String() string { +func (x *UpdateExternalAccessRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateNetworkPolicyRequest) ProtoMessage() {} +func (*UpdateExternalAccessRuleRequest) ProtoMessage() {} -func (x *CreateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33] +func (x *UpdateExternalAccessRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2704,33 +2644,26 @@ func (x *CreateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateNetworkPolicyRequest.ProtoReflect.Descriptor instead. -func (*CreateNetworkPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{33} +// Deprecated: Use UpdateExternalAccessRuleRequest.ProtoReflect.Descriptor instead. +func (*UpdateExternalAccessRuleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{32} } -func (x *CreateNetworkPolicyRequest) GetParent() string { +func (x *UpdateExternalAccessRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.Parent - } - return "" -} - -func (x *CreateNetworkPolicyRequest) GetNetworkPolicyId() string { - if x != nil { - return x.NetworkPolicyId + return x.UpdateMask } - return "" + return nil } -func (x *CreateNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy { +func (x *UpdateExternalAccessRuleRequest) GetExternalAccessRule() *ExternalAccessRule { if x != nil { - return x.NetworkPolicy + return x.ExternalAccessRule } return nil } -func (x *CreateNetworkPolicyRequest) GetRequestId() string { +func (x *UpdateExternalAccessRuleRequest) GetRequestId() string { if x != nil { return x.RequestId } @@ -2738,17 +2671,17 @@ func (x *CreateNetworkPolicyRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.DeleteNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy] -type DeleteNetworkPolicyRequest struct { +// [VmwareEngine.DeleteExternalAccessRule][google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule] +type DeleteExternalAccessRuleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the network policy to delete. + // Required. The resource name of the external access firewall rule to delete. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + // `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore @@ -2758,7 +2691,7 @@ type DeleteNetworkPolicyRequest struct { // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID + // ID, the server can check if the original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // @@ -2767,23 +2700,23 @@ type DeleteNetworkPolicyRequest struct { RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *DeleteNetworkPolicyRequest) Reset() { - *x = DeleteNetworkPolicyRequest{} +func (x *DeleteExternalAccessRuleRequest) Reset() { + *x = DeleteExternalAccessRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteNetworkPolicyRequest) String() string { +func (x *DeleteExternalAccessRuleRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteNetworkPolicyRequest) ProtoMessage() {} +func (*DeleteExternalAccessRuleRequest) ProtoMessage() {} -func (x *DeleteNetworkPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34] +func (x *DeleteExternalAccessRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2794,19 +2727,19 @@ func (x *DeleteNetworkPolicyRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteNetworkPolicyRequest.ProtoReflect.Descriptor instead. -func (*DeleteNetworkPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{34} +// Deprecated: Use DeleteExternalAccessRuleRequest.ProtoReflect.Descriptor instead. +func (*DeleteExternalAccessRuleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{33} } -func (x *DeleteNetworkPolicyRequest) GetName() string { +func (x *DeleteExternalAccessRuleRequest) GetName() string { if x != nil { return x.Name } return "" } -func (x *DeleteNetworkPolicyRequest) GetRequestId() string { +func (x *DeleteExternalAccessRuleRequest) GetRequestId() string { if x != nil { return x.RequestId } @@ -2814,71 +2747,82 @@ func (x *DeleteNetworkPolicyRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.CreateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork] -type CreateVmwareEngineNetworkRequest struct { +// [VmwareEngine.ListLoggingServers][google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers] +type ListLoggingServersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the location to create the new VMware Engine - // network in. A VMware Engine network of type - // `LEGACY` is a regional resource, and a VMware - // Engine network of type `STANDARD` is a global resource. + // Required. The resource name of the private cloud to be queried for + // logging servers. // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. For example: - // `projects/my-project/locations/global` + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The user-provided identifier of the new VMware Engine network. - // This identifier must be unique among VMware Engine network resources - // within the parent and becomes the final token in the name URI. The - // identifier must meet the following requirements: + // The maximum number of logging servers to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListLoggingServersRequest` call. + // Provide this to retrieve the subsequent page. // - // * For networks of type LEGACY, adheres to the format: - // `{region-id}-default`. Replace `{region-id}` with the region where you want - // to create the VMware Engine network. For example, "us-central1-default". - // * Only contains 1-63 alphanumeric characters and hyphens - // * Begins with an alphabetical character - // * Ends with a non-hyphen character - // * Not formatted as a UUID - // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) - // (section 3.5) - VmwareEngineNetworkId string `protobuf:"bytes,2,opt,name=vmware_engine_network_id,json=vmwareEngineNetworkId,proto3" json:"vmware_engine_network_id,omitempty"` - // Required. The initial description of the new VMware Engine network. - VmwareEngineNetwork *VmwareEngineNetwork `protobuf:"bytes,3,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. + // When paginating, all other parameters provided to + // `ListLoggingServersRequest` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. + // For example, if you are filtering a list of logging servers, you can + // exclude the ones named `example-server` by specifying + // `name != "example-server"`. // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-server") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-server-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-server-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } -func (x *CreateVmwareEngineNetworkRequest) Reset() { - *x = CreateVmwareEngineNetworkRequest{} +func (x *ListLoggingServersRequest) Reset() { + *x = ListLoggingServersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateVmwareEngineNetworkRequest) String() string { +func (x *ListLoggingServersRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateVmwareEngineNetworkRequest) ProtoMessage() {} +func (*ListLoggingServersRequest) ProtoMessage() {} -func (x *CreateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35] +func (x *ListLoggingServersRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2889,89 +2833,80 @@ func (x *CreateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. -func (*CreateVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{35} +// Deprecated: Use ListLoggingServersRequest.ProtoReflect.Descriptor instead. +func (*ListLoggingServersRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{34} } -func (x *CreateVmwareEngineNetworkRequest) GetParent() string { +func (x *ListLoggingServersRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *CreateVmwareEngineNetworkRequest) GetVmwareEngineNetworkId() string { +func (x *ListLoggingServersRequest) GetPageSize() int32 { if x != nil { - return x.VmwareEngineNetworkId + return x.PageSize + } + return 0 +} + +func (x *ListLoggingServersRequest) GetPageToken() string { + if x != nil { + return x.PageToken } return "" } -func (x *CreateVmwareEngineNetworkRequest) GetVmwareEngineNetwork() *VmwareEngineNetwork { +func (x *ListLoggingServersRequest) GetFilter() string { if x != nil { - return x.VmwareEngineNetwork + return x.Filter } - return nil + return "" } -func (x *CreateVmwareEngineNetworkRequest) GetRequestId() string { +func (x *ListLoggingServersRequest) GetOrderBy() string { if x != nil { - return x.RequestId + return x.OrderBy } return "" } -// Request message for -// [VmwareEngine.UpdateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork] -type UpdateVmwareEngineNetworkRequest struct { +// Response message for +// [VmwareEngine.ListLoggingServers][google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers] +type ListLoggingServersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. VMware Engine network description. - VmwareEngineNetwork *VmwareEngineNetwork `protobuf:"bytes,1,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` - // Required. Field mask is used to specify the fields to be overwritten in the - // VMware Engine network resource by the update. - // The fields specified in the `update_mask` are relative to the resource, not - // the full request. A field will be overwritten if it is in the mask. If the - // user does not provide a mask then all fields will be overwritten. Only the - // following fields can be updated: `description`. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. - // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // A list of Logging Servers. + LoggingServers []*LoggingServer `protobuf:"bytes,1,rep,name=logging_servers,json=loggingServers,proto3" json:"logging_servers,omitempty"` + // A token, which can be send as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached when making an aggregated query using + // wildcards. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *UpdateVmwareEngineNetworkRequest) Reset() { - *x = UpdateVmwareEngineNetworkRequest{} +func (x *ListLoggingServersResponse) Reset() { + *x = ListLoggingServersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateVmwareEngineNetworkRequest) String() string { +func (x *ListLoggingServersResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateVmwareEngineNetworkRequest) ProtoMessage() {} +func (*ListLoggingServersResponse) ProtoMessage() {} -func (x *UpdateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36] +func (x *ListLoggingServersResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2982,84 +2917,64 @@ func (x *UpdateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. -func (*UpdateVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{36} +// Deprecated: Use ListLoggingServersResponse.ProtoReflect.Descriptor instead. +func (*ListLoggingServersResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{35} } -func (x *UpdateVmwareEngineNetworkRequest) GetVmwareEngineNetwork() *VmwareEngineNetwork { +func (x *ListLoggingServersResponse) GetLoggingServers() []*LoggingServer { if x != nil { - return x.VmwareEngineNetwork + return x.LoggingServers } return nil } -func (x *UpdateVmwareEngineNetworkRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +func (x *ListLoggingServersResponse) GetNextPageToken() string { if x != nil { - return x.UpdateMask + return x.NextPageToken } - return nil + return "" } -func (x *UpdateVmwareEngineNetworkRequest) GetRequestId() string { +func (x *ListLoggingServersResponse) GetUnreachable() []string { if x != nil { - return x.RequestId + return x.Unreachable } - return "" + return nil } // Request message for -// [VmwareEngine.DeleteVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork] -type DeleteVmwareEngineNetworkRequest struct { +// [VmwareEngine.GetLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer] +type GetLoggingServerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the VMware Engine network to be deleted. + // Required. The resource name of the Logging Server to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. - // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - // Optional. Checksum used to ensure that the user-provided value is up to - // date before the server processes the request. The server compares provided - // checksum with the current checksum of the resource. If the user-provided - // value is out of date, this request returns an `ABORTED` error. - Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` } -func (x *DeleteVmwareEngineNetworkRequest) Reset() { - *x = DeleteVmwareEngineNetworkRequest{} +func (x *GetLoggingServerRequest) Reset() { + *x = GetLoggingServerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteVmwareEngineNetworkRequest) String() string { +func (x *GetLoggingServerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteVmwareEngineNetworkRequest) ProtoMessage() {} +func (*GetLoggingServerRequest) ProtoMessage() {} -func (x *DeleteVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37] +func (x *GetLoggingServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3070,160 +2985,80 @@ func (x *DeleteVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. -func (*DeleteVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{37} +// Deprecated: Use GetLoggingServerRequest.ProtoReflect.Descriptor instead. +func (*GetLoggingServerRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{36} } -func (x *DeleteVmwareEngineNetworkRequest) GetName() string { +func (x *GetLoggingServerRequest) GetName() string { if x != nil { return x.Name } return "" } -func (x *DeleteVmwareEngineNetworkRequest) GetRequestId() string { - if x != nil { - return x.RequestId - } - return "" -} - -func (x *DeleteVmwareEngineNetworkRequest) GetEtag() string { - if x != nil { - return x.Etag - } - return "" -} - // Request message for -// [VmwareEngine.GetVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork] -type GetVmwareEngineNetworkRequest struct { +// [VmwareEngine.CreateLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer] +type CreateLoggingServerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the VMware Engine network to retrieve. + // Required. The resource name of the private cloud + // to create a new Logging Server in. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *GetVmwareEngineNetworkRequest) Reset() { - *x = GetVmwareEngineNetworkRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetVmwareEngineNetworkRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetVmwareEngineNetworkRequest) ProtoMessage() {} - -func (x *GetVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. -func (*GetVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{38} -} - -func (x *GetVmwareEngineNetworkRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// Request message for -// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] -type ListVmwareEngineNetworksRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. The resource name of the location to query for - // VMware Engine networks. Resource names are schemeless URIs that follow the - // conventions in https://cloud.google.com/apis/design/resource_names. For - // example: `projects/my-project/locations/global` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of results to return in one page. - // The maximum value is coerced to 1000. - // The default value of this field is 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListVmwareEngineNetworks` call. - // Provide this to retrieve the subsequent page. - // - // When paginating, all other parameters provided to - // `ListVmwareEngineNetworks` must match the call that provided the page - // token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A filter expression that matches resources returned in the response. - // The expression must specify the field name, a comparison - // operator, and the value that you want to use for filtering. The value - // must be a string, a number, or a boolean. The comparison operator - // must be `=`, `!=`, `>`, or `<`. + // Required. The initial description of a new logging server. + LoggingServer *LoggingServer `protobuf:"bytes,2,opt,name=logging_server,json=loggingServer,proto3" json:"logging_server,omitempty"` + // Required. The user-provided identifier of the `LoggingServer` to be + // created. This identifier must be unique among `LoggingServer` resources + // within the parent and becomes the final token in the name URI. + // The identifier must meet the following requirements: // - // For example, if you are filtering a list of network peerings, you can - // exclude the ones named `example-network` by specifying - // `name != "example-network"`. + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + LoggingServerId string `protobuf:"bytes,3,opt,name=logging_server_id,json=loggingServerId,proto3" json:"logging_server_id,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. // - // To filter on multiple expressions, provide each separate expression within - // parentheses. For example: - // ``` - // (name = "example-network") - // (createTime > "2021-04-12T08:15:10.40Z") - // ``` + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. // - // By default, each expression is an `AND` expression. However, you - // can include `AND` and `OR` expressions explicitly. - // For example: - // ``` - // (name = "example-network-1") AND - // (createTime > "2021-04-12T08:15:10.40Z") OR - // (name = "example-network-2") - // ``` - Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - // Sorts list results by a certain order. By default, returned results - // are ordered by `name` in ascending order. - // You can also sort results in descending order based on the `name` value - // using `orderBy="name desc"`. - // Currently, only ordering by `name` is supported. - OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *ListVmwareEngineNetworksRequest) Reset() { - *x = ListVmwareEngineNetworksRequest{} +func (x *CreateLoggingServerRequest) Reset() { + *x = CreateLoggingServerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListVmwareEngineNetworksRequest) String() string { +func (x *CreateLoggingServerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListVmwareEngineNetworksRequest) ProtoMessage() {} +func (*CreateLoggingServerRequest) ProtoMessage() {} -func (x *ListVmwareEngineNetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39] +func (x *CreateLoggingServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,79 +3069,88 @@ func (x *ListVmwareEngineNetworksRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListVmwareEngineNetworksRequest.ProtoReflect.Descriptor instead. -func (*ListVmwareEngineNetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{39} +// Deprecated: Use CreateLoggingServerRequest.ProtoReflect.Descriptor instead. +func (*CreateLoggingServerRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{37} } -func (x *ListVmwareEngineNetworksRequest) GetParent() string { +func (x *CreateLoggingServerRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListVmwareEngineNetworksRequest) GetPageSize() int32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListVmwareEngineNetworksRequest) GetPageToken() string { +func (x *CreateLoggingServerRequest) GetLoggingServer() *LoggingServer { if x != nil { - return x.PageToken + return x.LoggingServer } - return "" + return nil } -func (x *ListVmwareEngineNetworksRequest) GetFilter() string { +func (x *CreateLoggingServerRequest) GetLoggingServerId() string { if x != nil { - return x.Filter + return x.LoggingServerId } return "" } -func (x *ListVmwareEngineNetworksRequest) GetOrderBy() string { +func (x *CreateLoggingServerRequest) GetRequestId() string { if x != nil { - return x.OrderBy + return x.RequestId } return "" } -// Response message for -// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] -type ListVmwareEngineNetworksResponse struct { +// Request message for +// [VmwareEngine.UpdateLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer] +type UpdateLoggingServerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of VMware Engine networks. - VmwareEngineNetworks []*VmwareEngineNetwork `protobuf:"bytes,1,rep,name=vmware_engine_networks,json=vmwareEngineNetworks,proto3" json:"vmware_engine_networks,omitempty"` - // A token, which can be sent as `page_token` to retrieve the next page. - // If this field is omitted, there are no subsequent pages. - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - // Unreachable resources. - Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `LoggingServer` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. Logging server description. + LoggingServer *LoggingServer `protobuf:"bytes,2,opt,name=logging_server,json=loggingServer,proto3" json:"logging_server,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *ListVmwareEngineNetworksResponse) Reset() { - *x = ListVmwareEngineNetworksResponse{} +func (x *UpdateLoggingServerRequest) Reset() { + *x = UpdateLoggingServerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListVmwareEngineNetworksResponse) String() string { +func (x *UpdateLoggingServerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListVmwareEngineNetworksResponse) ProtoMessage() {} +func (*UpdateLoggingServerRequest) ProtoMessage() {} -func (x *ListVmwareEngineNetworksResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40] +func (x *UpdateLoggingServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3317,59 +3161,45 @@ func (x *ListVmwareEngineNetworksResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListVmwareEngineNetworksResponse.ProtoReflect.Descriptor instead. -func (*ListVmwareEngineNetworksResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{40} +// Deprecated: Use UpdateLoggingServerRequest.ProtoReflect.Descriptor instead. +func (*UpdateLoggingServerRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{38} } -func (x *ListVmwareEngineNetworksResponse) GetVmwareEngineNetworks() []*VmwareEngineNetwork { +func (x *UpdateLoggingServerRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { - return x.VmwareEngineNetworks + return x.UpdateMask } return nil } -func (x *ListVmwareEngineNetworksResponse) GetNextPageToken() string { +func (x *UpdateLoggingServerRequest) GetLoggingServer() *LoggingServer { if x != nil { - return x.NextPageToken + return x.LoggingServer } - return "" + return nil } -func (x *ListVmwareEngineNetworksResponse) GetUnreachable() []string { +func (x *UpdateLoggingServerRequest) GetRequestId() string { if x != nil { - return x.Unreachable + return x.RequestId } - return nil + return "" } // Request message for -// [VmwareEngine.CreatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection] -type CreatePrivateConnectionRequest struct { +// [VmwareEngine.DeleteLoggingServer][google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer] +type DeleteLoggingServerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the location to create the new private - // connection in. Private connection is a regional resource. + // Required. The resource name of the logging server to delete. // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. For example: - // `projects/my-project/locations/us-central1` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // Required. The user-provided identifier of the new private connection. - // This identifier must be unique among private connection resources - // within the parent and becomes the final token in the name URI. The - // identifier must meet the following requirements: - // - // * Only contains 1-63 alphanumeric characters and hyphens - // * Begins with an alphabetical character - // * Ends with a non-hyphen character - // * Not formatted as a UUID - // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) - // (section 3.5) - PrivateConnectionId string `protobuf:"bytes,2,opt,name=private_connection_id,json=privateConnectionId,proto3" json:"private_connection_id,omitempty"` - // Required. The initial description of the new private connection. - PrivateConnection *PrivateConnection `protobuf:"bytes,3,opt,name=private_connection,json=privateConnection,proto3" json:"private_connection,omitempty"` + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a @@ -3384,26 +3214,26 @@ type CreatePrivateConnectionRequest struct { // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *CreatePrivateConnectionRequest) Reset() { - *x = CreatePrivateConnectionRequest{} +func (x *DeleteLoggingServerRequest) Reset() { + *x = DeleteLoggingServerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePrivateConnectionRequest) String() string { +func (x *DeleteLoggingServerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePrivateConnectionRequest) ProtoMessage() {} +func (*DeleteLoggingServerRequest) ProtoMessage() {} -func (x *CreatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41] +func (x *DeleteLoggingServerRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3414,71 +3244,69 @@ func (x *CreatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePrivateConnectionRequest.ProtoReflect.Descriptor instead. -func (*CreatePrivateConnectionRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{41} -} - -func (x *CreatePrivateConnectionRequest) GetParent() string { - if x != nil { - return x.Parent - } - return "" +// Deprecated: Use DeleteLoggingServerRequest.ProtoReflect.Descriptor instead. +func (*DeleteLoggingServerRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{39} } -func (x *CreatePrivateConnectionRequest) GetPrivateConnectionId() string { +func (x *DeleteLoggingServerRequest) GetName() string { if x != nil { - return x.PrivateConnectionId + return x.Name } return "" } -func (x *CreatePrivateConnectionRequest) GetPrivateConnection() *PrivateConnection { - if x != nil { - return x.PrivateConnection - } - return nil -} - -func (x *CreatePrivateConnectionRequest) GetRequestId() string { +func (x *DeleteLoggingServerRequest) GetRequestId() string { if x != nil { return x.RequestId } return "" } -// Request message for -// [VmwareEngine.GetPrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection] -type GetPrivateConnectionRequest struct { +// Represents the metadata of the long-running operation. +type OperationMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private connection to retrieve. - // Resource names are schemeless URIs that follow the conventions in - // https://cloud.google.com/apis/design/resource_names. - // For example: - // `projects/my-project/locations/us-central1/privateConnections/my-connection` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time 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. True if the user has requested cancellation + // of the operation; false otherwise. + // Operations that have successfully been cancelled + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + 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 *GetPrivateConnectionRequest) Reset() { - *x = GetPrivateConnectionRequest{} +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetPrivateConnectionRequest) String() string { +func (x *OperationMetadata) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetPrivateConnectionRequest) ProtoMessage() {} +func (*OperationMetadata) ProtoMessage() {} -func (x *GetPrivateConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42] +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3489,40 +3317,83 @@ func (x *GetPrivateConnectionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetPrivateConnectionRequest.ProtoReflect.Descriptor instead. -func (*GetPrivateConnectionRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{42} +// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{40} } -func (x *GetPrivateConnectionRequest) GetName() string { +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { if x != nil { - return x.Name + 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 "" } // Request message for -// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] -type ListPrivateConnectionsRequest struct { +// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] +type ListNodeTypesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the location to query for - // private connections. Resource names are schemeless URIs that follow the - // conventions in https://cloud.google.com/apis/design/resource_names. For - // example: `projects/my-project/locations/us-central1` + // Required. The resource name of the location to be queried for node types. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of private connections to return in one page. + // The maximum number of node types to return in one page. + // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListPrivateConnections` call. + // A page token, received from a previous `ListNodeTypes` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to - // `ListPrivateConnections` must match the call that provided the page - // token. + // `ListNodeTypes` must match the call that provided the page token. PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A filter expression that matches resources returned in the response. // The expression must specify the field name, a comparison @@ -3530,51 +3401,45 @@ type ListPrivateConnectionsRequest struct { // must be a string, a number, or a boolean. The comparison operator // must be `=`, `!=`, `>`, or `<`. // - // For example, if you are filtering a list of private connections, you can - // exclude the ones named `example-connection` by specifying - // `name != "example-connection"`. + // For example, if you are filtering a list of node types, you can + // exclude the ones named `standard-72` by specifying + // `name != "standard-72"`. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` - // (name = "example-connection") - // (createTime > "2022-09-22T08:15:10.40Z") + // (name = "standard-72") + // (virtual_cpu_count > 2) // ``` // // By default, each expression is an `AND` expression. However, you // can include `AND` and `OR` expressions explicitly. // For example: // ``` - // (name = "example-connection-1") AND - // (createTime > "2021-04-12T08:15:10.40Z") OR - // (name = "example-connection-2") + // (name = "standard-96") AND + // (virtual_cpu_count > 2) OR + // (name = "standard-72") // ``` Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - // Sorts list results by a certain order. By default, returned results - // are ordered by `name` in ascending order. - // You can also sort results in descending order based on the `name` value - // using `orderBy="name desc"`. - // Currently, only ordering by `name` is supported. - OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` } -func (x *ListPrivateConnectionsRequest) Reset() { - *x = ListPrivateConnectionsRequest{} +func (x *ListNodeTypesRequest) Reset() { + *x = ListNodeTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListPrivateConnectionsRequest) String() string { +func (x *ListNodeTypesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListPrivateConnectionsRequest) ProtoMessage() {} +func (*ListNodeTypesRequest) ProtoMessage() {} -func (x *ListPrivateConnectionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43] +func (x *ListNodeTypesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3585,79 +3450,73 @@ func (x *ListPrivateConnectionsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListPrivateConnectionsRequest.ProtoReflect.Descriptor instead. -func (*ListPrivateConnectionsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{43} +// Deprecated: Use ListNodeTypesRequest.ProtoReflect.Descriptor instead. +func (*ListNodeTypesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{41} } -func (x *ListPrivateConnectionsRequest) GetParent() string { +func (x *ListNodeTypesRequest) GetParent() string { if x != nil { return x.Parent } return "" } -func (x *ListPrivateConnectionsRequest) GetPageSize() int32 { +func (x *ListNodeTypesRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } -func (x *ListPrivateConnectionsRequest) GetPageToken() string { +func (x *ListNodeTypesRequest) GetPageToken() string { if x != nil { return x.PageToken } return "" } -func (x *ListPrivateConnectionsRequest) GetFilter() string { +func (x *ListNodeTypesRequest) GetFilter() string { if x != nil { return x.Filter } return "" } -func (x *ListPrivateConnectionsRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - // Response message for -// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] -type ListPrivateConnectionsResponse struct { +// [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] +type ListNodeTypesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of private connections. - PrivateConnections []*PrivateConnection `protobuf:"bytes,1,rep,name=private_connections,json=privateConnections,proto3" json:"private_connections,omitempty"` + // A list of Node Types. + NodeTypes []*NodeType `protobuf:"bytes,1,rep,name=node_types,json=nodeTypes,proto3" json:"node_types,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` - // Unreachable resources. + // Locations that could not be reached when making an aggregated query using + // wildcards. Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListPrivateConnectionsResponse) Reset() { - *x = ListPrivateConnectionsResponse{} +func (x *ListNodeTypesResponse) Reset() { + *x = ListNodeTypesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListPrivateConnectionsResponse) String() string { +func (x *ListNodeTypesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListPrivateConnectionsResponse) ProtoMessage() {} +func (*ListNodeTypesResponse) ProtoMessage() {} -func (x *ListPrivateConnectionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44] +func (x *ListNodeTypesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3668,26 +3527,26 @@ func (x *ListPrivateConnectionsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListPrivateConnectionsResponse.ProtoReflect.Descriptor instead. -func (*ListPrivateConnectionsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{44} +// Deprecated: Use ListNodeTypesResponse.ProtoReflect.Descriptor instead. +func (*ListNodeTypesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{42} } -func (x *ListPrivateConnectionsResponse) GetPrivateConnections() []*PrivateConnection { +func (x *ListNodeTypesResponse) GetNodeTypes() []*NodeType { if x != nil { - return x.PrivateConnections + return x.NodeTypes } return nil } -func (x *ListPrivateConnectionsResponse) GetNextPageToken() string { +func (x *ListNodeTypesResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -func (x *ListPrivateConnectionsResponse) GetUnreachable() []string { +func (x *ListNodeTypesResponse) GetUnreachable() []string { if x != nil { return x.Unreachable } @@ -3695,54 +3554,37 @@ func (x *ListPrivateConnectionsResponse) GetUnreachable() []string { } // Request message for -// [VmwareEngine.UpdatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection] -type UpdatePrivateConnectionRequest struct { +// [VmwareEngine.GetNodeType][google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType] +type GetNodeTypeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Private connection description. - PrivateConnection *PrivateConnection `protobuf:"bytes,1,opt,name=private_connection,json=privateConnection,proto3" json:"private_connection,omitempty"` - // Required. Field mask is used to specify the fields to be overwritten in the - // `PrivateConnection` resource by the update. - // The fields specified in the `update_mask` are relative to the resource, not - // the full request. A field will be overwritten if it is in the mask. If the - // user does not provide a mask then all fields will be overwritten. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // Optional. A request ID to identify requests. Specify a unique request ID - // so that if you must retry your request, the server will know to ignore - // the request if it has already been completed. The server guarantees that a - // request doesn't result in creation of duplicate commitments for at least 60 - // minutes. - // - // For example, consider a situation where you make an initial request and the - // request times out. If you make the request again with the same request - // ID, the server can check if original operation with the same request ID - // was received, and if so, will ignore the second request. This prevents - // clients from accidentally creating duplicate commitments. - // - // The request ID must be a valid UUID with the exception that zero UUID is - // not supported (00000000-0000-0000-0000-000000000000). - RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Required. The resource name of the node type to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-proj/locations/us-central1-a/nodeTypes/standard-72` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *UpdatePrivateConnectionRequest) Reset() { - *x = UpdatePrivateConnectionRequest{} +func (x *GetNodeTypeRequest) Reset() { + *x = GetNodeTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdatePrivateConnectionRequest) String() string { +func (x *GetNodeTypeRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdatePrivateConnectionRequest) ProtoMessage() {} +func (*GetNodeTypeRequest) ProtoMessage() {} -func (x *UpdatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45] +func (x *GetNodeTypeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3753,45 +3595,160 @@ func (x *UpdatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdatePrivateConnectionRequest.ProtoReflect.Descriptor instead. -func (*UpdatePrivateConnectionRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{45} +// Deprecated: Use GetNodeTypeRequest.ProtoReflect.Descriptor instead. +func (*GetNodeTypeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{43} } -func (x *UpdatePrivateConnectionRequest) GetPrivateConnection() *PrivateConnection { +func (x *GetNodeTypeRequest) GetName() string { if x != nil { - return x.PrivateConnection + return x.Name } - return nil + return "" } -func (x *UpdatePrivateConnectionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { +// Request message for +// [VmwareEngine.ShowNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials] +type ShowNsxCredentialsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud + // to be queried for credentials. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` +} + +func (x *ShowNsxCredentialsRequest) Reset() { + *x = ShowNsxCredentialsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowNsxCredentialsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowNsxCredentialsRequest) ProtoMessage() {} + +func (x *ShowNsxCredentialsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShowNsxCredentialsRequest.ProtoReflect.Descriptor instead. +func (*ShowNsxCredentialsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{44} +} + +func (x *ShowNsxCredentialsRequest) GetPrivateCloud() string { if x != nil { - return x.UpdateMask + return x.PrivateCloud } - return nil + return "" } -func (x *UpdatePrivateConnectionRequest) GetRequestId() string { +// Request message for +// [VmwareEngine.ShowVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials] +type ShowVcenterCredentialsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud + // to be queried for credentials. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` + // Optional. The username of the user to be queried for credentials. + // The default value of this field is CloudOwner@gve.local. + // The provided value must be one of the following: + // CloudOwner@gve.local, + // solution-user-01@gve.local, + // solution-user-02@gve.local, + // solution-user-03@gve.local, + // solution-user-04@gve.local, + // solution-user-05@gve.local, + // zertoadmin@gve.local. + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` +} + +func (x *ShowVcenterCredentialsRequest) Reset() { + *x = ShowVcenterCredentialsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowVcenterCredentialsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowVcenterCredentialsRequest) ProtoMessage() {} + +func (x *ShowVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShowVcenterCredentialsRequest.ProtoReflect.Descriptor instead. +func (*ShowVcenterCredentialsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{45} +} + +func (x *ShowVcenterCredentialsRequest) GetPrivateCloud() string { if x != nil { - return x.RequestId + return x.PrivateCloud + } + return "" +} + +func (x *ShowVcenterCredentialsRequest) GetUsername() string { + if x != nil { + return x.Username } return "" } // Request message for -// [VmwareEngine.DeletePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection] -type DeletePrivateConnectionRequest struct { +// [VmwareEngine.ResetNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials] +type ResetNsxCredentialsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private connection to be deleted. + // Required. The resource name of the private cloud + // to reset credentials for. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1/privateConnections/my-connection` - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a @@ -3809,8 +3766,8 @@ type DeletePrivateConnectionRequest struct { RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } -func (x *DeletePrivateConnectionRequest) Reset() { - *x = DeletePrivateConnectionRequest{} +func (x *ResetNsxCredentialsRequest) Reset() { + *x = ResetNsxCredentialsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3818,13 +3775,13 @@ func (x *DeletePrivateConnectionRequest) Reset() { } } -func (x *DeletePrivateConnectionRequest) String() string { +func (x *ResetNsxCredentialsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeletePrivateConnectionRequest) ProtoMessage() {} +func (*ResetNsxCredentialsRequest) ProtoMessage() {} -func (x *DeletePrivateConnectionRequest) ProtoReflect() protoreflect.Message { +func (x *ResetNsxCredentialsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3836,19 +3793,19 @@ func (x *DeletePrivateConnectionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeletePrivateConnectionRequest.ProtoReflect.Descriptor instead. -func (*DeletePrivateConnectionRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ResetNsxCredentialsRequest.ProtoReflect.Descriptor instead. +func (*ResetNsxCredentialsRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{46} } -func (x *DeletePrivateConnectionRequest) GetName() string { +func (x *ResetNsxCredentialsRequest) GetPrivateCloud() string { if x != nil { - return x.Name + return x.PrivateCloud } return "" } -func (x *DeletePrivateConnectionRequest) GetRequestId() string { +func (x *ResetNsxCredentialsRequest) GetRequestId() string { if x != nil { return x.RequestId } @@ -3856,31 +3813,48 @@ func (x *DeletePrivateConnectionRequest) GetRequestId() string { } // Request message for -// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] -type ListPrivateConnectionPeeringRoutesRequest struct { +// [VmwareEngine.ResetVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials] +type ResetVcenterCredentialsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The resource name of the private connection to retrieve peering - // routes from. Resource names are schemeless URIs that follow the conventions - // in https://cloud.google.com/apis/design/resource_names. For example: - // `projects/my-project/locations/us-west1/privateConnections/my-connection` - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` - // The maximum number of peering routes to return in one page. - // The service may return fewer than this value. - // The maximum value is coerced to 1000. - // The default value of this field is 500. - PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListPrivateConnectionPeeringRoutes` - // call. Provide this to retrieve the subsequent page. When paginating, all - // other parameters provided to `ListPrivateConnectionPeeringRoutes` must - // match the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Required. The resource name of the private cloud + // to reset credentials for. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + PrivateCloud string `protobuf:"bytes,1,opt,name=private_cloud,json=privateCloud,proto3" json:"private_cloud,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Optional. The username of the user to be to reset the credentials. + // The default value of this field is CloudOwner@gve.local. + // The provided value should be one of the following: + // solution-user-01@gve.local, + // solution-user-02@gve.local, + // solution-user-03@gve.local, + // solution-user-04@gve.local, + // solution-user-05@gve.local, + // zertoadmin@gve.local. + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` } -func (x *ListPrivateConnectionPeeringRoutesRequest) Reset() { - *x = ListPrivateConnectionPeeringRoutesRequest{} +func (x *ResetVcenterCredentialsRequest) Reset() { + *x = ResetVcenterCredentialsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3888,13 +3862,13 @@ func (x *ListPrivateConnectionPeeringRoutesRequest) Reset() { } } -func (x *ListPrivateConnectionPeeringRoutesRequest) String() string { +func (x *ResetVcenterCredentialsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListPrivateConnectionPeeringRoutesRequest) ProtoMessage() {} +func (*ResetVcenterCredentialsRequest) ProtoMessage() {} -func (x *ListPrivateConnectionPeeringRoutesRequest) ProtoReflect() protoreflect.Message { +func (x *ResetVcenterCredentialsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3906,48 +3880,51 @@ func (x *ListPrivateConnectionPeeringRoutesRequest) ProtoReflect() protoreflect. return mi.MessageOf(x) } -// Deprecated: Use ListPrivateConnectionPeeringRoutesRequest.ProtoReflect.Descriptor instead. -func (*ListPrivateConnectionPeeringRoutesRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ResetVcenterCredentialsRequest.ProtoReflect.Descriptor instead. +func (*ResetVcenterCredentialsRequest) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{47} } -func (x *ListPrivateConnectionPeeringRoutesRequest) GetParent() string { +func (x *ResetVcenterCredentialsRequest) GetPrivateCloud() string { if x != nil { - return x.Parent + return x.PrivateCloud } return "" } -func (x *ListPrivateConnectionPeeringRoutesRequest) GetPageSize() int32 { +func (x *ResetVcenterCredentialsRequest) GetRequestId() string { if x != nil { - return x.PageSize + return x.RequestId } - return 0 + return "" } -func (x *ListPrivateConnectionPeeringRoutesRequest) GetPageToken() string { +func (x *ResetVcenterCredentialsRequest) GetUsername() string { if x != nil { - return x.PageToken + return x.Username } return "" } // Response message for -// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] -type ListPrivateConnectionPeeringRoutesResponse struct { +// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] +type ListHcxActivationKeysResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A list of peering routes. - PeeringRoutes []*PeeringRoute `protobuf:"bytes,1,rep,name=peering_routes,json=peeringRoutes,proto3" json:"peering_routes,omitempty"` + // List of HCX activation keys. + HcxActivationKeys []*HcxActivationKey `protobuf:"bytes,1,rep,name=hcx_activation_keys,json=hcxActivationKeys,proto3" json:"hcx_activation_keys,omitempty"` // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached when making an aggregated query using + // wildcards. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` } -func (x *ListPrivateConnectionPeeringRoutesResponse) Reset() { - *x = ListPrivateConnectionPeeringRoutesResponse{} +func (x *ListHcxActivationKeysResponse) Reset() { + *x = ListHcxActivationKeysResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3955,13 +3932,13 @@ func (x *ListPrivateConnectionPeeringRoutesResponse) Reset() { } } -func (x *ListPrivateConnectionPeeringRoutesResponse) String() string { +func (x *ListHcxActivationKeysResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListPrivateConnectionPeeringRoutesResponse) ProtoMessage() {} +func (*ListHcxActivationKeysResponse) ProtoMessage() {} -func (x *ListPrivateConnectionPeeringRoutesResponse) ProtoReflect() protoreflect.Message { +func (x *ListHcxActivationKeysResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3973,1427 +3950,6497 @@ func (x *ListPrivateConnectionPeeringRoutesResponse) ProtoReflect() protoreflect return mi.MessageOf(x) } -// Deprecated: Use ListPrivateConnectionPeeringRoutesResponse.ProtoReflect.Descriptor instead. -func (*ListPrivateConnectionPeeringRoutesResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListHcxActivationKeysResponse.ProtoReflect.Descriptor instead. +func (*ListHcxActivationKeysResponse) Descriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{48} } -func (x *ListPrivateConnectionPeeringRoutesResponse) GetPeeringRoutes() []*PeeringRoute { +func (x *ListHcxActivationKeysResponse) GetHcxActivationKeys() []*HcxActivationKey { if x != nil { - return x.PeeringRoutes + return x.HcxActivationKeys } return nil } -func (x *ListPrivateConnectionPeeringRoutesResponse) GetNextPageToken() string { +func (x *ListHcxActivationKeysResponse) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } -var File_google_cloud_vmwareengine_v1_vmwareengine_proto protoreflect.FileDescriptor +func (x *ListHcxActivationKeysResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} -var file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDesc = []byte{ - 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 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, 0xcc, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x22, 0xb8, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x51, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 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, 0x5e, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, - 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, - 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0d, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, - 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, - 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x48, 0x6f, 0x75, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x6c, - 0x61, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 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, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x98, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, - 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, - 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x7b, 0x0a, 0x14, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x9f, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 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, 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, 0x52, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, - 0x22, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 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, 0x22, 0xad, - 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, - 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa8, - 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x56, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x72, 0x0a, 0x19, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, - 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x76, 0x0a, 0x1d, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, - 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x97, 0x01, - 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x63, - 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x68, 0x63, 0x78, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 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, 0xa4, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 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, 0x66, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x48, - 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0xa3, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x63, 0x78, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x12, - 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x68, - 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, - 0x36, 0x0a, 0x15, 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd6, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, - 0xbf, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x56, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0x22, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x22, 0x95, 0x02, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x0e, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x22, 0xc1, 0x02, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, - 0x12, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x6a, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x15, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xac, - 0x01, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x6c, 0x0a, - 0x1d, 0x47, 0x65, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x1f, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x22, 0xd5, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x14, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x02, 0x0a, 0x1e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 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, 0x12, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x68, 0x0a, - 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x12, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xcc, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0xeb, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x12, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 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, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 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, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0xa7, 0x01, 0x0a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, - 0x0a, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xb0, 0x48, 0x0a, 0x0c, 0x56, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, - 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x40, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x83, 0x02, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0xca, - 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xda, 0x41, 0x25, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x3a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x73, 0x12, 0x85, 0x02, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x19, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x3a, 0x0d, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x32, 0x3f, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x12, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 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, 0x64, 0xca, 0x41, 0x21, 0x0a, - 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x33, 0x2a, 0x31, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0xe2, 0x01, 0x0a, 0x14, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x3a, 0x01, 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xc4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x4d, 0xda, - 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xb1, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 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, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0xed, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x88, 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, 0x47, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x12, 0xef, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x8a, 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, 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, 0x4f, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x44, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xdc, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 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, 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, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x4c, 0x3a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x32, 0x42, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, - 0xb8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xda, 0x41, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, - 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x65, 0xda, - 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x68, 0x6f, 0x77, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x69, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x12, - 0x51, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x68, 0x6f, 0x77, - 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, 0x43, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, - 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 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, 0x8d, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, - 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x12, 0x8a, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, - 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 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, 0x91, 0x01, 0xca, - 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x12, 0xb2, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x63, 0x78, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 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, 0xbb, 0x01, 0xca, 0x41, 0x25, 0x0a, 0x10, 0x48, - 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 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, 0x68, 0x63, 0x78, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x68, - 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x12, 0x68, 0x63, 0x78, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x45, - 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x63, - 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 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, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x68, - 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, - 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, - 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x44, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x8b, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0xca, 0x41, 0x22, 0x0a, - 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x45, 0x3a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x8d, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0xca, 0x41, 0x22, 0x0a, 0x0d, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, - 0x41, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x54, 0x3a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x32, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 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, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb7, 0x02, 0x0a, 0x19, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0xba, 0x01, 0xca, 0x41, 0x28, 0x0a, 0x13, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xda, 0x41, 0x35, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x51, 0x3a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x7d, 0x2f, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x12, 0xb9, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, - 0xbc, 0x01, 0xca, 0x41, 0x28, 0x0a, 0x13, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x21, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x32, 0x4e, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf0, - 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 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, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 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, 0x7d, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xa6, 0x02, 0x0a, - 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0xad, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x2f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, - 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xa8, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0xaf, 0x01, 0xca, 0x41, 0x26, 0x0a, - 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x12, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x32, 0x49, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x72, 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, 0x38, - 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x90, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x57, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x48, 0x12, 0x46, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x4f, 0xca, 0x41, 0x1b, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0xae, 0x02, 0xea, - 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, - 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x42, 0x11, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 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, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0x3b, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x1c, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1c, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x56, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1f, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, +// Request message for +// [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] +type ListHcxActivationKeysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud + // to be queried for HCX activation keys. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/privateClouds/my-cloud` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of HCX activation keys to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListHcxActivationKeys` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListHcxActivationKeys` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } -var ( - file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescOnce sync.Once - file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData = file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDesc -) +func (x *ListHcxActivationKeysRequest) Reset() { + *x = ListHcxActivationKeysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} -func file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP() []byte { - file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescOnce.Do(func() { - file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData) - }) - return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData +func (x *ListHcxActivationKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -var file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes = make([]protoimpl.MessageInfo, 49) -var file_google_cloud_vmwareengine_v1_vmwareengine_proto_goTypes = []interface{}{ - (*ListPrivateCloudsRequest)(nil), // 0: google.cloud.vmwareengine.v1.ListPrivateCloudsRequest - (*ListPrivateCloudsResponse)(nil), // 1: google.cloud.vmwareengine.v1.ListPrivateCloudsResponse - (*GetPrivateCloudRequest)(nil), // 2: google.cloud.vmwareengine.v1.GetPrivateCloudRequest - (*CreatePrivateCloudRequest)(nil), // 3: google.cloud.vmwareengine.v1.CreatePrivateCloudRequest - (*UpdatePrivateCloudRequest)(nil), // 4: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest - (*DeletePrivateCloudRequest)(nil), // 5: google.cloud.vmwareengine.v1.DeletePrivateCloudRequest - (*UndeletePrivateCloudRequest)(nil), // 6: google.cloud.vmwareengine.v1.UndeletePrivateCloudRequest - (*ListClustersRequest)(nil), // 7: google.cloud.vmwareengine.v1.ListClustersRequest - (*ListClustersResponse)(nil), // 8: google.cloud.vmwareengine.v1.ListClustersResponse - (*GetClusterRequest)(nil), // 9: google.cloud.vmwareengine.v1.GetClusterRequest - (*CreateClusterRequest)(nil), // 10: google.cloud.vmwareengine.v1.CreateClusterRequest - (*UpdateClusterRequest)(nil), // 11: google.cloud.vmwareengine.v1.UpdateClusterRequest - (*DeleteClusterRequest)(nil), // 12: google.cloud.vmwareengine.v1.DeleteClusterRequest - (*ListSubnetsRequest)(nil), // 13: google.cloud.vmwareengine.v1.ListSubnetsRequest - (*ListSubnetsResponse)(nil), // 14: google.cloud.vmwareengine.v1.ListSubnetsResponse - (*GetSubnetRequest)(nil), // 15: google.cloud.vmwareengine.v1.GetSubnetRequest - (*UpdateSubnetRequest)(nil), // 16: google.cloud.vmwareengine.v1.UpdateSubnetRequest - (*OperationMetadata)(nil), // 17: google.cloud.vmwareengine.v1.OperationMetadata - (*ListNodeTypesRequest)(nil), // 18: google.cloud.vmwareengine.v1.ListNodeTypesRequest - (*ListNodeTypesResponse)(nil), // 19: google.cloud.vmwareengine.v1.ListNodeTypesResponse - (*GetNodeTypeRequest)(nil), // 20: google.cloud.vmwareengine.v1.GetNodeTypeRequest - (*ShowNsxCredentialsRequest)(nil), // 21: google.cloud.vmwareengine.v1.ShowNsxCredentialsRequest - (*ShowVcenterCredentialsRequest)(nil), // 22: google.cloud.vmwareengine.v1.ShowVcenterCredentialsRequest - (*ResetNsxCredentialsRequest)(nil), // 23: google.cloud.vmwareengine.v1.ResetNsxCredentialsRequest - (*ResetVcenterCredentialsRequest)(nil), // 24: google.cloud.vmwareengine.v1.ResetVcenterCredentialsRequest - (*ListHcxActivationKeysResponse)(nil), // 25: google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse - (*ListHcxActivationKeysRequest)(nil), // 26: google.cloud.vmwareengine.v1.ListHcxActivationKeysRequest - (*GetHcxActivationKeyRequest)(nil), // 27: google.cloud.vmwareengine.v1.GetHcxActivationKeyRequest - (*CreateHcxActivationKeyRequest)(nil), // 28: google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest - (*ListNetworkPoliciesRequest)(nil), // 29: google.cloud.vmwareengine.v1.ListNetworkPoliciesRequest - (*ListNetworkPoliciesResponse)(nil), // 30: google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse - (*GetNetworkPolicyRequest)(nil), // 31: google.cloud.vmwareengine.v1.GetNetworkPolicyRequest - (*UpdateNetworkPolicyRequest)(nil), // 32: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest - (*CreateNetworkPolicyRequest)(nil), // 33: google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest - (*DeleteNetworkPolicyRequest)(nil), // 34: google.cloud.vmwareengine.v1.DeleteNetworkPolicyRequest - (*CreateVmwareEngineNetworkRequest)(nil), // 35: google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest - (*UpdateVmwareEngineNetworkRequest)(nil), // 36: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest - (*DeleteVmwareEngineNetworkRequest)(nil), // 37: google.cloud.vmwareengine.v1.DeleteVmwareEngineNetworkRequest - (*GetVmwareEngineNetworkRequest)(nil), // 38: google.cloud.vmwareengine.v1.GetVmwareEngineNetworkRequest - (*ListVmwareEngineNetworksRequest)(nil), // 39: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksRequest - (*ListVmwareEngineNetworksResponse)(nil), // 40: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse - (*CreatePrivateConnectionRequest)(nil), // 41: google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest - (*GetPrivateConnectionRequest)(nil), // 42: google.cloud.vmwareengine.v1.GetPrivateConnectionRequest - (*ListPrivateConnectionsRequest)(nil), // 43: google.cloud.vmwareengine.v1.ListPrivateConnectionsRequest - (*ListPrivateConnectionsResponse)(nil), // 44: google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse - (*UpdatePrivateConnectionRequest)(nil), // 45: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest - (*DeletePrivateConnectionRequest)(nil), // 46: google.cloud.vmwareengine.v1.DeletePrivateConnectionRequest - (*ListPrivateConnectionPeeringRoutesRequest)(nil), // 47: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesRequest - (*ListPrivateConnectionPeeringRoutesResponse)(nil), // 48: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse - (*PrivateCloud)(nil), // 49: google.cloud.vmwareengine.v1.PrivateCloud - (*fieldmaskpb.FieldMask)(nil), // 50: google.protobuf.FieldMask - (*Cluster)(nil), // 51: google.cloud.vmwareengine.v1.Cluster - (*Subnet)(nil), // 52: google.cloud.vmwareengine.v1.Subnet - (*timestamppb.Timestamp)(nil), // 53: google.protobuf.Timestamp - (*NodeType)(nil), // 54: google.cloud.vmwareengine.v1.NodeType - (*HcxActivationKey)(nil), // 55: google.cloud.vmwareengine.v1.HcxActivationKey - (*NetworkPolicy)(nil), // 56: google.cloud.vmwareengine.v1.NetworkPolicy - (*VmwareEngineNetwork)(nil), // 57: google.cloud.vmwareengine.v1.VmwareEngineNetwork - (*PrivateConnection)(nil), // 58: google.cloud.vmwareengine.v1.PrivateConnection - (*PeeringRoute)(nil), // 59: google.cloud.vmwareengine.v1.PeeringRoute - (*longrunningpb.Operation)(nil), // 60: google.longrunning.Operation - (*Credentials)(nil), // 61: google.cloud.vmwareengine.v1.Credentials +func (*ListHcxActivationKeysRequest) ProtoMessage() {} + +func (x *ListHcxActivationKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -var file_google_cloud_vmwareengine_v1_vmwareengine_proto_depIdxs = []int32{ - 49, // 0: google.cloud.vmwareengine.v1.ListPrivateCloudsResponse.private_clouds:type_name -> google.cloud.vmwareengine.v1.PrivateCloud - 49, // 1: google.cloud.vmwareengine.v1.CreatePrivateCloudRequest.private_cloud:type_name -> google.cloud.vmwareengine.v1.PrivateCloud - 49, // 2: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest.private_cloud:type_name -> google.cloud.vmwareengine.v1.PrivateCloud - 50, // 3: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest.update_mask:type_name -> google.protobuf.FieldMask - 51, // 4: google.cloud.vmwareengine.v1.ListClustersResponse.clusters:type_name -> google.cloud.vmwareengine.v1.Cluster - 51, // 5: google.cloud.vmwareengine.v1.CreateClusterRequest.cluster:type_name -> google.cloud.vmwareengine.v1.Cluster - 50, // 6: google.cloud.vmwareengine.v1.UpdateClusterRequest.update_mask:type_name -> google.protobuf.FieldMask - 51, // 7: google.cloud.vmwareengine.v1.UpdateClusterRequest.cluster:type_name -> google.cloud.vmwareengine.v1.Cluster - 52, // 8: google.cloud.vmwareengine.v1.ListSubnetsResponse.subnets:type_name -> google.cloud.vmwareengine.v1.Subnet - 50, // 9: google.cloud.vmwareengine.v1.UpdateSubnetRequest.update_mask:type_name -> google.protobuf.FieldMask - 52, // 10: google.cloud.vmwareengine.v1.UpdateSubnetRequest.subnet:type_name -> google.cloud.vmwareengine.v1.Subnet - 53, // 11: google.cloud.vmwareengine.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp - 53, // 12: google.cloud.vmwareengine.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp - 54, // 13: google.cloud.vmwareengine.v1.ListNodeTypesResponse.node_types:type_name -> google.cloud.vmwareengine.v1.NodeType - 55, // 14: google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse.hcx_activation_keys:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey - 55, // 15: google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest.hcx_activation_key:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey - 56, // 16: google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse.network_policies:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy - 56, // 17: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest.network_policy:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy - 50, // 18: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest.update_mask:type_name -> google.protobuf.FieldMask - 56, // 19: google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest.network_policy:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy - 57, // 20: google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest.vmware_engine_network:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork - 57, // 21: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest.vmware_engine_network:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork - 50, // 22: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest.update_mask:type_name -> google.protobuf.FieldMask - 57, // 23: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse.vmware_engine_networks:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork - 58, // 24: google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest.private_connection:type_name -> google.cloud.vmwareengine.v1.PrivateConnection - 58, // 25: google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse.private_connections:type_name -> google.cloud.vmwareengine.v1.PrivateConnection - 58, // 26: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest.private_connection:type_name -> google.cloud.vmwareengine.v1.PrivateConnection - 50, // 27: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest.update_mask:type_name -> google.protobuf.FieldMask - 59, // 28: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse.peering_routes:type_name -> google.cloud.vmwareengine.v1.PeeringRoute - 0, // 29: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds:input_type -> google.cloud.vmwareengine.v1.ListPrivateCloudsRequest - 2, // 30: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud:input_type -> google.cloud.vmwareengine.v1.GetPrivateCloudRequest - 3, // 31: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud:input_type -> google.cloud.vmwareengine.v1.CreatePrivateCloudRequest - 4, // 32: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud:input_type -> google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest - 5, // 33: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud:input_type -> google.cloud.vmwareengine.v1.DeletePrivateCloudRequest - 6, // 34: google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud:input_type -> google.cloud.vmwareengine.v1.UndeletePrivateCloudRequest - 7, // 35: google.cloud.vmwareengine.v1.VmwareEngine.ListClusters:input_type -> google.cloud.vmwareengine.v1.ListClustersRequest - 9, // 36: google.cloud.vmwareengine.v1.VmwareEngine.GetCluster:input_type -> google.cloud.vmwareengine.v1.GetClusterRequest - 10, // 37: google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster:input_type -> google.cloud.vmwareengine.v1.CreateClusterRequest - 11, // 38: google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster:input_type -> google.cloud.vmwareengine.v1.UpdateClusterRequest - 12, // 39: google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster:input_type -> google.cloud.vmwareengine.v1.DeleteClusterRequest - 13, // 40: google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets:input_type -> google.cloud.vmwareengine.v1.ListSubnetsRequest - 15, // 41: google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet:input_type -> google.cloud.vmwareengine.v1.GetSubnetRequest - 16, // 42: google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet:input_type -> google.cloud.vmwareengine.v1.UpdateSubnetRequest - 18, // 43: google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes:input_type -> google.cloud.vmwareengine.v1.ListNodeTypesRequest - 20, // 44: google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType:input_type -> google.cloud.vmwareengine.v1.GetNodeTypeRequest - 21, // 45: google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials:input_type -> google.cloud.vmwareengine.v1.ShowNsxCredentialsRequest - 22, // 46: google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials:input_type -> google.cloud.vmwareengine.v1.ShowVcenterCredentialsRequest - 23, // 47: google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials:input_type -> google.cloud.vmwareengine.v1.ResetNsxCredentialsRequest - 24, // 48: google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials:input_type -> google.cloud.vmwareengine.v1.ResetVcenterCredentialsRequest - 28, // 49: google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey:input_type -> google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest - 26, // 50: google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys:input_type -> google.cloud.vmwareengine.v1.ListHcxActivationKeysRequest - 27, // 51: google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey:input_type -> google.cloud.vmwareengine.v1.GetHcxActivationKeyRequest - 31, // 52: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.GetNetworkPolicyRequest - 29, // 53: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies:input_type -> google.cloud.vmwareengine.v1.ListNetworkPoliciesRequest - 33, // 54: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest - 32, // 55: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest - 34, // 56: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.DeleteNetworkPolicyRequest - 35, // 57: google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest - 36, // 58: google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest - 37, // 59: google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.DeleteVmwareEngineNetworkRequest - 38, // 60: google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.GetVmwareEngineNetworkRequest - 39, // 61: google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks:input_type -> google.cloud.vmwareengine.v1.ListVmwareEngineNetworksRequest - 41, // 62: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection:input_type -> google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest - 42, // 63: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection:input_type -> google.cloud.vmwareengine.v1.GetPrivateConnectionRequest - 43, // 64: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections:input_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionsRequest - 45, // 65: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection:input_type -> google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest - 46, // 66: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection:input_type -> google.cloud.vmwareengine.v1.DeletePrivateConnectionRequest - 47, // 67: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes:input_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesRequest - 1, // 68: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds:output_type -> google.cloud.vmwareengine.v1.ListPrivateCloudsResponse - 49, // 69: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud:output_type -> google.cloud.vmwareengine.v1.PrivateCloud - 60, // 70: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud:output_type -> google.longrunning.Operation - 60, // 71: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud:output_type -> google.longrunning.Operation - 60, // 72: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud:output_type -> google.longrunning.Operation - 60, // 73: google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud:output_type -> google.longrunning.Operation - 8, // 74: google.cloud.vmwareengine.v1.VmwareEngine.ListClusters:output_type -> google.cloud.vmwareengine.v1.ListClustersResponse - 51, // 75: google.cloud.vmwareengine.v1.VmwareEngine.GetCluster:output_type -> google.cloud.vmwareengine.v1.Cluster - 60, // 76: google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster:output_type -> google.longrunning.Operation - 60, // 77: google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster:output_type -> google.longrunning.Operation - 60, // 78: google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster:output_type -> google.longrunning.Operation - 14, // 79: google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets:output_type -> google.cloud.vmwareengine.v1.ListSubnetsResponse - 52, // 80: google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet:output_type -> google.cloud.vmwareengine.v1.Subnet - 60, // 81: google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet:output_type -> google.longrunning.Operation - 19, // 82: google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes:output_type -> google.cloud.vmwareengine.v1.ListNodeTypesResponse - 54, // 83: google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType:output_type -> google.cloud.vmwareengine.v1.NodeType - 61, // 84: google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials:output_type -> google.cloud.vmwareengine.v1.Credentials - 61, // 85: google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials:output_type -> google.cloud.vmwareengine.v1.Credentials - 60, // 86: google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials:output_type -> google.longrunning.Operation - 60, // 87: google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials:output_type -> google.longrunning.Operation - 60, // 88: google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey:output_type -> google.longrunning.Operation - 25, // 89: google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys:output_type -> google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse - 55, // 90: google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey:output_type -> google.cloud.vmwareengine.v1.HcxActivationKey - 56, // 91: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy:output_type -> google.cloud.vmwareengine.v1.NetworkPolicy - 30, // 92: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies:output_type -> google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse - 60, // 93: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy:output_type -> google.longrunning.Operation - 60, // 94: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy:output_type -> google.longrunning.Operation - 60, // 95: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy:output_type -> google.longrunning.Operation - 60, // 96: google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork:output_type -> google.longrunning.Operation - 60, // 97: google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork:output_type -> google.longrunning.Operation - 60, // 98: google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork:output_type -> google.longrunning.Operation - 57, // 99: google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork:output_type -> google.cloud.vmwareengine.v1.VmwareEngineNetwork - 40, // 100: google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks:output_type -> google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse - 60, // 101: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection:output_type -> google.longrunning.Operation - 58, // 102: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection:output_type -> google.cloud.vmwareengine.v1.PrivateConnection - 44, // 103: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections:output_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse - 60, // 104: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection:output_type -> google.longrunning.Operation - 60, // 105: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection:output_type -> google.longrunning.Operation - 48, // 106: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes:output_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse - 68, // [68:107] is the sub-list for method output_type - 29, // [29:68] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + +// Deprecated: Use ListHcxActivationKeysRequest.ProtoReflect.Descriptor instead. +func (*ListHcxActivationKeysRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{49} } -func init() { file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() } -func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { - if File_google_cloud_vmwareengine_v1_vmwareengine_proto != nil { - return +func (x *ListHcxActivationKeysRequest) GetParent() string { + if x != nil { + return x.Parent } - file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() - if !protoimpl.UnsafeEnabled { - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPrivateCloudsRequest); i { + return "" +} + +func (x *ListHcxActivationKeysRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListHcxActivationKeysRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Request message for [VmwareEngine.GetHcxActivationKeys][] +type GetHcxActivationKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the HCX activation key to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/privateClouds/my-cloud/hcxActivationKeys/my-key` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetHcxActivationKeyRequest) Reset() { + *x = GetHcxActivationKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHcxActivationKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHcxActivationKeyRequest) ProtoMessage() {} + +func (x *GetHcxActivationKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHcxActivationKeyRequest.ProtoReflect.Descriptor instead. +func (*GetHcxActivationKeyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{50} +} + +func (x *GetHcxActivationKeyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.CreateHcxActivationKey][google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey] +type CreateHcxActivationKeyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud to create the key for. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/privateClouds/my-cloud` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The initial description of a new HCX activation key. When + // creating a new key, this field must be an empty object. + HcxActivationKey *HcxActivationKey `protobuf:"bytes,2,opt,name=hcx_activation_key,json=hcxActivationKey,proto3" json:"hcx_activation_key,omitempty"` + // Required. The user-provided identifier of the `HcxActivationKey` to be + // created. This identifier must be unique among `HcxActivationKey` resources + // within the parent and becomes the final token in the name URI. + // The identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + HcxActivationKeyId string `protobuf:"bytes,3,opt,name=hcx_activation_key_id,json=hcxActivationKeyId,proto3" json:"hcx_activation_key_id,omitempty"` + // A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateHcxActivationKeyRequest) Reset() { + *x = CreateHcxActivationKeyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateHcxActivationKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateHcxActivationKeyRequest) ProtoMessage() {} + +func (x *CreateHcxActivationKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateHcxActivationKeyRequest.ProtoReflect.Descriptor instead. +func (*CreateHcxActivationKeyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{51} +} + +func (x *CreateHcxActivationKeyRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateHcxActivationKeyRequest) GetHcxActivationKey() *HcxActivationKey { + if x != nil { + return x.HcxActivationKey + } + return nil +} + +func (x *CreateHcxActivationKeyRequest) GetHcxActivationKeyId() string { + if x != nil { + return x.HcxActivationKeyId + } + return "" +} + +func (x *CreateHcxActivationKeyRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.GetDnsForwarding][google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding] +type GetDnsForwardingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of a `DnsForwarding` to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetDnsForwardingRequest) Reset() { + *x = GetDnsForwardingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDnsForwardingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDnsForwardingRequest) ProtoMessage() {} + +func (x *GetDnsForwardingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDnsForwardingRequest.ProtoReflect.Descriptor instead. +func (*GetDnsForwardingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{52} +} + +func (x *GetDnsForwardingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.UpdateDnsForwarding][google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding] +type UpdateDnsForwardingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. DnsForwarding config details. + DnsForwarding *DnsForwarding `protobuf:"bytes,1,opt,name=dns_forwarding,json=dnsForwarding,proto3" json:"dns_forwarding,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `DnsForwarding` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateDnsForwardingRequest) Reset() { + *x = UpdateDnsForwardingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDnsForwardingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDnsForwardingRequest) ProtoMessage() {} + +func (x *UpdateDnsForwardingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDnsForwardingRequest.ProtoReflect.Descriptor instead. +func (*UpdateDnsForwardingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{53} +} + +func (x *UpdateDnsForwardingRequest) GetDnsForwarding() *DnsForwarding { + if x != nil { + return x.DnsForwarding + } + return nil +} + +func (x *UpdateDnsForwardingRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateDnsForwardingRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.CreateNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering] +type CreateNetworkPeeringRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to create the new network + // peering in. This value is always `global`, because `NetworkPeering` is a + // global resource. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: `projects/my-project/locations/global` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The user-provided identifier of the new `NetworkPeering`. + // This identifier must be unique among `NetworkPeering` resources within the + // parent and becomes the final token in the name URI. + // The identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + NetworkPeeringId string `protobuf:"bytes,2,opt,name=network_peering_id,json=networkPeeringId,proto3" json:"network_peering_id,omitempty"` + // Required. The initial description of the new network peering. + NetworkPeering *NetworkPeering `protobuf:"bytes,3,opt,name=network_peering,json=networkPeering,proto3" json:"network_peering,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateNetworkPeeringRequest) Reset() { + *x = CreateNetworkPeeringRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkPeeringRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkPeeringRequest) ProtoMessage() {} + +func (x *CreateNetworkPeeringRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNetworkPeeringRequest.ProtoReflect.Descriptor instead. +func (*CreateNetworkPeeringRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{54} +} + +func (x *CreateNetworkPeeringRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNetworkPeeringRequest) GetNetworkPeeringId() string { + if x != nil { + return x.NetworkPeeringId + } + return "" +} + +func (x *CreateNetworkPeeringRequest) GetNetworkPeering() *NetworkPeering { + if x != nil { + return x.NetworkPeering + } + return nil +} + +func (x *CreateNetworkPeeringRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.DeleteNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering] +type DeleteNetworkPeeringRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network peering to be deleted. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/global/networkPeerings/my-peering` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteNetworkPeeringRequest) Reset() { + *x = DeleteNetworkPeeringRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNetworkPeeringRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNetworkPeeringRequest) ProtoMessage() {} + +func (x *DeleteNetworkPeeringRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNetworkPeeringRequest.ProtoReflect.Descriptor instead. +func (*DeleteNetworkPeeringRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{55} +} + +func (x *DeleteNetworkPeeringRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteNetworkPeeringRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.GetNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering] +type GetNetworkPeeringRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network peering to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/global/networkPeerings/my-peering` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNetworkPeeringRequest) Reset() { + *x = GetNetworkPeeringRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNetworkPeeringRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNetworkPeeringRequest) ProtoMessage() {} + +func (x *GetNetworkPeeringRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNetworkPeeringRequest.ProtoReflect.Descriptor instead. +func (*GetNetworkPeeringRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{56} +} + +func (x *GetNetworkPeeringRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.ListNetworkPeerings][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings] +type ListNetworkPeeringsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location (global) to query for + // network peerings. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: `projects/my-project/locations/global` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of network peerings to return in one page. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListNetworkPeerings` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListNetworkPeerings` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of network peerings, you can + // exclude the ones named `example-peering` by specifying + // `name != "example-peering"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-peering") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-peering-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-peering-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNetworkPeeringsRequest) Reset() { + *x = ListNetworkPeeringsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkPeeringsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkPeeringsRequest) ProtoMessage() {} + +func (x *ListNetworkPeeringsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNetworkPeeringsRequest.ProtoReflect.Descriptor instead. +func (*ListNetworkPeeringsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{57} +} + +func (x *ListNetworkPeeringsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNetworkPeeringsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNetworkPeeringsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNetworkPeeringsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNetworkPeeringsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Request message for +// [VmwareEngine.UpdateNetworkPeering][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering] +type UpdateNetworkPeeringRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Network peering description. + NetworkPeering *NetworkPeering `protobuf:"bytes,1,opt,name=network_peering,json=networkPeering,proto3" json:"network_peering,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `NetworkPeering` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateNetworkPeeringRequest) Reset() { + *x = UpdateNetworkPeeringRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkPeeringRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkPeeringRequest) ProtoMessage() {} + +func (x *UpdateNetworkPeeringRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNetworkPeeringRequest.ProtoReflect.Descriptor instead. +func (*UpdateNetworkPeeringRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{58} +} + +func (x *UpdateNetworkPeeringRequest) GetNetworkPeering() *NetworkPeering { + if x != nil { + return x.NetworkPeering + } + return nil +} + +func (x *UpdateNetworkPeeringRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateNetworkPeeringRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Response message for +// [VmwareEngine.ListNetworkPeerings][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings] +type ListNetworkPeeringsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of network peerings. + NetworkPeerings []*NetworkPeering `protobuf:"bytes,1,rep,name=network_peerings,json=networkPeerings,proto3" json:"network_peerings,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListNetworkPeeringsResponse) Reset() { + *x = ListNetworkPeeringsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkPeeringsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkPeeringsResponse) ProtoMessage() {} + +func (x *ListNetworkPeeringsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNetworkPeeringsResponse.ProtoReflect.Descriptor instead. +func (*ListNetworkPeeringsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{59} +} + +func (x *ListNetworkPeeringsResponse) GetNetworkPeerings() []*NetworkPeering { + if x != nil { + return x.NetworkPeerings + } + return nil +} + +func (x *ListNetworkPeeringsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListNetworkPeeringsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [VmwareEngine.ListPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes] +type ListPeeringRoutesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network peering to retrieve peering + // routes from. Resource names are schemeless URIs that follow the conventions + // in https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global/networkPeerings/my-peering` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of peering routes to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListPeeringRoutes` call. + // Provide this to retrieve the subsequent page. + // When paginating, all other parameters provided to `ListPeeringRoutes` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // Currently, only filtering on the `direction` field is supported. To return + // routes imported from the peer network, provide "direction=INCOMING". To + // return routes exported from the VMware Engine network, provide + // "direction=OUTGOING". Other filter expressions return an error. + Filter string `protobuf:"bytes,6,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ListPeeringRoutesRequest) Reset() { + *x = ListPeeringRoutesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeeringRoutesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeeringRoutesRequest) ProtoMessage() {} + +func (x *ListPeeringRoutesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPeeringRoutesRequest.ProtoReflect.Descriptor instead. +func (*ListPeeringRoutesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{60} +} + +func (x *ListPeeringRoutesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPeeringRoutesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPeeringRoutesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListPeeringRoutesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Response message for +// [VmwareEngine.ListPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes] +type ListPeeringRoutesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of peering routes. + PeeringRoutes []*PeeringRoute `protobuf:"bytes,1,rep,name=peering_routes,json=peeringRoutes,proto3" json:"peering_routes,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPeeringRoutesResponse) Reset() { + *x = ListPeeringRoutesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPeeringRoutesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPeeringRoutesResponse) ProtoMessage() {} + +func (x *ListPeeringRoutesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPeeringRoutesResponse.ProtoReflect.Descriptor instead. +func (*ListPeeringRoutesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{61} +} + +func (x *ListPeeringRoutesResponse) GetPeeringRoutes() []*PeeringRoute { + if x != nil { + return x.PeeringRoutes + } + return nil +} + +func (x *ListPeeringRoutesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] +type ListNetworkPoliciesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location (region) to query for + // network policies. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: `projects/my-project/locations/us-central1` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of network policies to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListNetworkPolicies` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListNetworkPolicies` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of network policies, you can + // exclude the ones named `example-policy` by specifying + // `name != "example-policy"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-policy") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-policy-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-policy-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListNetworkPoliciesRequest) Reset() { + *x = ListNetworkPoliciesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkPoliciesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkPoliciesRequest) ProtoMessage() {} + +func (x *ListNetworkPoliciesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNetworkPoliciesRequest.ProtoReflect.Descriptor instead. +func (*ListNetworkPoliciesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{62} +} + +func (x *ListNetworkPoliciesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNetworkPoliciesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNetworkPoliciesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListNetworkPoliciesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNetworkPoliciesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] +type ListNetworkPoliciesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of network policies. + NetworkPolicies []*NetworkPolicy `protobuf:"bytes,1,rep,name=network_policies,json=networkPolicies,proto3" json:"network_policies,omitempty"` + // A token, which can be send as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached when making an aggregated query using + // wildcards. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListNetworkPoliciesResponse) Reset() { + *x = ListNetworkPoliciesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkPoliciesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkPoliciesResponse) ProtoMessage() {} + +func (x *ListNetworkPoliciesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNetworkPoliciesResponse.ProtoReflect.Descriptor instead. +func (*ListNetworkPoliciesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{63} +} + +func (x *ListNetworkPoliciesResponse) GetNetworkPolicies() []*NetworkPolicy { + if x != nil { + return x.NetworkPolicies + } + return nil +} + +func (x *ListNetworkPoliciesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListNetworkPoliciesResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [VmwareEngine.GetNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy] +type GetNetworkPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network policy to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNetworkPolicyRequest) Reset() { + *x = GetNetworkPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNetworkPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNetworkPolicyRequest) ProtoMessage() {} + +func (x *GetNetworkPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNetworkPolicyRequest.ProtoReflect.Descriptor instead. +func (*GetNetworkPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{64} +} + +func (x *GetNetworkPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.UpdateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy] +type UpdateNetworkPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Network policy description. + NetworkPolicy *NetworkPolicy `protobuf:"bytes,1,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `NetworkPolicy` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateNetworkPolicyRequest) Reset() { + *x = UpdateNetworkPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNetworkPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNetworkPolicyRequest) ProtoMessage() {} + +func (x *UpdateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNetworkPolicyRequest.ProtoReflect.Descriptor instead. +func (*UpdateNetworkPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{65} +} + +func (x *UpdateNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy { + if x != nil { + return x.NetworkPolicy + } + return nil +} + +func (x *UpdateNetworkPolicyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateNetworkPolicyRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.CreateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy] +type CreateNetworkPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location (region) + // to create the new network policy in. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The user-provided identifier of the network policy to be created. + // This identifier must be unique within parent + // `projects/{my-project}/locations/{us-central1}/networkPolicies` and becomes + // the final token in the name URI. + // The identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + NetworkPolicyId string `protobuf:"bytes,2,opt,name=network_policy_id,json=networkPolicyId,proto3" json:"network_policy_id,omitempty"` + // Required. The network policy configuration to use in the request. + NetworkPolicy *NetworkPolicy `protobuf:"bytes,3,opt,name=network_policy,json=networkPolicy,proto3" json:"network_policy,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateNetworkPolicyRequest) Reset() { + *x = CreateNetworkPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNetworkPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNetworkPolicyRequest) ProtoMessage() {} + +func (x *CreateNetworkPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNetworkPolicyRequest.ProtoReflect.Descriptor instead. +func (*CreateNetworkPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{66} +} + +func (x *CreateNetworkPolicyRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNetworkPolicyRequest) GetNetworkPolicyId() string { + if x != nil { + return x.NetworkPolicyId + } + return "" +} + +func (x *CreateNetworkPolicyRequest) GetNetworkPolicy() *NetworkPolicy { + if x != nil { + return x.NetworkPolicy + } + return nil +} + +func (x *CreateNetworkPolicyRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.DeleteNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy] +type DeleteNetworkPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the network policy to delete. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteNetworkPolicyRequest) Reset() { + *x = DeleteNetworkPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNetworkPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNetworkPolicyRequest) ProtoMessage() {} + +func (x *DeleteNetworkPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNetworkPolicyRequest.ProtoReflect.Descriptor instead. +func (*DeleteNetworkPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{67} +} + +func (x *DeleteNetworkPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteNetworkPolicyRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.ListManagementDnsZoneBindings][google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings] +type ListManagementDnsZoneBindingsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud to be queried for + // management DNS zone bindings. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of management DNS zone bindings to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListManagementDnsZoneBindings` + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListManagementDnsZoneBindings` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of Management DNS Zone Bindings, + // you can exclude the ones named `example-management-dns-zone-binding` by + // specifying `name != "example-management-dns-zone-binding"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-management-dns-zone-binding") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-management-dns-zone-binding-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-management-dns-zone-binding-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListManagementDnsZoneBindingsRequest) Reset() { + *x = ListManagementDnsZoneBindingsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListManagementDnsZoneBindingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListManagementDnsZoneBindingsRequest) ProtoMessage() {} + +func (x *ListManagementDnsZoneBindingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListManagementDnsZoneBindingsRequest.ProtoReflect.Descriptor instead. +func (*ListManagementDnsZoneBindingsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{68} +} + +func (x *ListManagementDnsZoneBindingsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListManagementDnsZoneBindingsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListManagementDnsZoneBindingsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListManagementDnsZoneBindingsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListManagementDnsZoneBindingsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [VmwareEngine.ListManagementDnsZoneBindings][google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings] +type ListManagementDnsZoneBindingsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of management DNS zone bindings. + ManagementDnsZoneBindings []*ManagementDnsZoneBinding `protobuf:"bytes,1,rep,name=management_dns_zone_bindings,json=managementDnsZoneBindings,proto3" json:"management_dns_zone_bindings,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached when making an aggregated query using + // wildcards. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListManagementDnsZoneBindingsResponse) Reset() { + *x = ListManagementDnsZoneBindingsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListManagementDnsZoneBindingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListManagementDnsZoneBindingsResponse) ProtoMessage() {} + +func (x *ListManagementDnsZoneBindingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListManagementDnsZoneBindingsResponse.ProtoReflect.Descriptor instead. +func (*ListManagementDnsZoneBindingsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{69} +} + +func (x *ListManagementDnsZoneBindingsResponse) GetManagementDnsZoneBindings() []*ManagementDnsZoneBinding { + if x != nil { + return x.ManagementDnsZoneBindings + } + return nil +} + +func (x *ListManagementDnsZoneBindingsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListManagementDnsZoneBindingsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [VmwareEngine.GetManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding] +type GetManagementDnsZoneBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the management DNS zone binding to + // retrieve. Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetManagementDnsZoneBindingRequest) Reset() { + *x = GetManagementDnsZoneBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetManagementDnsZoneBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetManagementDnsZoneBindingRequest) ProtoMessage() {} + +func (x *GetManagementDnsZoneBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetManagementDnsZoneBindingRequest.ProtoReflect.Descriptor instead. +func (*GetManagementDnsZoneBindingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{70} +} + +func (x *GetManagementDnsZoneBindingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [VmwareEngine.CreateManagementDnsZoneBindings][] +type CreateManagementDnsZoneBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private cloud + // to create a new management DNS zone binding for. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The initial values for a new management DNS zone binding. + ManagementDnsZoneBinding *ManagementDnsZoneBinding `protobuf:"bytes,2,opt,name=management_dns_zone_binding,json=managementDnsZoneBinding,proto3" json:"management_dns_zone_binding,omitempty"` + // Required. The user-provided identifier of the `ManagementDnsZoneBinding` + // resource to be created. This identifier must be unique among + // `ManagementDnsZoneBinding` resources within the parent and becomes the + // final token in the name URI. The identifier must meet the following + // requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + ManagementDnsZoneBindingId string `protobuf:"bytes,3,opt,name=management_dns_zone_binding_id,json=managementDnsZoneBindingId,proto3" json:"management_dns_zone_binding_id,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateManagementDnsZoneBindingRequest) Reset() { + *x = CreateManagementDnsZoneBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateManagementDnsZoneBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateManagementDnsZoneBindingRequest) ProtoMessage() {} + +func (x *CreateManagementDnsZoneBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateManagementDnsZoneBindingRequest.ProtoReflect.Descriptor instead. +func (*CreateManagementDnsZoneBindingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{71} +} + +func (x *CreateManagementDnsZoneBindingRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateManagementDnsZoneBindingRequest) GetManagementDnsZoneBinding() *ManagementDnsZoneBinding { + if x != nil { + return x.ManagementDnsZoneBinding + } + return nil +} + +func (x *CreateManagementDnsZoneBindingRequest) GetManagementDnsZoneBindingId() string { + if x != nil { + return x.ManagementDnsZoneBindingId + } + return "" +} + +func (x *CreateManagementDnsZoneBindingRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.UpdateManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding] +type UpdateManagementDnsZoneBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // `ManagementDnsZoneBinding` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. New values to update the management DNS zone binding with. + ManagementDnsZoneBinding *ManagementDnsZoneBinding `protobuf:"bytes,2,opt,name=management_dns_zone_binding,json=managementDnsZoneBinding,proto3" json:"management_dns_zone_binding,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateManagementDnsZoneBindingRequest) Reset() { + *x = UpdateManagementDnsZoneBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateManagementDnsZoneBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateManagementDnsZoneBindingRequest) ProtoMessage() {} + +func (x *UpdateManagementDnsZoneBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateManagementDnsZoneBindingRequest.ProtoReflect.Descriptor instead. +func (*UpdateManagementDnsZoneBindingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{72} +} + +func (x *UpdateManagementDnsZoneBindingRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateManagementDnsZoneBindingRequest) GetManagementDnsZoneBinding() *ManagementDnsZoneBinding { + if x != nil { + return x.ManagementDnsZoneBinding + } + return nil +} + +func (x *UpdateManagementDnsZoneBindingRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.DeleteManagementDnsZoneBinding][google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding] +type DeleteManagementDnsZoneBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the management DNS zone binding to delete. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if the original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteManagementDnsZoneBindingRequest) Reset() { + *x = DeleteManagementDnsZoneBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteManagementDnsZoneBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteManagementDnsZoneBindingRequest) ProtoMessage() {} + +func (x *DeleteManagementDnsZoneBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteManagementDnsZoneBindingRequest.ProtoReflect.Descriptor instead. +func (*DeleteManagementDnsZoneBindingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{73} +} + +func (x *DeleteManagementDnsZoneBindingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteManagementDnsZoneBindingRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for [VmwareEngine.RepairManagementDnsZoneBindings][] +type RepairManagementDnsZoneBindingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the management DNS zone binding to repair. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if the original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *RepairManagementDnsZoneBindingRequest) Reset() { + *x = RepairManagementDnsZoneBindingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepairManagementDnsZoneBindingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepairManagementDnsZoneBindingRequest) ProtoMessage() {} + +func (x *RepairManagementDnsZoneBindingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepairManagementDnsZoneBindingRequest.ProtoReflect.Descriptor instead. +func (*RepairManagementDnsZoneBindingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{74} +} + +func (x *RepairManagementDnsZoneBindingRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RepairManagementDnsZoneBindingRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.CreateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork] +type CreateVmwareEngineNetworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to create the new VMware Engine + // network in. A VMware Engine network of type + // `LEGACY` is a regional resource, and a VMware + // Engine network of type `STANDARD` is a global resource. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The user-provided identifier of the new VMware Engine network. + // This identifier must be unique among VMware Engine network resources + // within the parent and becomes the final token in the name URI. The + // identifier must meet the following requirements: + // + // * For networks of type LEGACY, adheres to the format: + // `{region-id}-default`. Replace `{region-id}` with the region where you want + // to create the VMware Engine network. For example, "us-central1-default". + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + VmwareEngineNetworkId string `protobuf:"bytes,2,opt,name=vmware_engine_network_id,json=vmwareEngineNetworkId,proto3" json:"vmware_engine_network_id,omitempty"` + // Required. The initial description of the new VMware Engine network. + VmwareEngineNetwork *VmwareEngineNetwork `protobuf:"bytes,3,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateVmwareEngineNetworkRequest) Reset() { + *x = CreateVmwareEngineNetworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateVmwareEngineNetworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateVmwareEngineNetworkRequest) ProtoMessage() {} + +func (x *CreateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. +func (*CreateVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{75} +} + +func (x *CreateVmwareEngineNetworkRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateVmwareEngineNetworkRequest) GetVmwareEngineNetworkId() string { + if x != nil { + return x.VmwareEngineNetworkId + } + return "" +} + +func (x *CreateVmwareEngineNetworkRequest) GetVmwareEngineNetwork() *VmwareEngineNetwork { + if x != nil { + return x.VmwareEngineNetwork + } + return nil +} + +func (x *CreateVmwareEngineNetworkRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.UpdateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork] +type UpdateVmwareEngineNetworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. VMware Engine network description. + VmwareEngineNetwork *VmwareEngineNetwork `protobuf:"bytes,1,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // VMware Engine network resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. Only the + // following fields can be updated: `description`. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateVmwareEngineNetworkRequest) Reset() { + *x = UpdateVmwareEngineNetworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateVmwareEngineNetworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateVmwareEngineNetworkRequest) ProtoMessage() {} + +func (x *UpdateVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. +func (*UpdateVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{76} +} + +func (x *UpdateVmwareEngineNetworkRequest) GetVmwareEngineNetwork() *VmwareEngineNetwork { + if x != nil { + return x.VmwareEngineNetwork + } + return nil +} + +func (x *UpdateVmwareEngineNetworkRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateVmwareEngineNetworkRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.DeleteVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork] +type DeleteVmwareEngineNetworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the VMware Engine network to be deleted. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Optional. Checksum used to ensure that the user-provided value is up to + // date before the server processes the request. The server compares provided + // checksum with the current checksum of the resource. If the user-provided + // value is out of date, this request returns an `ABORTED` error. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteVmwareEngineNetworkRequest) Reset() { + *x = DeleteVmwareEngineNetworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteVmwareEngineNetworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteVmwareEngineNetworkRequest) ProtoMessage() {} + +func (x *DeleteVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. +func (*DeleteVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{77} +} + +func (x *DeleteVmwareEngineNetworkRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteVmwareEngineNetworkRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *DeleteVmwareEngineNetworkRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [VmwareEngine.GetVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork] +type GetVmwareEngineNetworkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the VMware Engine network to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetVmwareEngineNetworkRequest) Reset() { + *x = GetVmwareEngineNetworkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVmwareEngineNetworkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVmwareEngineNetworkRequest) ProtoMessage() {} + +func (x *GetVmwareEngineNetworkRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVmwareEngineNetworkRequest.ProtoReflect.Descriptor instead. +func (*GetVmwareEngineNetworkRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{78} +} + +func (x *GetVmwareEngineNetworkRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] +type ListVmwareEngineNetworksRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to query for + // VMware Engine networks. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: `projects/my-project/locations/global` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of results to return in one page. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListVmwareEngineNetworks` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListVmwareEngineNetworks` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of network peerings, you can + // exclude the ones named `example-network` by specifying + // `name != "example-network"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-network") + // (createTime > "2021-04-12T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-network-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-network-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListVmwareEngineNetworksRequest) Reset() { + *x = ListVmwareEngineNetworksRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListVmwareEngineNetworksRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListVmwareEngineNetworksRequest) ProtoMessage() {} + +func (x *ListVmwareEngineNetworksRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListVmwareEngineNetworksRequest.ProtoReflect.Descriptor instead. +func (*ListVmwareEngineNetworksRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{79} +} + +func (x *ListVmwareEngineNetworksRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListVmwareEngineNetworksRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListVmwareEngineNetworksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListVmwareEngineNetworksRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListVmwareEngineNetworksRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] +type ListVmwareEngineNetworksResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of VMware Engine networks. + VmwareEngineNetworks []*VmwareEngineNetwork `protobuf:"bytes,1,rep,name=vmware_engine_networks,json=vmwareEngineNetworks,proto3" json:"vmware_engine_networks,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListVmwareEngineNetworksResponse) Reset() { + *x = ListVmwareEngineNetworksResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListVmwareEngineNetworksResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListVmwareEngineNetworksResponse) ProtoMessage() {} + +func (x *ListVmwareEngineNetworksResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListVmwareEngineNetworksResponse.ProtoReflect.Descriptor instead. +func (*ListVmwareEngineNetworksResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{80} +} + +func (x *ListVmwareEngineNetworksResponse) GetVmwareEngineNetworks() []*VmwareEngineNetwork { + if x != nil { + return x.VmwareEngineNetworks + } + return nil +} + +func (x *ListVmwareEngineNetworksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListVmwareEngineNetworksResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [VmwareEngine.CreatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection] +type CreatePrivateConnectionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to create the new private + // connection in. Private connection is a regional resource. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/us-central1` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The user-provided identifier of the new private connection. + // This identifier must be unique among private connection resources + // within the parent and becomes the final token in the name URI. The + // identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) + // (section 3.5) + PrivateConnectionId string `protobuf:"bytes,2,opt,name=private_connection_id,json=privateConnectionId,proto3" json:"private_connection_id,omitempty"` + // Required. The initial description of the new private connection. + PrivateConnection *PrivateConnection `protobuf:"bytes,3,opt,name=private_connection,json=privateConnection,proto3" json:"private_connection,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreatePrivateConnectionRequest) Reset() { + *x = CreatePrivateConnectionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePrivateConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePrivateConnectionRequest) ProtoMessage() {} + +func (x *CreatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePrivateConnectionRequest.ProtoReflect.Descriptor instead. +func (*CreatePrivateConnectionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{81} +} + +func (x *CreatePrivateConnectionRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreatePrivateConnectionRequest) GetPrivateConnectionId() string { + if x != nil { + return x.PrivateConnectionId + } + return "" +} + +func (x *CreatePrivateConnectionRequest) GetPrivateConnection() *PrivateConnection { + if x != nil { + return x.PrivateConnection + } + return nil +} + +func (x *CreatePrivateConnectionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.GetPrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection] +type GetPrivateConnectionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private connection to retrieve. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/privateConnections/my-connection` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetPrivateConnectionRequest) Reset() { + *x = GetPrivateConnectionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPrivateConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPrivateConnectionRequest) ProtoMessage() {} + +func (x *GetPrivateConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPrivateConnectionRequest.ProtoReflect.Descriptor instead. +func (*GetPrivateConnectionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{82} +} + +func (x *GetPrivateConnectionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] +type ListPrivateConnectionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to query for + // private connections. Resource names are schemeless URIs that follow the + // conventions in https://cloud.google.com/apis/design/resource_names. For + // example: `projects/my-project/locations/us-central1` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of private connections to return in one page. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListPrivateConnections` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // `ListPrivateConnections` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter expression that matches resources returned in the response. + // The expression must specify the field name, a comparison + // operator, and the value that you want to use for filtering. The value + // must be a string, a number, or a boolean. The comparison operator + // must be `=`, `!=`, `>`, or `<`. + // + // For example, if you are filtering a list of private connections, you can + // exclude the ones named `example-connection` by specifying + // `name != "example-connection"`. + // + // To filter on multiple expressions, provide each separate expression within + // parentheses. For example: + // ``` + // (name = "example-connection") + // (createTime > "2022-09-22T08:15:10.40Z") + // ``` + // + // By default, each expression is an `AND` expression. However, you + // can include `AND` and `OR` expressions explicitly. + // For example: + // ``` + // (name = "example-connection-1") AND + // (createTime > "2021-04-12T08:15:10.40Z") OR + // (name = "example-connection-2") + // ``` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Sorts list results by a certain order. By default, returned results + // are ordered by `name` in ascending order. + // You can also sort results in descending order based on the `name` value + // using `orderBy="name desc"`. + // Currently, only ordering by `name` is supported. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListPrivateConnectionsRequest) Reset() { + *x = ListPrivateConnectionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPrivateConnectionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivateConnectionsRequest) ProtoMessage() {} + +func (x *ListPrivateConnectionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivateConnectionsRequest.ProtoReflect.Descriptor instead. +func (*ListPrivateConnectionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{83} +} + +func (x *ListPrivateConnectionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPrivateConnectionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPrivateConnectionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListPrivateConnectionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListPrivateConnectionsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [VmwareEngine.ListPrivateConnections][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections] +type ListPrivateConnectionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of private connections. + PrivateConnections []*PrivateConnection `protobuf:"bytes,1,rep,name=private_connections,json=privateConnections,proto3" json:"private_connections,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unreachable resources. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListPrivateConnectionsResponse) Reset() { + *x = ListPrivateConnectionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPrivateConnectionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivateConnectionsResponse) ProtoMessage() {} + +func (x *ListPrivateConnectionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivateConnectionsResponse.ProtoReflect.Descriptor instead. +func (*ListPrivateConnectionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{84} +} + +func (x *ListPrivateConnectionsResponse) GetPrivateConnections() []*PrivateConnection { + if x != nil { + return x.PrivateConnections + } + return nil +} + +func (x *ListPrivateConnectionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListPrivateConnectionsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [VmwareEngine.UpdatePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection] +type UpdatePrivateConnectionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Private connection description. + PrivateConnection *PrivateConnection `protobuf:"bytes,1,opt,name=private_connection,json=privateConnection,proto3" json:"private_connection,omitempty"` + // Required. Field mask is used to specify the fields to be overwritten in the + // `PrivateConnection` resource by the update. + // The fields specified in the `update_mask` are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdatePrivateConnectionRequest) Reset() { + *x = UpdatePrivateConnectionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePrivateConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePrivateConnectionRequest) ProtoMessage() {} + +func (x *UpdatePrivateConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePrivateConnectionRequest.ProtoReflect.Descriptor instead. +func (*UpdatePrivateConnectionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{85} +} + +func (x *UpdatePrivateConnectionRequest) GetPrivateConnection() *PrivateConnection { + if x != nil { + return x.PrivateConnection + } + return nil +} + +func (x *UpdatePrivateConnectionRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdatePrivateConnectionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.DeletePrivateConnection][google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection] +type DeletePrivateConnectionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private connection to be deleted. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1/privateConnections/my-connection` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeletePrivateConnectionRequest) Reset() { + *x = DeletePrivateConnectionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeletePrivateConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePrivateConnectionRequest) ProtoMessage() {} + +func (x *DeletePrivateConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePrivateConnectionRequest.ProtoReflect.Descriptor instead. +func (*DeletePrivateConnectionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{86} +} + +func (x *DeletePrivateConnectionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeletePrivateConnectionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] +type ListPrivateConnectionPeeringRoutesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the private connection to retrieve peering + // routes from. Resource names are schemeless URIs that follow the conventions + // in https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/us-west1/privateConnections/my-connection` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of peering routes to return in one page. + // The service may return fewer than this value. + // The maximum value is coerced to 1000. + // The default value of this field is 500. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token, received from a previous `ListPrivateConnectionPeeringRoutes` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListPrivateConnectionPeeringRoutes` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListPrivateConnectionPeeringRoutesRequest) Reset() { + *x = ListPrivateConnectionPeeringRoutesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPrivateConnectionPeeringRoutesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivateConnectionPeeringRoutesRequest) ProtoMessage() {} + +func (x *ListPrivateConnectionPeeringRoutesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivateConnectionPeeringRoutesRequest.ProtoReflect.Descriptor instead. +func (*ListPrivateConnectionPeeringRoutesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{87} +} + +func (x *ListPrivateConnectionPeeringRoutesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPrivateConnectionPeeringRoutesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPrivateConnectionPeeringRoutesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response message for +// [VmwareEngine.ListPrivateConnectionPeeringRoutes][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes] +type ListPrivateConnectionPeeringRoutesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of peering routes. + PeeringRoutes []*PeeringRoute `protobuf:"bytes,1,rep,name=peering_routes,json=peeringRoutes,proto3" json:"peering_routes,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPrivateConnectionPeeringRoutesResponse) Reset() { + *x = ListPrivateConnectionPeeringRoutesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPrivateConnectionPeeringRoutesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivateConnectionPeeringRoutesResponse) ProtoMessage() {} + +func (x *ListPrivateConnectionPeeringRoutesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivateConnectionPeeringRoutesResponse.ProtoReflect.Descriptor instead. +func (*ListPrivateConnectionPeeringRoutesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{88} +} + +func (x *ListPrivateConnectionPeeringRoutesResponse) GetPeeringRoutes() []*PeeringRoute { + if x != nil { + return x.PeeringRoutes + } + return nil +} + +func (x *ListPrivateConnectionPeeringRoutesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [VmwareEngine.GrantDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission] +type GrantDnsBindPermissionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the resource which stores the users/service accounts + // having the permission to bind to the corresponding intranet VPC of the + // consumer project. DnsBindPermission is a global resource. Resource names + // are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global/dnsBindPermission` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The consumer provided user/service account which needs to be + // granted permission to bind with the intranet VPC corresponding to the + // consumer project. + Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *GrantDnsBindPermissionRequest) Reset() { + *x = GrantDnsBindPermissionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrantDnsBindPermissionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantDnsBindPermissionRequest) ProtoMessage() {} + +func (x *GrantDnsBindPermissionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrantDnsBindPermissionRequest.ProtoReflect.Descriptor instead. +func (*GrantDnsBindPermissionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{89} +} + +func (x *GrantDnsBindPermissionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GrantDnsBindPermissionRequest) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +func (x *GrantDnsBindPermissionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.RevokeDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission] +type RevokeDnsBindPermissionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the resource which stores the users/service accounts + // having the permission to bind to the corresponding intranet VPC of the + // consumer project. DnsBindPermission is a global resource. Resource names + // are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global/dnsBindPermission` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The consumer provided user/service account which needs to be + // granted permission to bind with the intranet VPC corresponding to the + // consumer project. + Principal *Principal `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` + // Optional. A request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server guarantees that a + // request doesn't result in creation of duplicate commitments for at least 60 + // minutes. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *RevokeDnsBindPermissionRequest) Reset() { + *x = RevokeDnsBindPermissionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RevokeDnsBindPermissionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeDnsBindPermissionRequest) ProtoMessage() {} + +func (x *RevokeDnsBindPermissionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeDnsBindPermissionRequest.ProtoReflect.Descriptor instead. +func (*RevokeDnsBindPermissionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{90} +} + +func (x *RevokeDnsBindPermissionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RevokeDnsBindPermissionRequest) GetPrincipal() *Principal { + if x != nil { + return x.Principal + } + return nil +} + +func (x *RevokeDnsBindPermissionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for +// [VmwareEngine.GetDnsBindPermission][google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission] +type GetDnsBindPermissionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the resource which stores the users/service accounts + // having the permission to bind to the corresponding intranet VPC of the + // consumer project. DnsBindPermission is a global resource. Resource names + // are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global/dnsBindPermission` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetDnsBindPermissionRequest) Reset() { + *x = GetDnsBindPermissionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDnsBindPermissionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDnsBindPermissionRequest) ProtoMessage() {} + +func (x *GetDnsBindPermissionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDnsBindPermissionRequest.ProtoReflect.Descriptor instead. +func (*GetDnsBindPermissionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP(), []int{91} +} + +func (x *GetDnsBindPermissionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_cloud_vmwareengine_v1_vmwareengine_proto protoreflect.FileDescriptor + +var file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x1a, + 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 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, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, + 0xcc, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb8, + 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0e, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x5e, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x19, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0d, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xd7, 0x01, + 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x48, 0x6f, 0x75, + 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, + 0x68, 0x6f, 0x75, 0x72, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, + 0xce, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, + 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x08, 0x63, 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, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x25, 0x0a, 0x23, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x98, 0x02, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, + 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x12, 0x44, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0d, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x7b, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 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, 0x75, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, + 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x4e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xd7, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xc7, 0x01, 0x0a, 0x1d, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0xc2, 0x01, 0x0a, 0x2a, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, 0x2b, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x64, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2d, 0x0a, 0x2b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x5d, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x33, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5d, 0x0a, 0x10, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x8b, + 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x47, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a, + 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x9f, 0x01, 0x0a, 0x13, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x65, 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, 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, 0x52, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x9a, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x22, 0xda, 0x01, 0x0a, + 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xd1, 0x01, 0x0a, 0x1f, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, + 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x13, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 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, 0x6a, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb0, 0x02, 0x0a, 0x1f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x3a, 0x0a, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xf0, 0x01, 0x0a, + 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x12, 0x67, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, + 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, + 0x91, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x4c, + 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x6c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, + 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 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, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x1a, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2f, 0x0a, + 0x11, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x57, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 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, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x22, 0xa8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x56, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x19, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x1d, 0x53, 0x68, + 0x6f, 0x77, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xbc, 0x01, + 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, + 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x75, + 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc9, 0x01, 0x0a, + 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, + 0x0a, 0x13, 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x68, 0x63, 0x78, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 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, 0xa4, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, + 0x66, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2e, 0x0a, 0x2c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x12, 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, + 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x15, 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x63, 0x78, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x60, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6e, 0x73, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xdb, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, + 0x0a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x64, 0x6e, 0x73, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x93, 0x02, + 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, + 0x62, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x2c, 0x0a, 0x2a, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x12, 0x2a, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 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, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xdf, 0x01, + 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, + 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 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, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, + 0xc0, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x57, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 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, 0xba, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x4a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 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, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, + 0x96, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, + 0x0e, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd6, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, + 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x56, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x60, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 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, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0x95, 0x02, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, + 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x57, + 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x1a, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, + 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xea, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, + 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x77, 0x0a, 0x1c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x19, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, + 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 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, 0x76, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x36, + 0x0a, 0x34, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x02, 0x0a, + 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x7a, 0x0a, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, + 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x18, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, + 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x1e, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x89, 0x02, 0x0a, 0x25, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, + 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x7a, 0x0a, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x25, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, + 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x50, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x36, 0x0a, 0x34, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, + 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, + 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x50, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x36, 0x0a, 0x34, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, + 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc1, 0x02, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x31, 0x12, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x6a, 0x0a, 0x15, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x20, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, + 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x22, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x22, 0xac, 0x01, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, + 0x6c, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd3, 0x01, + 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x22, 0xd5, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x14, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 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, 0x02, 0x0a, 0x1e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 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, 0x12, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, + 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, + 0x68, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x1d, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x12, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xcc, 0x01, 0x0a, 0x1e, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0xeb, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x12, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xb6, 0x01, 0x0a, 0x29, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 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, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xda, 0x01, 0x0a, 0x1d, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, + 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, + 0x69, 0x70, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x76, + 0x6f, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, + 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, + 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 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, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x32, 0xdc, 0x8e, 0x01, 0x0a, 0x0c, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x12, 0xb5, 0x01, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x22, 0x40, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x83, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x25, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x12, 0x85, 0x02, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 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, 0x21, + 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x50, 0x3a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x32, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x64, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x33, 0x2a, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x14, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x21, + 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 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, 0x3a, 0x01, + 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xc4, 0x01, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x4d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x12, 0xb1, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x4b, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xed, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x88, 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, + 0x47, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xef, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, 0x8a, 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, 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, 0x4f, 0x3a, 0x07, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x32, 0x44, 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, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 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, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 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, + 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, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x09, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 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, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, + 0xb0, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0x53, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 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, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xa9, 0x02, + 0x0a, 0x23, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0xda, 0x41, 0x0e, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x3a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa9, + 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 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, 0xb4, 0x01, 0xca, 0x41, 0x24, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x2b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x59, 0x3a, 0x10, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x45, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xab, 0x02, 0x0a, 0x15, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 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, + 0xb6, 0x01, 0xca, 0x41, 0x24, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1c, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x10, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x32, 0x56, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf6, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 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, 0x81, 0x01, + 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, 0x47, 0x2a, 0x45, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe8, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x53, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4c, 0x3a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x32, 0x42, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xf2, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 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, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x58, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc2, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xc7, 0x01, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x33, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x14, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x22, 0x49, 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, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xc4, 0x02, 0x0a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0xca, 0x41, 0x27, 0x0a, 0x12, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x14, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x32, 0x5e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 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, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, + 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, 0x4b, 0x2a, 0x49, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x53, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, + 0x12, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x51, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0x9a, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 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, 0xa9, 0x01, 0xca, 0x41, 0x22, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x2c, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x9c, 0x02, + 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 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, 0xab, + 0x01, 0xca, 0x41, 0x22, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1a, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x0e, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x51, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 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, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xee, 0x01, 0x0a, + 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x72, 0x76, 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, 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, 0x44, 0x2a, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb8, 0x01, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xdf, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x65, 0xda, 0x41, 0x0d, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x6f, + 0x77, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x69, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x12, 0x51, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0xfe, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, + 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 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, 0x8d, 0x01, 0xca, 0x41, 0x21, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, + 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x4e, 0x73, 0x78, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x12, 0x8a, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 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, 0x91, 0x01, 0xca, 0x41, 0x21, + 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x01, 0x2a, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x56, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0xc6, + 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x4e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x12, 0x99, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xca, 0x41, 0x22, 0x0a, 0x0d, + 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x1a, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x60, 0x3a, 0x0e, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x32, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x6e, 0x73, 0x5f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, + 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x44, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x91, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0xca, 0x41, 0x23, 0x0a, + 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 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, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x93, + 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xa0, 0x01, 0xca, 0x41, 0x23, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1b, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x3a, 0x0f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x32, + 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x69, 0x6e, 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, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 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, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x63, 0x78, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 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, 0xbb, 0x01, 0xca, 0x41, 0x25, 0x0a, 0x10, + 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 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, 0x68, 0x63, 0x78, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x2c, + 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x12, 0x68, 0x63, 0x78, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x22, + 0x45, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, + 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 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, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x63, 0x78, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x44, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x8b, 0x02, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0xca, 0x41, 0x22, + 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x27, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x3a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x8d, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0xca, 0x41, 0x22, 0x0a, 0x0d, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x11, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x54, 0x3a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x32, 0x42, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdf, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 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, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x88, 0x02, 0x0a, 0x1d, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, + 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, + 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0xf5, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x5c, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, + 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xed, 0x02, 0x0a, + 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01, 0xca, 0x41, 0x2d, 0x0a, 0x18, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x41, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, + 0x3a, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, + 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x4d, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, + 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xf0, 0x02, 0x0a, + 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xca, 0x41, 0x2d, 0x0a, 0x18, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x27, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x32, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, + 0x2f, 0x2a, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, + 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0x90, 0x02, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x01, 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, 0x4f, 0x2a, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0x9d, 0x02, 0x0a, 0x1e, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xca, 0x41, 0x2d, 0x0a, + 0x18, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, + 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 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, 0x59, 0x3a, 0x01, 0x2a, 0x22, 0x54, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x70, 0x61, + 0x69, 0x72, 0x12, 0xb7, 0x02, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, + 0xba, 0x01, 0xca, 0x41, 0x28, 0x0a, 0x13, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x35, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x15, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 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, 0x7d, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xb9, 0x02, 0x0a, + 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 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, 0xbc, 0x01, 0xca, 0x41, 0x28, 0x0a, + 0x13, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x21, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x67, 0x3a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x32, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 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, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xe4, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x3d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 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, + 0x7d, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, + 0xad, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 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, 0x2f, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4c, 0x3a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0xc9, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x16, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa8, 0x02, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0xaf, 0x01, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, 0x1e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x49, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 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, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 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, 0x72, + 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, 0x38, 0x2a, 0x36, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0x90, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 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, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0xf4, 0x01, 0x0a, 0x16, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x44, + 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 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, 0x7e, 0xca, 0x41, + 0x26, 0x0a, 0x11, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x70, + 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, + 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x3a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0xc6, 0x01, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x42, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, + 0x12, 0x33, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x64, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, + 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 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, 0x7f, + 0xca, 0x41, 0x26, 0x0a, 0x11, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0e, 0x6e, 0x61, 0x6d, 0x65, + 0x2c, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, + 0x3a, 0x01, 0x2a, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x3a, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, + 0x4f, 0xca, 0x41, 0x1b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 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, 0xae, 0x02, 0xea, 0x41, 0x4e, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x7d, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x70, 0x62, 0x3b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, + 0x62, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0xea, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescOnce sync.Once + file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData = file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDesc +) + +func file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescGZIP() []byte { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescOnce.Do(func() { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData) + }) + return file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDescData +} + +var file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes = make([]protoimpl.MessageInfo, 92) +var file_google_cloud_vmwareengine_v1_vmwareengine_proto_goTypes = []interface{}{ + (*ListPrivateCloudsRequest)(nil), // 0: google.cloud.vmwareengine.v1.ListPrivateCloudsRequest + (*ListPrivateCloudsResponse)(nil), // 1: google.cloud.vmwareengine.v1.ListPrivateCloudsResponse + (*GetPrivateCloudRequest)(nil), // 2: google.cloud.vmwareengine.v1.GetPrivateCloudRequest + (*CreatePrivateCloudRequest)(nil), // 3: google.cloud.vmwareengine.v1.CreatePrivateCloudRequest + (*UpdatePrivateCloudRequest)(nil), // 4: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest + (*DeletePrivateCloudRequest)(nil), // 5: google.cloud.vmwareengine.v1.DeletePrivateCloudRequest + (*UndeletePrivateCloudRequest)(nil), // 6: google.cloud.vmwareengine.v1.UndeletePrivateCloudRequest + (*ListClustersRequest)(nil), // 7: google.cloud.vmwareengine.v1.ListClustersRequest + (*ListClustersResponse)(nil), // 8: google.cloud.vmwareengine.v1.ListClustersResponse + (*GetClusterRequest)(nil), // 9: google.cloud.vmwareengine.v1.GetClusterRequest + (*CreateClusterRequest)(nil), // 10: google.cloud.vmwareengine.v1.CreateClusterRequest + (*UpdateClusterRequest)(nil), // 11: google.cloud.vmwareengine.v1.UpdateClusterRequest + (*DeleteClusterRequest)(nil), // 12: google.cloud.vmwareengine.v1.DeleteClusterRequest + (*ListNodesRequest)(nil), // 13: google.cloud.vmwareengine.v1.ListNodesRequest + (*ListNodesResponse)(nil), // 14: google.cloud.vmwareengine.v1.ListNodesResponse + (*GetNodeRequest)(nil), // 15: google.cloud.vmwareengine.v1.GetNodeRequest + (*ListExternalAddressesRequest)(nil), // 16: google.cloud.vmwareengine.v1.ListExternalAddressesRequest + (*ListExternalAddressesResponse)(nil), // 17: google.cloud.vmwareengine.v1.ListExternalAddressesResponse + (*FetchNetworkPolicyExternalAddressesRequest)(nil), // 18: google.cloud.vmwareengine.v1.FetchNetworkPolicyExternalAddressesRequest + (*FetchNetworkPolicyExternalAddressesResponse)(nil), // 19: google.cloud.vmwareengine.v1.FetchNetworkPolicyExternalAddressesResponse + (*GetExternalAddressRequest)(nil), // 20: google.cloud.vmwareengine.v1.GetExternalAddressRequest + (*CreateExternalAddressRequest)(nil), // 21: google.cloud.vmwareengine.v1.CreateExternalAddressRequest + (*UpdateExternalAddressRequest)(nil), // 22: google.cloud.vmwareengine.v1.UpdateExternalAddressRequest + (*DeleteExternalAddressRequest)(nil), // 23: google.cloud.vmwareengine.v1.DeleteExternalAddressRequest + (*ListSubnetsRequest)(nil), // 24: google.cloud.vmwareengine.v1.ListSubnetsRequest + (*ListSubnetsResponse)(nil), // 25: google.cloud.vmwareengine.v1.ListSubnetsResponse + (*GetSubnetRequest)(nil), // 26: google.cloud.vmwareengine.v1.GetSubnetRequest + (*UpdateSubnetRequest)(nil), // 27: google.cloud.vmwareengine.v1.UpdateSubnetRequest + (*ListExternalAccessRulesRequest)(nil), // 28: google.cloud.vmwareengine.v1.ListExternalAccessRulesRequest + (*ListExternalAccessRulesResponse)(nil), // 29: google.cloud.vmwareengine.v1.ListExternalAccessRulesResponse + (*GetExternalAccessRuleRequest)(nil), // 30: google.cloud.vmwareengine.v1.GetExternalAccessRuleRequest + (*CreateExternalAccessRuleRequest)(nil), // 31: google.cloud.vmwareengine.v1.CreateExternalAccessRuleRequest + (*UpdateExternalAccessRuleRequest)(nil), // 32: google.cloud.vmwareengine.v1.UpdateExternalAccessRuleRequest + (*DeleteExternalAccessRuleRequest)(nil), // 33: google.cloud.vmwareengine.v1.DeleteExternalAccessRuleRequest + (*ListLoggingServersRequest)(nil), // 34: google.cloud.vmwareengine.v1.ListLoggingServersRequest + (*ListLoggingServersResponse)(nil), // 35: google.cloud.vmwareengine.v1.ListLoggingServersResponse + (*GetLoggingServerRequest)(nil), // 36: google.cloud.vmwareengine.v1.GetLoggingServerRequest + (*CreateLoggingServerRequest)(nil), // 37: google.cloud.vmwareengine.v1.CreateLoggingServerRequest + (*UpdateLoggingServerRequest)(nil), // 38: google.cloud.vmwareengine.v1.UpdateLoggingServerRequest + (*DeleteLoggingServerRequest)(nil), // 39: google.cloud.vmwareengine.v1.DeleteLoggingServerRequest + (*OperationMetadata)(nil), // 40: google.cloud.vmwareengine.v1.OperationMetadata + (*ListNodeTypesRequest)(nil), // 41: google.cloud.vmwareengine.v1.ListNodeTypesRequest + (*ListNodeTypesResponse)(nil), // 42: google.cloud.vmwareengine.v1.ListNodeTypesResponse + (*GetNodeTypeRequest)(nil), // 43: google.cloud.vmwareengine.v1.GetNodeTypeRequest + (*ShowNsxCredentialsRequest)(nil), // 44: google.cloud.vmwareengine.v1.ShowNsxCredentialsRequest + (*ShowVcenterCredentialsRequest)(nil), // 45: google.cloud.vmwareengine.v1.ShowVcenterCredentialsRequest + (*ResetNsxCredentialsRequest)(nil), // 46: google.cloud.vmwareengine.v1.ResetNsxCredentialsRequest + (*ResetVcenterCredentialsRequest)(nil), // 47: google.cloud.vmwareengine.v1.ResetVcenterCredentialsRequest + (*ListHcxActivationKeysResponse)(nil), // 48: google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse + (*ListHcxActivationKeysRequest)(nil), // 49: google.cloud.vmwareengine.v1.ListHcxActivationKeysRequest + (*GetHcxActivationKeyRequest)(nil), // 50: google.cloud.vmwareengine.v1.GetHcxActivationKeyRequest + (*CreateHcxActivationKeyRequest)(nil), // 51: google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest + (*GetDnsForwardingRequest)(nil), // 52: google.cloud.vmwareengine.v1.GetDnsForwardingRequest + (*UpdateDnsForwardingRequest)(nil), // 53: google.cloud.vmwareengine.v1.UpdateDnsForwardingRequest + (*CreateNetworkPeeringRequest)(nil), // 54: google.cloud.vmwareengine.v1.CreateNetworkPeeringRequest + (*DeleteNetworkPeeringRequest)(nil), // 55: google.cloud.vmwareengine.v1.DeleteNetworkPeeringRequest + (*GetNetworkPeeringRequest)(nil), // 56: google.cloud.vmwareengine.v1.GetNetworkPeeringRequest + (*ListNetworkPeeringsRequest)(nil), // 57: google.cloud.vmwareengine.v1.ListNetworkPeeringsRequest + (*UpdateNetworkPeeringRequest)(nil), // 58: google.cloud.vmwareengine.v1.UpdateNetworkPeeringRequest + (*ListNetworkPeeringsResponse)(nil), // 59: google.cloud.vmwareengine.v1.ListNetworkPeeringsResponse + (*ListPeeringRoutesRequest)(nil), // 60: google.cloud.vmwareengine.v1.ListPeeringRoutesRequest + (*ListPeeringRoutesResponse)(nil), // 61: google.cloud.vmwareengine.v1.ListPeeringRoutesResponse + (*ListNetworkPoliciesRequest)(nil), // 62: google.cloud.vmwareengine.v1.ListNetworkPoliciesRequest + (*ListNetworkPoliciesResponse)(nil), // 63: google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse + (*GetNetworkPolicyRequest)(nil), // 64: google.cloud.vmwareengine.v1.GetNetworkPolicyRequest + (*UpdateNetworkPolicyRequest)(nil), // 65: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest + (*CreateNetworkPolicyRequest)(nil), // 66: google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest + (*DeleteNetworkPolicyRequest)(nil), // 67: google.cloud.vmwareengine.v1.DeleteNetworkPolicyRequest + (*ListManagementDnsZoneBindingsRequest)(nil), // 68: google.cloud.vmwareengine.v1.ListManagementDnsZoneBindingsRequest + (*ListManagementDnsZoneBindingsResponse)(nil), // 69: google.cloud.vmwareengine.v1.ListManagementDnsZoneBindingsResponse + (*GetManagementDnsZoneBindingRequest)(nil), // 70: google.cloud.vmwareengine.v1.GetManagementDnsZoneBindingRequest + (*CreateManagementDnsZoneBindingRequest)(nil), // 71: google.cloud.vmwareengine.v1.CreateManagementDnsZoneBindingRequest + (*UpdateManagementDnsZoneBindingRequest)(nil), // 72: google.cloud.vmwareengine.v1.UpdateManagementDnsZoneBindingRequest + (*DeleteManagementDnsZoneBindingRequest)(nil), // 73: google.cloud.vmwareengine.v1.DeleteManagementDnsZoneBindingRequest + (*RepairManagementDnsZoneBindingRequest)(nil), // 74: google.cloud.vmwareengine.v1.RepairManagementDnsZoneBindingRequest + (*CreateVmwareEngineNetworkRequest)(nil), // 75: google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest + (*UpdateVmwareEngineNetworkRequest)(nil), // 76: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest + (*DeleteVmwareEngineNetworkRequest)(nil), // 77: google.cloud.vmwareengine.v1.DeleteVmwareEngineNetworkRequest + (*GetVmwareEngineNetworkRequest)(nil), // 78: google.cloud.vmwareengine.v1.GetVmwareEngineNetworkRequest + (*ListVmwareEngineNetworksRequest)(nil), // 79: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksRequest + (*ListVmwareEngineNetworksResponse)(nil), // 80: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse + (*CreatePrivateConnectionRequest)(nil), // 81: google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest + (*GetPrivateConnectionRequest)(nil), // 82: google.cloud.vmwareengine.v1.GetPrivateConnectionRequest + (*ListPrivateConnectionsRequest)(nil), // 83: google.cloud.vmwareengine.v1.ListPrivateConnectionsRequest + (*ListPrivateConnectionsResponse)(nil), // 84: google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse + (*UpdatePrivateConnectionRequest)(nil), // 85: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest + (*DeletePrivateConnectionRequest)(nil), // 86: google.cloud.vmwareengine.v1.DeletePrivateConnectionRequest + (*ListPrivateConnectionPeeringRoutesRequest)(nil), // 87: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesRequest + (*ListPrivateConnectionPeeringRoutesResponse)(nil), // 88: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse + (*GrantDnsBindPermissionRequest)(nil), // 89: google.cloud.vmwareengine.v1.GrantDnsBindPermissionRequest + (*RevokeDnsBindPermissionRequest)(nil), // 90: google.cloud.vmwareengine.v1.RevokeDnsBindPermissionRequest + (*GetDnsBindPermissionRequest)(nil), // 91: google.cloud.vmwareengine.v1.GetDnsBindPermissionRequest + (*PrivateCloud)(nil), // 92: google.cloud.vmwareengine.v1.PrivateCloud + (*fieldmaskpb.FieldMask)(nil), // 93: google.protobuf.FieldMask + (*Cluster)(nil), // 94: google.cloud.vmwareengine.v1.Cluster + (*Node)(nil), // 95: google.cloud.vmwareengine.v1.Node + (*ExternalAddress)(nil), // 96: google.cloud.vmwareengine.v1.ExternalAddress + (*Subnet)(nil), // 97: google.cloud.vmwareengine.v1.Subnet + (*ExternalAccessRule)(nil), // 98: google.cloud.vmwareengine.v1.ExternalAccessRule + (*LoggingServer)(nil), // 99: google.cloud.vmwareengine.v1.LoggingServer + (*timestamppb.Timestamp)(nil), // 100: google.protobuf.Timestamp + (*NodeType)(nil), // 101: google.cloud.vmwareengine.v1.NodeType + (*HcxActivationKey)(nil), // 102: google.cloud.vmwareengine.v1.HcxActivationKey + (*DnsForwarding)(nil), // 103: google.cloud.vmwareengine.v1.DnsForwarding + (*NetworkPeering)(nil), // 104: google.cloud.vmwareengine.v1.NetworkPeering + (*PeeringRoute)(nil), // 105: google.cloud.vmwareengine.v1.PeeringRoute + (*NetworkPolicy)(nil), // 106: google.cloud.vmwareengine.v1.NetworkPolicy + (*ManagementDnsZoneBinding)(nil), // 107: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + (*VmwareEngineNetwork)(nil), // 108: google.cloud.vmwareengine.v1.VmwareEngineNetwork + (*PrivateConnection)(nil), // 109: google.cloud.vmwareengine.v1.PrivateConnection + (*Principal)(nil), // 110: google.cloud.vmwareengine.v1.Principal + (*longrunningpb.Operation)(nil), // 111: google.longrunning.Operation + (*Credentials)(nil), // 112: google.cloud.vmwareengine.v1.Credentials + (*DnsBindPermission)(nil), // 113: google.cloud.vmwareengine.v1.DnsBindPermission +} +var file_google_cloud_vmwareengine_v1_vmwareengine_proto_depIdxs = []int32{ + 92, // 0: google.cloud.vmwareengine.v1.ListPrivateCloudsResponse.private_clouds:type_name -> google.cloud.vmwareengine.v1.PrivateCloud + 92, // 1: google.cloud.vmwareengine.v1.CreatePrivateCloudRequest.private_cloud:type_name -> google.cloud.vmwareengine.v1.PrivateCloud + 92, // 2: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest.private_cloud:type_name -> google.cloud.vmwareengine.v1.PrivateCloud + 93, // 3: google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest.update_mask:type_name -> google.protobuf.FieldMask + 94, // 4: google.cloud.vmwareengine.v1.ListClustersResponse.clusters:type_name -> google.cloud.vmwareengine.v1.Cluster + 94, // 5: google.cloud.vmwareengine.v1.CreateClusterRequest.cluster:type_name -> google.cloud.vmwareengine.v1.Cluster + 93, // 6: google.cloud.vmwareengine.v1.UpdateClusterRequest.update_mask:type_name -> google.protobuf.FieldMask + 94, // 7: google.cloud.vmwareengine.v1.UpdateClusterRequest.cluster:type_name -> google.cloud.vmwareengine.v1.Cluster + 95, // 8: google.cloud.vmwareengine.v1.ListNodesResponse.nodes:type_name -> google.cloud.vmwareengine.v1.Node + 96, // 9: google.cloud.vmwareengine.v1.ListExternalAddressesResponse.external_addresses:type_name -> google.cloud.vmwareengine.v1.ExternalAddress + 96, // 10: google.cloud.vmwareengine.v1.FetchNetworkPolicyExternalAddressesResponse.external_addresses:type_name -> google.cloud.vmwareengine.v1.ExternalAddress + 96, // 11: google.cloud.vmwareengine.v1.CreateExternalAddressRequest.external_address:type_name -> google.cloud.vmwareengine.v1.ExternalAddress + 93, // 12: google.cloud.vmwareengine.v1.UpdateExternalAddressRequest.update_mask:type_name -> google.protobuf.FieldMask + 96, // 13: google.cloud.vmwareengine.v1.UpdateExternalAddressRequest.external_address:type_name -> google.cloud.vmwareengine.v1.ExternalAddress + 97, // 14: google.cloud.vmwareengine.v1.ListSubnetsResponse.subnets:type_name -> google.cloud.vmwareengine.v1.Subnet + 93, // 15: google.cloud.vmwareengine.v1.UpdateSubnetRequest.update_mask:type_name -> google.protobuf.FieldMask + 97, // 16: google.cloud.vmwareengine.v1.UpdateSubnetRequest.subnet:type_name -> google.cloud.vmwareengine.v1.Subnet + 98, // 17: google.cloud.vmwareengine.v1.ListExternalAccessRulesResponse.external_access_rules:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule + 98, // 18: google.cloud.vmwareengine.v1.CreateExternalAccessRuleRequest.external_access_rule:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule + 93, // 19: google.cloud.vmwareengine.v1.UpdateExternalAccessRuleRequest.update_mask:type_name -> google.protobuf.FieldMask + 98, // 20: google.cloud.vmwareengine.v1.UpdateExternalAccessRuleRequest.external_access_rule:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule + 99, // 21: google.cloud.vmwareengine.v1.ListLoggingServersResponse.logging_servers:type_name -> google.cloud.vmwareengine.v1.LoggingServer + 99, // 22: google.cloud.vmwareengine.v1.CreateLoggingServerRequest.logging_server:type_name -> google.cloud.vmwareengine.v1.LoggingServer + 93, // 23: google.cloud.vmwareengine.v1.UpdateLoggingServerRequest.update_mask:type_name -> google.protobuf.FieldMask + 99, // 24: google.cloud.vmwareengine.v1.UpdateLoggingServerRequest.logging_server:type_name -> google.cloud.vmwareengine.v1.LoggingServer + 100, // 25: google.cloud.vmwareengine.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 100, // 26: google.cloud.vmwareengine.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 101, // 27: google.cloud.vmwareengine.v1.ListNodeTypesResponse.node_types:type_name -> google.cloud.vmwareengine.v1.NodeType + 102, // 28: google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse.hcx_activation_keys:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey + 102, // 29: google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest.hcx_activation_key:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey + 103, // 30: google.cloud.vmwareengine.v1.UpdateDnsForwardingRequest.dns_forwarding:type_name -> google.cloud.vmwareengine.v1.DnsForwarding + 93, // 31: google.cloud.vmwareengine.v1.UpdateDnsForwardingRequest.update_mask:type_name -> google.protobuf.FieldMask + 104, // 32: google.cloud.vmwareengine.v1.CreateNetworkPeeringRequest.network_peering:type_name -> google.cloud.vmwareengine.v1.NetworkPeering + 104, // 33: google.cloud.vmwareengine.v1.UpdateNetworkPeeringRequest.network_peering:type_name -> google.cloud.vmwareengine.v1.NetworkPeering + 93, // 34: google.cloud.vmwareengine.v1.UpdateNetworkPeeringRequest.update_mask:type_name -> google.protobuf.FieldMask + 104, // 35: google.cloud.vmwareengine.v1.ListNetworkPeeringsResponse.network_peerings:type_name -> google.cloud.vmwareengine.v1.NetworkPeering + 105, // 36: google.cloud.vmwareengine.v1.ListPeeringRoutesResponse.peering_routes:type_name -> google.cloud.vmwareengine.v1.PeeringRoute + 106, // 37: google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse.network_policies:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy + 106, // 38: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest.network_policy:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy + 93, // 39: google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest.update_mask:type_name -> google.protobuf.FieldMask + 106, // 40: google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest.network_policy:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy + 107, // 41: google.cloud.vmwareengine.v1.ListManagementDnsZoneBindingsResponse.management_dns_zone_bindings:type_name -> google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + 107, // 42: google.cloud.vmwareengine.v1.CreateManagementDnsZoneBindingRequest.management_dns_zone_binding:type_name -> google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + 93, // 43: google.cloud.vmwareengine.v1.UpdateManagementDnsZoneBindingRequest.update_mask:type_name -> google.protobuf.FieldMask + 107, // 44: google.cloud.vmwareengine.v1.UpdateManagementDnsZoneBindingRequest.management_dns_zone_binding:type_name -> google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + 108, // 45: google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest.vmware_engine_network:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork + 108, // 46: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest.vmware_engine_network:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork + 93, // 47: google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest.update_mask:type_name -> google.protobuf.FieldMask + 108, // 48: google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse.vmware_engine_networks:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork + 109, // 49: google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest.private_connection:type_name -> google.cloud.vmwareengine.v1.PrivateConnection + 109, // 50: google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse.private_connections:type_name -> google.cloud.vmwareengine.v1.PrivateConnection + 109, // 51: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest.private_connection:type_name -> google.cloud.vmwareengine.v1.PrivateConnection + 93, // 52: google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest.update_mask:type_name -> google.protobuf.FieldMask + 105, // 53: google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse.peering_routes:type_name -> google.cloud.vmwareengine.v1.PeeringRoute + 110, // 54: google.cloud.vmwareengine.v1.GrantDnsBindPermissionRequest.principal:type_name -> google.cloud.vmwareengine.v1.Principal + 110, // 55: google.cloud.vmwareengine.v1.RevokeDnsBindPermissionRequest.principal:type_name -> google.cloud.vmwareengine.v1.Principal + 0, // 56: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds:input_type -> google.cloud.vmwareengine.v1.ListPrivateCloudsRequest + 2, // 57: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud:input_type -> google.cloud.vmwareengine.v1.GetPrivateCloudRequest + 3, // 58: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud:input_type -> google.cloud.vmwareengine.v1.CreatePrivateCloudRequest + 4, // 59: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud:input_type -> google.cloud.vmwareengine.v1.UpdatePrivateCloudRequest + 5, // 60: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud:input_type -> google.cloud.vmwareengine.v1.DeletePrivateCloudRequest + 6, // 61: google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud:input_type -> google.cloud.vmwareengine.v1.UndeletePrivateCloudRequest + 7, // 62: google.cloud.vmwareengine.v1.VmwareEngine.ListClusters:input_type -> google.cloud.vmwareengine.v1.ListClustersRequest + 9, // 63: google.cloud.vmwareengine.v1.VmwareEngine.GetCluster:input_type -> google.cloud.vmwareengine.v1.GetClusterRequest + 10, // 64: google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster:input_type -> google.cloud.vmwareengine.v1.CreateClusterRequest + 11, // 65: google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster:input_type -> google.cloud.vmwareengine.v1.UpdateClusterRequest + 12, // 66: google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster:input_type -> google.cloud.vmwareengine.v1.DeleteClusterRequest + 13, // 67: google.cloud.vmwareengine.v1.VmwareEngine.ListNodes:input_type -> google.cloud.vmwareengine.v1.ListNodesRequest + 15, // 68: google.cloud.vmwareengine.v1.VmwareEngine.GetNode:input_type -> google.cloud.vmwareengine.v1.GetNodeRequest + 16, // 69: google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses:input_type -> google.cloud.vmwareengine.v1.ListExternalAddressesRequest + 18, // 70: google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses:input_type -> google.cloud.vmwareengine.v1.FetchNetworkPolicyExternalAddressesRequest + 20, // 71: google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress:input_type -> google.cloud.vmwareengine.v1.GetExternalAddressRequest + 21, // 72: google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress:input_type -> google.cloud.vmwareengine.v1.CreateExternalAddressRequest + 22, // 73: google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress:input_type -> google.cloud.vmwareengine.v1.UpdateExternalAddressRequest + 23, // 74: google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress:input_type -> google.cloud.vmwareengine.v1.DeleteExternalAddressRequest + 24, // 75: google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets:input_type -> google.cloud.vmwareengine.v1.ListSubnetsRequest + 26, // 76: google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet:input_type -> google.cloud.vmwareengine.v1.GetSubnetRequest + 27, // 77: google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet:input_type -> google.cloud.vmwareengine.v1.UpdateSubnetRequest + 28, // 78: google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules:input_type -> google.cloud.vmwareengine.v1.ListExternalAccessRulesRequest + 30, // 79: google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule:input_type -> google.cloud.vmwareengine.v1.GetExternalAccessRuleRequest + 31, // 80: google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule:input_type -> google.cloud.vmwareengine.v1.CreateExternalAccessRuleRequest + 32, // 81: google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule:input_type -> google.cloud.vmwareengine.v1.UpdateExternalAccessRuleRequest + 33, // 82: google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule:input_type -> google.cloud.vmwareengine.v1.DeleteExternalAccessRuleRequest + 34, // 83: google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers:input_type -> google.cloud.vmwareengine.v1.ListLoggingServersRequest + 36, // 84: google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer:input_type -> google.cloud.vmwareengine.v1.GetLoggingServerRequest + 37, // 85: google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer:input_type -> google.cloud.vmwareengine.v1.CreateLoggingServerRequest + 38, // 86: google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer:input_type -> google.cloud.vmwareengine.v1.UpdateLoggingServerRequest + 39, // 87: google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer:input_type -> google.cloud.vmwareengine.v1.DeleteLoggingServerRequest + 41, // 88: google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes:input_type -> google.cloud.vmwareengine.v1.ListNodeTypesRequest + 43, // 89: google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType:input_type -> google.cloud.vmwareengine.v1.GetNodeTypeRequest + 44, // 90: google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials:input_type -> google.cloud.vmwareengine.v1.ShowNsxCredentialsRequest + 45, // 91: google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials:input_type -> google.cloud.vmwareengine.v1.ShowVcenterCredentialsRequest + 46, // 92: google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials:input_type -> google.cloud.vmwareengine.v1.ResetNsxCredentialsRequest + 47, // 93: google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials:input_type -> google.cloud.vmwareengine.v1.ResetVcenterCredentialsRequest + 52, // 94: google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding:input_type -> google.cloud.vmwareengine.v1.GetDnsForwardingRequest + 53, // 95: google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding:input_type -> google.cloud.vmwareengine.v1.UpdateDnsForwardingRequest + 56, // 96: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering:input_type -> google.cloud.vmwareengine.v1.GetNetworkPeeringRequest + 57, // 97: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings:input_type -> google.cloud.vmwareengine.v1.ListNetworkPeeringsRequest + 54, // 98: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering:input_type -> google.cloud.vmwareengine.v1.CreateNetworkPeeringRequest + 55, // 99: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering:input_type -> google.cloud.vmwareengine.v1.DeleteNetworkPeeringRequest + 58, // 100: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering:input_type -> google.cloud.vmwareengine.v1.UpdateNetworkPeeringRequest + 60, // 101: google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes:input_type -> google.cloud.vmwareengine.v1.ListPeeringRoutesRequest + 51, // 102: google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey:input_type -> google.cloud.vmwareengine.v1.CreateHcxActivationKeyRequest + 49, // 103: google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys:input_type -> google.cloud.vmwareengine.v1.ListHcxActivationKeysRequest + 50, // 104: google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey:input_type -> google.cloud.vmwareengine.v1.GetHcxActivationKeyRequest + 64, // 105: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.GetNetworkPolicyRequest + 62, // 106: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies:input_type -> google.cloud.vmwareengine.v1.ListNetworkPoliciesRequest + 66, // 107: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.CreateNetworkPolicyRequest + 65, // 108: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.UpdateNetworkPolicyRequest + 67, // 109: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy:input_type -> google.cloud.vmwareengine.v1.DeleteNetworkPolicyRequest + 68, // 110: google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings:input_type -> google.cloud.vmwareengine.v1.ListManagementDnsZoneBindingsRequest + 70, // 111: google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding:input_type -> google.cloud.vmwareengine.v1.GetManagementDnsZoneBindingRequest + 71, // 112: google.cloud.vmwareengine.v1.VmwareEngine.CreateManagementDnsZoneBinding:input_type -> google.cloud.vmwareengine.v1.CreateManagementDnsZoneBindingRequest + 72, // 113: google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding:input_type -> google.cloud.vmwareengine.v1.UpdateManagementDnsZoneBindingRequest + 73, // 114: google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding:input_type -> google.cloud.vmwareengine.v1.DeleteManagementDnsZoneBindingRequest + 74, // 115: google.cloud.vmwareengine.v1.VmwareEngine.RepairManagementDnsZoneBinding:input_type -> google.cloud.vmwareengine.v1.RepairManagementDnsZoneBindingRequest + 75, // 116: google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.CreateVmwareEngineNetworkRequest + 76, // 117: google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.UpdateVmwareEngineNetworkRequest + 77, // 118: google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.DeleteVmwareEngineNetworkRequest + 78, // 119: google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork:input_type -> google.cloud.vmwareengine.v1.GetVmwareEngineNetworkRequest + 79, // 120: google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks:input_type -> google.cloud.vmwareengine.v1.ListVmwareEngineNetworksRequest + 81, // 121: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection:input_type -> google.cloud.vmwareengine.v1.CreatePrivateConnectionRequest + 82, // 122: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection:input_type -> google.cloud.vmwareengine.v1.GetPrivateConnectionRequest + 83, // 123: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections:input_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionsRequest + 85, // 124: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection:input_type -> google.cloud.vmwareengine.v1.UpdatePrivateConnectionRequest + 86, // 125: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection:input_type -> google.cloud.vmwareengine.v1.DeletePrivateConnectionRequest + 87, // 126: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes:input_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesRequest + 89, // 127: google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission:input_type -> google.cloud.vmwareengine.v1.GrantDnsBindPermissionRequest + 91, // 128: google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission:input_type -> google.cloud.vmwareengine.v1.GetDnsBindPermissionRequest + 90, // 129: google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission:input_type -> google.cloud.vmwareengine.v1.RevokeDnsBindPermissionRequest + 1, // 130: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds:output_type -> google.cloud.vmwareengine.v1.ListPrivateCloudsResponse + 92, // 131: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud:output_type -> google.cloud.vmwareengine.v1.PrivateCloud + 111, // 132: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud:output_type -> google.longrunning.Operation + 111, // 133: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud:output_type -> google.longrunning.Operation + 111, // 134: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud:output_type -> google.longrunning.Operation + 111, // 135: google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud:output_type -> google.longrunning.Operation + 8, // 136: google.cloud.vmwareengine.v1.VmwareEngine.ListClusters:output_type -> google.cloud.vmwareengine.v1.ListClustersResponse + 94, // 137: google.cloud.vmwareengine.v1.VmwareEngine.GetCluster:output_type -> google.cloud.vmwareengine.v1.Cluster + 111, // 138: google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster:output_type -> google.longrunning.Operation + 111, // 139: google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster:output_type -> google.longrunning.Operation + 111, // 140: google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster:output_type -> google.longrunning.Operation + 14, // 141: google.cloud.vmwareengine.v1.VmwareEngine.ListNodes:output_type -> google.cloud.vmwareengine.v1.ListNodesResponse + 95, // 142: google.cloud.vmwareengine.v1.VmwareEngine.GetNode:output_type -> google.cloud.vmwareengine.v1.Node + 17, // 143: google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAddresses:output_type -> google.cloud.vmwareengine.v1.ListExternalAddressesResponse + 19, // 144: google.cloud.vmwareengine.v1.VmwareEngine.FetchNetworkPolicyExternalAddresses:output_type -> google.cloud.vmwareengine.v1.FetchNetworkPolicyExternalAddressesResponse + 96, // 145: google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAddress:output_type -> google.cloud.vmwareengine.v1.ExternalAddress + 111, // 146: google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAddress:output_type -> google.longrunning.Operation + 111, // 147: google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAddress:output_type -> google.longrunning.Operation + 111, // 148: google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAddress:output_type -> google.longrunning.Operation + 25, // 149: google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets:output_type -> google.cloud.vmwareengine.v1.ListSubnetsResponse + 97, // 150: google.cloud.vmwareengine.v1.VmwareEngine.GetSubnet:output_type -> google.cloud.vmwareengine.v1.Subnet + 111, // 151: google.cloud.vmwareengine.v1.VmwareEngine.UpdateSubnet:output_type -> google.longrunning.Operation + 29, // 152: google.cloud.vmwareengine.v1.VmwareEngine.ListExternalAccessRules:output_type -> google.cloud.vmwareengine.v1.ListExternalAccessRulesResponse + 98, // 153: google.cloud.vmwareengine.v1.VmwareEngine.GetExternalAccessRule:output_type -> google.cloud.vmwareengine.v1.ExternalAccessRule + 111, // 154: google.cloud.vmwareengine.v1.VmwareEngine.CreateExternalAccessRule:output_type -> google.longrunning.Operation + 111, // 155: google.cloud.vmwareengine.v1.VmwareEngine.UpdateExternalAccessRule:output_type -> google.longrunning.Operation + 111, // 156: google.cloud.vmwareengine.v1.VmwareEngine.DeleteExternalAccessRule:output_type -> google.longrunning.Operation + 35, // 157: google.cloud.vmwareengine.v1.VmwareEngine.ListLoggingServers:output_type -> google.cloud.vmwareengine.v1.ListLoggingServersResponse + 99, // 158: google.cloud.vmwareengine.v1.VmwareEngine.GetLoggingServer:output_type -> google.cloud.vmwareengine.v1.LoggingServer + 111, // 159: google.cloud.vmwareengine.v1.VmwareEngine.CreateLoggingServer:output_type -> google.longrunning.Operation + 111, // 160: google.cloud.vmwareengine.v1.VmwareEngine.UpdateLoggingServer:output_type -> google.longrunning.Operation + 111, // 161: google.cloud.vmwareengine.v1.VmwareEngine.DeleteLoggingServer:output_type -> google.longrunning.Operation + 42, // 162: google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes:output_type -> google.cloud.vmwareengine.v1.ListNodeTypesResponse + 101, // 163: google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType:output_type -> google.cloud.vmwareengine.v1.NodeType + 112, // 164: google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials:output_type -> google.cloud.vmwareengine.v1.Credentials + 112, // 165: google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials:output_type -> google.cloud.vmwareengine.v1.Credentials + 111, // 166: google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials:output_type -> google.longrunning.Operation + 111, // 167: google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials:output_type -> google.longrunning.Operation + 103, // 168: google.cloud.vmwareengine.v1.VmwareEngine.GetDnsForwarding:output_type -> google.cloud.vmwareengine.v1.DnsForwarding + 111, // 169: google.cloud.vmwareengine.v1.VmwareEngine.UpdateDnsForwarding:output_type -> google.longrunning.Operation + 104, // 170: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPeering:output_type -> google.cloud.vmwareengine.v1.NetworkPeering + 59, // 171: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPeerings:output_type -> google.cloud.vmwareengine.v1.ListNetworkPeeringsResponse + 111, // 172: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPeering:output_type -> google.longrunning.Operation + 111, // 173: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPeering:output_type -> google.longrunning.Operation + 111, // 174: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPeering:output_type -> google.longrunning.Operation + 61, // 175: google.cloud.vmwareengine.v1.VmwareEngine.ListPeeringRoutes:output_type -> google.cloud.vmwareengine.v1.ListPeeringRoutesResponse + 111, // 176: google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey:output_type -> google.longrunning.Operation + 48, // 177: google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys:output_type -> google.cloud.vmwareengine.v1.ListHcxActivationKeysResponse + 102, // 178: google.cloud.vmwareengine.v1.VmwareEngine.GetHcxActivationKey:output_type -> google.cloud.vmwareengine.v1.HcxActivationKey + 106, // 179: google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy:output_type -> google.cloud.vmwareengine.v1.NetworkPolicy + 63, // 180: google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies:output_type -> google.cloud.vmwareengine.v1.ListNetworkPoliciesResponse + 111, // 181: google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy:output_type -> google.longrunning.Operation + 111, // 182: google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy:output_type -> google.longrunning.Operation + 111, // 183: google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy:output_type -> google.longrunning.Operation + 69, // 184: google.cloud.vmwareengine.v1.VmwareEngine.ListManagementDnsZoneBindings:output_type -> google.cloud.vmwareengine.v1.ListManagementDnsZoneBindingsResponse + 107, // 185: google.cloud.vmwareengine.v1.VmwareEngine.GetManagementDnsZoneBinding:output_type -> google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + 111, // 186: google.cloud.vmwareengine.v1.VmwareEngine.CreateManagementDnsZoneBinding:output_type -> google.longrunning.Operation + 111, // 187: google.cloud.vmwareengine.v1.VmwareEngine.UpdateManagementDnsZoneBinding:output_type -> google.longrunning.Operation + 111, // 188: google.cloud.vmwareengine.v1.VmwareEngine.DeleteManagementDnsZoneBinding:output_type -> google.longrunning.Operation + 111, // 189: google.cloud.vmwareengine.v1.VmwareEngine.RepairManagementDnsZoneBinding:output_type -> google.longrunning.Operation + 111, // 190: google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork:output_type -> google.longrunning.Operation + 111, // 191: google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork:output_type -> google.longrunning.Operation + 111, // 192: google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork:output_type -> google.longrunning.Operation + 108, // 193: google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork:output_type -> google.cloud.vmwareengine.v1.VmwareEngineNetwork + 80, // 194: google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks:output_type -> google.cloud.vmwareengine.v1.ListVmwareEngineNetworksResponse + 111, // 195: google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateConnection:output_type -> google.longrunning.Operation + 109, // 196: google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateConnection:output_type -> google.cloud.vmwareengine.v1.PrivateConnection + 84, // 197: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnections:output_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionsResponse + 111, // 198: google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateConnection:output_type -> google.longrunning.Operation + 111, // 199: google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateConnection:output_type -> google.longrunning.Operation + 88, // 200: google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateConnectionPeeringRoutes:output_type -> google.cloud.vmwareengine.v1.ListPrivateConnectionPeeringRoutesResponse + 111, // 201: google.cloud.vmwareengine.v1.VmwareEngine.GrantDnsBindPermission:output_type -> google.longrunning.Operation + 113, // 202: google.cloud.vmwareengine.v1.VmwareEngine.GetDnsBindPermission:output_type -> google.cloud.vmwareengine.v1.DnsBindPermission + 111, // 203: google.cloud.vmwareengine.v1.VmwareEngine.RevokeDnsBindPermission:output_type -> google.longrunning.Operation + 130, // [130:204] is the sub-list for method output_type + 56, // [56:130] is the sub-list for method input_type + 56, // [56:56] is the sub-list for extension type_name + 56, // [56:56] is the sub-list for extension extendee + 0, // [0:56] is the sub-list for field type_name +} + +func init() { file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() } +func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { + if File_google_cloud_vmwareengine_v1_vmwareengine_proto != nil { + return + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPrivateCloudsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPrivateCloudsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPrivateCloudRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePrivateCloudRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePrivateCloudRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeletePrivateCloudRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UndeletePrivateCloudRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNodesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNodesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExternalAddressesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExternalAddressesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchNetworkPolicyExternalAddressesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchNetworkPolicyExternalAddressesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExternalAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateExternalAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExternalAddressRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteExternalAddressRequest); i { case 0: return &v.state case 1: @@ -5404,8 +10451,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPrivateCloudsResponse); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubnetsRequest); i { case 0: return &v.state case 1: @@ -5416,8 +10463,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPrivateCloudRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListSubnetsResponse); i { case 0: return &v.state case 1: @@ -5428,8 +10475,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePrivateCloudRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSubnetRequest); i { case 0: return &v.state case 1: @@ -5440,8 +10487,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePrivateCloudRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSubnetRequest); i { case 0: return &v.state case 1: @@ -5452,8 +10499,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeletePrivateCloudRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExternalAccessRulesRequest); i { case 0: return &v.state case 1: @@ -5464,8 +10511,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UndeletePrivateCloudRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListExternalAccessRulesResponse); i { case 0: return &v.state case 1: @@ -5476,8 +10523,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListClustersRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetExternalAccessRuleRequest); i { case 0: return &v.state case 1: @@ -5488,8 +10535,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListClustersResponse); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateExternalAccessRuleRequest); i { case 0: return &v.state case 1: @@ -5500,8 +10547,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetClusterRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateExternalAccessRuleRequest); i { case 0: return &v.state case 1: @@ -5512,8 +10559,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateClusterRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteExternalAccessRuleRequest); i { case 0: return &v.state case 1: @@ -5524,8 +10571,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateClusterRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListLoggingServersRequest); i { case 0: return &v.state case 1: @@ -5536,8 +10583,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteClusterRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListLoggingServersResponse); i { case 0: return &v.state case 1: @@ -5548,8 +10595,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSubnetsRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetLoggingServerRequest); i { case 0: return &v.state case 1: @@ -5560,8 +10607,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSubnetsResponse); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateLoggingServerRequest); i { case 0: return &v.state case 1: @@ -5572,8 +10619,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSubnetRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateLoggingServerRequest); i { case 0: return &v.state case 1: @@ -5584,8 +10631,8 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateSubnetRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteLoggingServerRequest); i { case 0: return &v.state case 1: @@ -5596,7 +10643,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationMetadata); i { case 0: return &v.state @@ -5608,7 +10655,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodeTypesRequest); i { case 0: return &v.state @@ -5620,7 +10667,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodeTypesResponse); i { case 0: return &v.state @@ -5632,7 +10679,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNodeTypeRequest); i { case 0: return &v.state @@ -5644,7 +10691,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowNsxCredentialsRequest); i { case 0: return &v.state @@ -5656,7 +10703,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShowVcenterCredentialsRequest); i { case 0: return &v.state @@ -5668,7 +10715,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetNsxCredentialsRequest); i { case 0: return &v.state @@ -5680,7 +10727,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetVcenterCredentialsRequest); i { case 0: return &v.state @@ -5692,7 +10739,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListHcxActivationKeysResponse); i { case 0: return &v.state @@ -5704,7 +10751,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListHcxActivationKeysRequest); i { case 0: return &v.state @@ -5716,7 +10763,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetHcxActivationKeyRequest); i { case 0: return &v.state @@ -5728,7 +10775,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateHcxActivationKeyRequest); i { case 0: return &v.state @@ -5740,7 +10787,127 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDnsForwardingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDnsForwardingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNetworkPeeringRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNetworkPeeringRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNetworkPeeringRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNetworkPeeringsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNetworkPeeringRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNetworkPeeringsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeeringRoutesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPeeringRoutesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkPoliciesRequest); i { case 0: return &v.state @@ -5752,7 +10919,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkPoliciesResponse); i { case 0: return &v.state @@ -5764,7 +10931,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkPolicyRequest); i { case 0: return &v.state @@ -5776,7 +10943,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNetworkPolicyRequest); i { case 0: return &v.state @@ -5788,7 +10955,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateNetworkPolicyRequest); i { case 0: return &v.state @@ -5800,8 +10967,92 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNetworkPolicyRequest); i { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNetworkPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListManagementDnsZoneBindingsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListManagementDnsZoneBindingsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetManagementDnsZoneBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateManagementDnsZoneBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateManagementDnsZoneBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteManagementDnsZoneBindingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepairManagementDnsZoneBindingRequest); i { case 0: return &v.state case 1: @@ -5812,7 +11063,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVmwareEngineNetworkRequest); i { case 0: return &v.state @@ -5824,7 +11075,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateVmwareEngineNetworkRequest); i { case 0: return &v.state @@ -5836,7 +11087,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteVmwareEngineNetworkRequest); i { case 0: return &v.state @@ -5848,7 +11099,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVmwareEngineNetworkRequest); i { case 0: return &v.state @@ -5860,7 +11111,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListVmwareEngineNetworksRequest); i { case 0: return &v.state @@ -5872,7 +11123,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListVmwareEngineNetworksResponse); i { case 0: return &v.state @@ -5884,7 +11135,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatePrivateConnectionRequest); i { case 0: return &v.state @@ -5896,7 +11147,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPrivateConnectionRequest); i { case 0: return &v.state @@ -5908,7 +11159,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPrivateConnectionsRequest); i { case 0: return &v.state @@ -5920,7 +11171,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPrivateConnectionsResponse); i { case 0: return &v.state @@ -5932,7 +11183,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdatePrivateConnectionRequest); i { case 0: return &v.state @@ -5944,7 +11195,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePrivateConnectionRequest); i { case 0: return &v.state @@ -5956,7 +11207,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPrivateConnectionPeeringRoutesRequest); i { case 0: return &v.state @@ -5968,7 +11219,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } - file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPrivateConnectionPeeringRoutesResponse); i { case 0: return &v.state @@ -5980,6 +11231,42 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { return nil } } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrantDnsBindPermissionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RevokeDnsBindPermissionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDnsBindPermissionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_google_cloud_vmwareengine_v1_vmwareengine_proto_msgTypes[5].OneofWrappers = []interface{}{} type x struct{} @@ -5988,7 +11275,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_vmwareengine_v1_vmwareengine_proto_rawDesc, NumEnums: 0, - NumMessages: 49, + NumMessages: 92, NumExtensions: 0, NumServices: 1, }, @@ -6019,9 +11306,9 @@ type VmwareEngineClient interface { // Retrieves a `PrivateCloud` resource by its resource name. GetPrivateCloud(ctx context.Context, in *GetPrivateCloudRequest, opts ...grpc.CallOption) (*PrivateCloud, error) // Creates a new `PrivateCloud` resource in a given project and location. - // Private clouds can only be created in zones, regional private clouds are - // not supported. - // + // Private clouds of type `STANDARD` and + // `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are + // regional. // Creating a private cloud also creates a [management // cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) // for that private cloud. @@ -6065,8 +11352,7 @@ type VmwareEngineClient interface { // use in the parent private cloud and requires sufficient [node // quota](https://cloud.google.com/vmware-engine/quotas). CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) - // Modifies a `Cluster` resource. Only the following fields can be updated: - // `node_type_configs.*.node_count`. Only fields specified in `updateMask` are + // Modifies a `Cluster` resource. Only fields specified in `updateMask` are // applied. // // During operation processing, the resource is temporarily in the `ACTIVE` @@ -6079,6 +11365,34 @@ type VmwareEngineClient interface { // You cannot delete the management cluster of a private cloud using this // method. DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists nodes in a given cluster. + ListNodes(ctx context.Context, in *ListNodesRequest, opts ...grpc.CallOption) (*ListNodesResponse, error) + // Gets details of a single node. + GetNode(ctx context.Context, in *GetNodeRequest, opts ...grpc.CallOption) (*Node, error) + // Lists external IP addresses assigned to VMware workload VMs in a given + // private cloud. + ListExternalAddresses(ctx context.Context, in *ListExternalAddressesRequest, opts ...grpc.CallOption) (*ListExternalAddressesResponse, error) + // Lists external IP addresses assigned to VMware workload VMs within the + // scope of the given network policy. + FetchNetworkPolicyExternalAddresses(ctx context.Context, in *FetchNetworkPolicyExternalAddressesRequest, opts ...grpc.CallOption) (*FetchNetworkPolicyExternalAddressesResponse, error) + // Gets details of a single external IP address. + GetExternalAddress(ctx context.Context, in *GetExternalAddressRequest, opts ...grpc.CallOption) (*ExternalAddress, error) + // Creates a new `ExternalAddress` resource in a given private cloud. The + // network policy that corresponds to the private cloud must have the external + // IP address network service enabled (`NetworkPolicy.external_ip`). + CreateExternalAddress(ctx context.Context, in *CreateExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates the parameters of a single external IP address. + // Only fields specified in `update_mask` are applied. + // + // During operation processing, the resource is temporarily in the `ACTIVE` + // state before the operation fully completes. For that period of time, you + // can't update the resource. Use the operation status to determine when the + // processing fully completes. + UpdateExternalAddress(ctx context.Context, in *UpdateExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single external IP address. When you delete an external IP + // address, connectivity between the external IP address and the corresponding + // internal IP address is lost. + DeleteExternalAddress(ctx context.Context, in *DeleteExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists subnets in a given private cloud. ListSubnets(ctx context.Context, in *ListSubnetsRequest, opts ...grpc.CallOption) (*ListSubnetsResponse, error) // Gets details of a single subnet. @@ -6090,6 +11404,29 @@ type VmwareEngineClient interface { // `google.longrunning.Operation` (LRO). The returned LRO will only have // `done` and `response` fields. UpdateSubnet(ctx context.Context, in *UpdateSubnetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists `ExternalAccessRule` resources in the specified network policy. + ListExternalAccessRules(ctx context.Context, in *ListExternalAccessRulesRequest, opts ...grpc.CallOption) (*ListExternalAccessRulesResponse, error) + // Gets details of a single external access rule. + GetExternalAccessRule(ctx context.Context, in *GetExternalAccessRuleRequest, opts ...grpc.CallOption) (*ExternalAccessRule, error) + // Creates a new external access rule in a given network policy. + CreateExternalAccessRule(ctx context.Context, in *CreateExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates the parameters of a single external access rule. + // Only fields specified in `update_mask` are applied. + UpdateExternalAccessRule(ctx context.Context, in *UpdateExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single external access rule. + DeleteExternalAccessRule(ctx context.Context, in *DeleteExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists logging servers configured for a given private + // cloud. + ListLoggingServers(ctx context.Context, in *ListLoggingServersRequest, opts ...grpc.CallOption) (*ListLoggingServersResponse, error) + // Gets details of a logging server. + GetLoggingServer(ctx context.Context, in *GetLoggingServerRequest, opts ...grpc.CallOption) (*LoggingServer, error) + // Create a new logging server for a given private cloud. + CreateLoggingServer(ctx context.Context, in *CreateLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates the parameters of a single logging server. + // Only fields specified in `update_mask` are applied. + UpdateLoggingServer(ctx context.Context, in *UpdateLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single logging server. + DeleteLoggingServer(ctx context.Context, in *DeleteLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists node types ListNodeTypes(ctx context.Context, in *ListNodeTypesRequest, opts ...grpc.CallOption) (*ListNodeTypesResponse, error) // Gets details of a single `NodeType`. @@ -6102,6 +11439,35 @@ type VmwareEngineClient interface { ResetNsxCredentials(ctx context.Context, in *ResetNsxCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Resets credentials of the Vcenter appliance. ResetVcenterCredentials(ctx context.Context, in *ResetVcenterCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of the `DnsForwarding` config. + GetDnsForwarding(ctx context.Context, in *GetDnsForwardingRequest, opts ...grpc.CallOption) (*DnsForwarding, error) + // Updates the parameters of the `DnsForwarding` config, like associated + // domains. Only fields specified in `update_mask` are applied. + UpdateDnsForwarding(ctx context.Context, in *UpdateDnsForwardingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Retrieves a `NetworkPeering` resource by its resource name. The resource + // contains details of the network peering, such as peered + // networks, import and export custom route configurations, and peering state. + // NetworkPeering is a global resource and location can only be global. + GetNetworkPeering(ctx context.Context, in *GetNetworkPeeringRequest, opts ...grpc.CallOption) (*NetworkPeering, error) + // Lists `NetworkPeering` resources in a given project. NetworkPeering is a + // global resource and location can only be global. + ListNetworkPeerings(ctx context.Context, in *ListNetworkPeeringsRequest, opts ...grpc.CallOption) (*ListNetworkPeeringsResponse, error) + // Creates a new network peering between the peer network and VMware Engine + // network provided in a `NetworkPeering` resource. NetworkPeering is a + // global resource and location can only be global. + CreateNetworkPeering(ctx context.Context, in *CreateNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a `NetworkPeering` resource. When a network peering is deleted for + // a VMware Engine network, the peer network becomes inaccessible to that + // VMware Engine network. NetworkPeering is a global resource and location can + // only be global. + DeleteNetworkPeering(ctx context.Context, in *DeleteNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Modifies a `NetworkPeering` resource. Only the `description` field can be + // updated. Only fields specified in `updateMask` are applied. NetworkPeering + // is a global resource and location can only be global. + UpdateNetworkPeering(ctx context.Context, in *UpdateNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists the network peering routes exchanged over a peering connection. + // NetworkPeering is a global resource and location can only be global. + ListPeeringRoutes(ctx context.Context, in *ListPeeringRoutesRequest, opts ...grpc.CallOption) (*ListPeeringRoutesResponse, error) // Creates a new HCX activation key in a given private cloud. CreateHcxActivationKey(ctx context.Context, in *CreateHcxActivationKeyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists `HcxActivationKey` resources in a given private cloud. @@ -6133,6 +11499,28 @@ type VmwareEngineClient interface { // when `NetworkService.state` is set to `RECONCILING` for either its external // IP or internet access service. DeleteNetworkPolicy(ctx context.Context, in *DeleteNetworkPolicyRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists Consumer VPCs bound to Management DNS Zone of a given private cloud. + ListManagementDnsZoneBindings(ctx context.Context, in *ListManagementDnsZoneBindingsRequest, opts ...grpc.CallOption) (*ListManagementDnsZoneBindingsResponse, error) + // Retrieves a 'ManagementDnsZoneBinding' resource by its resource name. + GetManagementDnsZoneBinding(ctx context.Context, in *GetManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*ManagementDnsZoneBinding, error) + // Creates a new `ManagementDnsZoneBinding` resource in a private cloud. + // This RPC creates the DNS binding and the resource that represents the + // DNS binding of the consumer VPC network to the management DNS zone. A + // management DNS zone is the Cloud DNS cross-project binding zone that + // VMware Engine creates for each private cloud. It contains FQDNs and + // corresponding IP addresses for the private cloud's ESXi hosts and + // management VM appliances like vCenter and NSX Manager. + CreateManagementDnsZoneBinding(ctx context.Context, in *CreateManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates a `ManagementDnsZoneBinding` resource. + // Only fields specified in `update_mask` are applied. + UpdateManagementDnsZoneBinding(ctx context.Context, in *UpdateManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone + // binding is deleted, the corresponding consumer VPC network is no longer + // bound to the management DNS zone. + DeleteManagementDnsZoneBinding(ctx context.Context, in *DeleteManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Retries to create a `ManagementDnsZoneBinding` resource that is + // in failed state. + RepairManagementDnsZoneBinding(ctx context.Context, in *RepairManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Creates a new VMware Engine network that can be used by a private cloud. CreateVmwareEngineNetwork(ctx context.Context, in *CreateVmwareEngineNetworkRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Modifies a VMware Engine network resource. Only the following fields can be @@ -6170,6 +11558,19 @@ type VmwareEngineClient interface { DeletePrivateConnection(ctx context.Context, in *DeletePrivateConnectionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists the private connection routes exchanged over a peering connection. ListPrivateConnectionPeeringRoutes(ctx context.Context, in *ListPrivateConnectionPeeringRoutesRequest, opts ...grpc.CallOption) (*ListPrivateConnectionPeeringRoutesResponse, error) + // Grants the bind permission to the customer provided principal(user / + // service account) to bind their DNS zone with the intranet VPC associated + // with the project. DnsBindPermission is a global resource and location can + // only be global. + GrantDnsBindPermission(ctx context.Context, in *GrantDnsBindPermissionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets all the principals having bind permission on the intranet VPC + // associated with the consumer project granted by the Grant API. + // DnsBindPermission is a global resource and location can only be global. + GetDnsBindPermission(ctx context.Context, in *GetDnsBindPermissionRequest, opts ...grpc.CallOption) (*DnsBindPermission, error) + // Revokes the bind permission from the customer provided principal(user / + // service account) on the intranet VPC associated with the consumer project. + // DnsBindPermission is a global resource and location can only be global. + RevokeDnsBindPermission(ctx context.Context, in *RevokeDnsBindPermissionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) } type vmwareEngineClient struct { @@ -6180,180 +11581,414 @@ func NewVmwareEngineClient(cc grpc.ClientConnInterface) VmwareEngineClient { return &vmwareEngineClient{cc} } -func (c *vmwareEngineClient) ListPrivateClouds(ctx context.Context, in *ListPrivateCloudsRequest, opts ...grpc.CallOption) (*ListPrivateCloudsResponse, error) { - out := new(ListPrivateCloudsResponse) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateClouds", in, out, opts...) +func (c *vmwareEngineClient) ListPrivateClouds(ctx context.Context, in *ListPrivateCloudsRequest, opts ...grpc.CallOption) (*ListPrivateCloudsResponse, error) { + out := new(ListPrivateCloudsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateClouds", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetPrivateCloud(ctx context.Context, in *GetPrivateCloudRequest, opts ...grpc.CallOption) (*PrivateCloud, error) { + out := new(PrivateCloud) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateCloud", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) CreatePrivateCloud(ctx context.Context, in *CreatePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateCloud", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdatePrivateCloud(ctx context.Context, in *UpdatePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateCloud", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) DeletePrivateCloud(ctx context.Context, in *DeletePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateCloud", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UndeletePrivateCloud(ctx context.Context, in *UndeletePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UndeletePrivateCloud", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) { + out := new(ListClustersResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) { + out := new(Cluster) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) ListNodes(ctx context.Context, in *ListNodesRequest, opts ...grpc.CallOption) (*ListNodesResponse, error) { + out := new(ListNodesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetNode(ctx context.Context, in *GetNodeRequest, opts ...grpc.CallOption) (*Node, error) { + out := new(Node) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetNode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) ListExternalAddresses(ctx context.Context, in *ListExternalAddressesRequest, opts ...grpc.CallOption) (*ListExternalAddressesResponse, error) { + out := new(ListExternalAddressesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAddresses", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) FetchNetworkPolicyExternalAddresses(ctx context.Context, in *FetchNetworkPolicyExternalAddressesRequest, opts ...grpc.CallOption) (*FetchNetworkPolicyExternalAddressesResponse, error) { + out := new(FetchNetworkPolicyExternalAddressesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/FetchNetworkPolicyExternalAddresses", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetExternalAddress(ctx context.Context, in *GetExternalAddressRequest, opts ...grpc.CallOption) (*ExternalAddress, error) { + out := new(ExternalAddress) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) CreateExternalAddress(ctx context.Context, in *CreateExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdateExternalAddress(ctx context.Context, in *UpdateExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) DeleteExternalAddress(ctx context.Context, in *DeleteExternalAddressRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAddress", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) ListSubnets(ctx context.Context, in *ListSubnetsRequest, opts ...grpc.CallOption) (*ListSubnetsResponse, error) { + out := new(ListSubnetsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListSubnets", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetSubnet(ctx context.Context, in *GetSubnetRequest, opts ...grpc.CallOption) (*Subnet, error) { + out := new(Subnet) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetSubnet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdateSubnet(ctx context.Context, in *UpdateSubnetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateSubnet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) ListExternalAccessRules(ctx context.Context, in *ListExternalAccessRulesRequest, opts ...grpc.CallOption) (*ListExternalAccessRulesResponse, error) { + out := new(ListExternalAccessRulesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAccessRules", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetExternalAccessRule(ctx context.Context, in *GetExternalAccessRuleRequest, opts ...grpc.CallOption) (*ExternalAccessRule, error) { + out := new(ExternalAccessRule) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAccessRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) CreateExternalAccessRule(ctx context.Context, in *CreateExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAccessRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdateExternalAccessRule(ctx context.Context, in *UpdateExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAccessRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) DeleteExternalAccessRule(ctx context.Context, in *DeleteExternalAccessRuleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAccessRule", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) GetPrivateCloud(ctx context.Context, in *GetPrivateCloudRequest, opts ...grpc.CallOption) (*PrivateCloud, error) { - out := new(PrivateCloud) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateCloud", in, out, opts...) +func (c *vmwareEngineClient) ListLoggingServers(ctx context.Context, in *ListLoggingServersRequest, opts ...grpc.CallOption) (*ListLoggingServersResponse, error) { + out := new(ListLoggingServersResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListLoggingServers", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) CreatePrivateCloud(ctx context.Context, in *CreatePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateCloud", in, out, opts...) +func (c *vmwareEngineClient) GetLoggingServer(ctx context.Context, in *GetLoggingServerRequest, opts ...grpc.CallOption) (*LoggingServer, error) { + out := new(LoggingServer) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetLoggingServer", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) UpdatePrivateCloud(ctx context.Context, in *UpdatePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) CreateLoggingServer(ctx context.Context, in *CreateLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateCloud", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateLoggingServer", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) DeletePrivateCloud(ctx context.Context, in *DeletePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) UpdateLoggingServer(ctx context.Context, in *UpdateLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateCloud", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateLoggingServer", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) UndeletePrivateCloud(ctx context.Context, in *UndeletePrivateCloudRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) DeleteLoggingServer(ctx context.Context, in *DeleteLoggingServerRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UndeletePrivateCloud", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteLoggingServer", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) { - out := new(ListClustersResponse) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListClusters", in, out, opts...) +func (c *vmwareEngineClient) ListNodeTypes(ctx context.Context, in *ListNodeTypesRequest, opts ...grpc.CallOption) (*ListNodeTypesResponse, error) { + out := new(ListNodeTypesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodeTypes", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) { - out := new(Cluster) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetCluster", in, out, opts...) +func (c *vmwareEngineClient) GetNodeType(ctx context.Context, in *GetNodeTypeRequest, opts ...grpc.CallOption) (*NodeType, error) { + out := new(NodeType) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetNodeType", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateCluster", in, out, opts...) +func (c *vmwareEngineClient) ShowNsxCredentials(ctx context.Context, in *ShowNsxCredentialsRequest, opts ...grpc.CallOption) (*Credentials, error) { + out := new(Credentials) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ShowNsxCredentials", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateCluster", in, out, opts...) +func (c *vmwareEngineClient) ShowVcenterCredentials(ctx context.Context, in *ShowVcenterCredentialsRequest, opts ...grpc.CallOption) (*Credentials, error) { + out := new(Credentials) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ShowVcenterCredentials", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) ResetNsxCredentials(ctx context.Context, in *ResetNsxCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteCluster", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ResetNsxCredentials", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ListSubnets(ctx context.Context, in *ListSubnetsRequest, opts ...grpc.CallOption) (*ListSubnetsResponse, error) { - out := new(ListSubnetsResponse) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListSubnets", in, out, opts...) +func (c *vmwareEngineClient) ResetVcenterCredentials(ctx context.Context, in *ResetVcenterCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ResetVcenterCredentials", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) GetSubnet(ctx context.Context, in *GetSubnetRequest, opts ...grpc.CallOption) (*Subnet, error) { - out := new(Subnet) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetSubnet", in, out, opts...) +func (c *vmwareEngineClient) GetDnsForwarding(ctx context.Context, in *GetDnsForwardingRequest, opts ...grpc.CallOption) (*DnsForwarding, error) { + out := new(DnsForwarding) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsForwarding", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) UpdateSubnet(ctx context.Context, in *UpdateSubnetRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) UpdateDnsForwarding(ctx context.Context, in *UpdateDnsForwardingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateSubnet", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateDnsForwarding", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ListNodeTypes(ctx context.Context, in *ListNodeTypesRequest, opts ...grpc.CallOption) (*ListNodeTypesResponse, error) { - out := new(ListNodeTypesResponse) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodeTypes", in, out, opts...) +func (c *vmwareEngineClient) GetNetworkPeering(ctx context.Context, in *GetNetworkPeeringRequest, opts ...grpc.CallOption) (*NetworkPeering, error) { + out := new(NetworkPeering) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetNetworkPeering", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) GetNodeType(ctx context.Context, in *GetNodeTypeRequest, opts ...grpc.CallOption) (*NodeType, error) { - out := new(NodeType) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetNodeType", in, out, opts...) +func (c *vmwareEngineClient) ListNetworkPeerings(ctx context.Context, in *ListNetworkPeeringsRequest, opts ...grpc.CallOption) (*ListNetworkPeeringsResponse, error) { + out := new(ListNetworkPeeringsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListNetworkPeerings", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ShowNsxCredentials(ctx context.Context, in *ShowNsxCredentialsRequest, opts ...grpc.CallOption) (*Credentials, error) { - out := new(Credentials) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ShowNsxCredentials", in, out, opts...) +func (c *vmwareEngineClient) CreateNetworkPeering(ctx context.Context, in *CreateNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateNetworkPeering", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ShowVcenterCredentials(ctx context.Context, in *ShowVcenterCredentialsRequest, opts ...grpc.CallOption) (*Credentials, error) { - out := new(Credentials) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ShowVcenterCredentials", in, out, opts...) +func (c *vmwareEngineClient) DeleteNetworkPeering(ctx context.Context, in *DeleteNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteNetworkPeering", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ResetNsxCredentials(ctx context.Context, in *ResetNsxCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { +func (c *vmwareEngineClient) UpdateNetworkPeering(ctx context.Context, in *UpdateNetworkPeeringRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ResetNsxCredentials", in, out, opts...) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateNetworkPeering", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *vmwareEngineClient) ResetVcenterCredentials(ctx context.Context, in *ResetVcenterCredentialsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { - out := new(longrunningpb.Operation) - err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ResetVcenterCredentials", in, out, opts...) +func (c *vmwareEngineClient) ListPeeringRoutes(ctx context.Context, in *ListPeeringRoutesRequest, opts ...grpc.CallOption) (*ListPeeringRoutesResponse, error) { + out := new(ListPeeringRoutesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListPeeringRoutes", in, out, opts...) if err != nil { return nil, err } @@ -6432,6 +12067,60 @@ func (c *vmwareEngineClient) DeleteNetworkPolicy(ctx context.Context, in *Delete return out, nil } +func (c *vmwareEngineClient) ListManagementDnsZoneBindings(ctx context.Context, in *ListManagementDnsZoneBindingsRequest, opts ...grpc.CallOption) (*ListManagementDnsZoneBindingsResponse, error) { + out := new(ListManagementDnsZoneBindingsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/ListManagementDnsZoneBindings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetManagementDnsZoneBinding(ctx context.Context, in *GetManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*ManagementDnsZoneBinding, error) { + out := new(ManagementDnsZoneBinding) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetManagementDnsZoneBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) CreateManagementDnsZoneBinding(ctx context.Context, in *CreateManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateManagementDnsZoneBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) UpdateManagementDnsZoneBinding(ctx context.Context, in *UpdateManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateManagementDnsZoneBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) DeleteManagementDnsZoneBinding(ctx context.Context, in *DeleteManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteManagementDnsZoneBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) RepairManagementDnsZoneBinding(ctx context.Context, in *RepairManagementDnsZoneBindingRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/RepairManagementDnsZoneBinding", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *vmwareEngineClient) CreateVmwareEngineNetwork(ctx context.Context, in *CreateVmwareEngineNetworkRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { out := new(longrunningpb.Operation) err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/CreateVmwareEngineNetwork", in, out, opts...) @@ -6531,6 +12220,33 @@ func (c *vmwareEngineClient) ListPrivateConnectionPeeringRoutes(ctx context.Cont return out, nil } +func (c *vmwareEngineClient) GrantDnsBindPermission(ctx context.Context, in *GrantDnsBindPermissionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GrantDnsBindPermission", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) GetDnsBindPermission(ctx context.Context, in *GetDnsBindPermissionRequest, opts ...grpc.CallOption) (*DnsBindPermission, error) { + out := new(DnsBindPermission) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsBindPermission", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *vmwareEngineClient) RevokeDnsBindPermission(ctx context.Context, in *RevokeDnsBindPermissionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.vmwareengine.v1.VmwareEngine/RevokeDnsBindPermission", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // VmwareEngineServer is the server API for VmwareEngine service. type VmwareEngineServer interface { // Lists `PrivateCloud` resources in a given project and location. @@ -6538,9 +12254,9 @@ type VmwareEngineServer interface { // Retrieves a `PrivateCloud` resource by its resource name. GetPrivateCloud(context.Context, *GetPrivateCloudRequest) (*PrivateCloud, error) // Creates a new `PrivateCloud` resource in a given project and location. - // Private clouds can only be created in zones, regional private clouds are - // not supported. - // + // Private clouds of type `STANDARD` and + // `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are + // regional. // Creating a private cloud also creates a [management // cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) // for that private cloud. @@ -6584,8 +12300,7 @@ type VmwareEngineServer interface { // use in the parent private cloud and requires sufficient [node // quota](https://cloud.google.com/vmware-engine/quotas). CreateCluster(context.Context, *CreateClusterRequest) (*longrunningpb.Operation, error) - // Modifies a `Cluster` resource. Only the following fields can be updated: - // `node_type_configs.*.node_count`. Only fields specified in `updateMask` are + // Modifies a `Cluster` resource. Only fields specified in `updateMask` are // applied. // // During operation processing, the resource is temporarily in the `ACTIVE` @@ -6598,6 +12313,34 @@ type VmwareEngineServer interface { // You cannot delete the management cluster of a private cloud using this // method. DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunningpb.Operation, error) + // Lists nodes in a given cluster. + ListNodes(context.Context, *ListNodesRequest) (*ListNodesResponse, error) + // Gets details of a single node. + GetNode(context.Context, *GetNodeRequest) (*Node, error) + // Lists external IP addresses assigned to VMware workload VMs in a given + // private cloud. + ListExternalAddresses(context.Context, *ListExternalAddressesRequest) (*ListExternalAddressesResponse, error) + // Lists external IP addresses assigned to VMware workload VMs within the + // scope of the given network policy. + FetchNetworkPolicyExternalAddresses(context.Context, *FetchNetworkPolicyExternalAddressesRequest) (*FetchNetworkPolicyExternalAddressesResponse, error) + // Gets details of a single external IP address. + GetExternalAddress(context.Context, *GetExternalAddressRequest) (*ExternalAddress, error) + // Creates a new `ExternalAddress` resource in a given private cloud. The + // network policy that corresponds to the private cloud must have the external + // IP address network service enabled (`NetworkPolicy.external_ip`). + CreateExternalAddress(context.Context, *CreateExternalAddressRequest) (*longrunningpb.Operation, error) + // Updates the parameters of a single external IP address. + // Only fields specified in `update_mask` are applied. + // + // During operation processing, the resource is temporarily in the `ACTIVE` + // state before the operation fully completes. For that period of time, you + // can't update the resource. Use the operation status to determine when the + // processing fully completes. + UpdateExternalAddress(context.Context, *UpdateExternalAddressRequest) (*longrunningpb.Operation, error) + // Deletes a single external IP address. When you delete an external IP + // address, connectivity between the external IP address and the corresponding + // internal IP address is lost. + DeleteExternalAddress(context.Context, *DeleteExternalAddressRequest) (*longrunningpb.Operation, error) // Lists subnets in a given private cloud. ListSubnets(context.Context, *ListSubnetsRequest) (*ListSubnetsResponse, error) // Gets details of a single subnet. @@ -6609,6 +12352,29 @@ type VmwareEngineServer interface { // `google.longrunning.Operation` (LRO). The returned LRO will only have // `done` and `response` fields. UpdateSubnet(context.Context, *UpdateSubnetRequest) (*longrunningpb.Operation, error) + // Lists `ExternalAccessRule` resources in the specified network policy. + ListExternalAccessRules(context.Context, *ListExternalAccessRulesRequest) (*ListExternalAccessRulesResponse, error) + // Gets details of a single external access rule. + GetExternalAccessRule(context.Context, *GetExternalAccessRuleRequest) (*ExternalAccessRule, error) + // Creates a new external access rule in a given network policy. + CreateExternalAccessRule(context.Context, *CreateExternalAccessRuleRequest) (*longrunningpb.Operation, error) + // Updates the parameters of a single external access rule. + // Only fields specified in `update_mask` are applied. + UpdateExternalAccessRule(context.Context, *UpdateExternalAccessRuleRequest) (*longrunningpb.Operation, error) + // Deletes a single external access rule. + DeleteExternalAccessRule(context.Context, *DeleteExternalAccessRuleRequest) (*longrunningpb.Operation, error) + // Lists logging servers configured for a given private + // cloud. + ListLoggingServers(context.Context, *ListLoggingServersRequest) (*ListLoggingServersResponse, error) + // Gets details of a logging server. + GetLoggingServer(context.Context, *GetLoggingServerRequest) (*LoggingServer, error) + // Create a new logging server for a given private cloud. + CreateLoggingServer(context.Context, *CreateLoggingServerRequest) (*longrunningpb.Operation, error) + // Updates the parameters of a single logging server. + // Only fields specified in `update_mask` are applied. + UpdateLoggingServer(context.Context, *UpdateLoggingServerRequest) (*longrunningpb.Operation, error) + // Deletes a single logging server. + DeleteLoggingServer(context.Context, *DeleteLoggingServerRequest) (*longrunningpb.Operation, error) // Lists node types ListNodeTypes(context.Context, *ListNodeTypesRequest) (*ListNodeTypesResponse, error) // Gets details of a single `NodeType`. @@ -6621,6 +12387,35 @@ type VmwareEngineServer interface { ResetNsxCredentials(context.Context, *ResetNsxCredentialsRequest) (*longrunningpb.Operation, error) // Resets credentials of the Vcenter appliance. ResetVcenterCredentials(context.Context, *ResetVcenterCredentialsRequest) (*longrunningpb.Operation, error) + // Gets details of the `DnsForwarding` config. + GetDnsForwarding(context.Context, *GetDnsForwardingRequest) (*DnsForwarding, error) + // Updates the parameters of the `DnsForwarding` config, like associated + // domains. Only fields specified in `update_mask` are applied. + UpdateDnsForwarding(context.Context, *UpdateDnsForwardingRequest) (*longrunningpb.Operation, error) + // Retrieves a `NetworkPeering` resource by its resource name. The resource + // contains details of the network peering, such as peered + // networks, import and export custom route configurations, and peering state. + // NetworkPeering is a global resource and location can only be global. + GetNetworkPeering(context.Context, *GetNetworkPeeringRequest) (*NetworkPeering, error) + // Lists `NetworkPeering` resources in a given project. NetworkPeering is a + // global resource and location can only be global. + ListNetworkPeerings(context.Context, *ListNetworkPeeringsRequest) (*ListNetworkPeeringsResponse, error) + // Creates a new network peering between the peer network and VMware Engine + // network provided in a `NetworkPeering` resource. NetworkPeering is a + // global resource and location can only be global. + CreateNetworkPeering(context.Context, *CreateNetworkPeeringRequest) (*longrunningpb.Operation, error) + // Deletes a `NetworkPeering` resource. When a network peering is deleted for + // a VMware Engine network, the peer network becomes inaccessible to that + // VMware Engine network. NetworkPeering is a global resource and location can + // only be global. + DeleteNetworkPeering(context.Context, *DeleteNetworkPeeringRequest) (*longrunningpb.Operation, error) + // Modifies a `NetworkPeering` resource. Only the `description` field can be + // updated. Only fields specified in `updateMask` are applied. NetworkPeering + // is a global resource and location can only be global. + UpdateNetworkPeering(context.Context, *UpdateNetworkPeeringRequest) (*longrunningpb.Operation, error) + // Lists the network peering routes exchanged over a peering connection. + // NetworkPeering is a global resource and location can only be global. + ListPeeringRoutes(context.Context, *ListPeeringRoutesRequest) (*ListPeeringRoutesResponse, error) // Creates a new HCX activation key in a given private cloud. CreateHcxActivationKey(context.Context, *CreateHcxActivationKeyRequest) (*longrunningpb.Operation, error) // Lists `HcxActivationKey` resources in a given private cloud. @@ -6652,6 +12447,28 @@ type VmwareEngineServer interface { // when `NetworkService.state` is set to `RECONCILING` for either its external // IP or internet access service. DeleteNetworkPolicy(context.Context, *DeleteNetworkPolicyRequest) (*longrunningpb.Operation, error) + // Lists Consumer VPCs bound to Management DNS Zone of a given private cloud. + ListManagementDnsZoneBindings(context.Context, *ListManagementDnsZoneBindingsRequest) (*ListManagementDnsZoneBindingsResponse, error) + // Retrieves a 'ManagementDnsZoneBinding' resource by its resource name. + GetManagementDnsZoneBinding(context.Context, *GetManagementDnsZoneBindingRequest) (*ManagementDnsZoneBinding, error) + // Creates a new `ManagementDnsZoneBinding` resource in a private cloud. + // This RPC creates the DNS binding and the resource that represents the + // DNS binding of the consumer VPC network to the management DNS zone. A + // management DNS zone is the Cloud DNS cross-project binding zone that + // VMware Engine creates for each private cloud. It contains FQDNs and + // corresponding IP addresses for the private cloud's ESXi hosts and + // management VM appliances like vCenter and NSX Manager. + CreateManagementDnsZoneBinding(context.Context, *CreateManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) + // Updates a `ManagementDnsZoneBinding` resource. + // Only fields specified in `update_mask` are applied. + UpdateManagementDnsZoneBinding(context.Context, *UpdateManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) + // Deletes a `ManagementDnsZoneBinding` resource. When a management DNS zone + // binding is deleted, the corresponding consumer VPC network is no longer + // bound to the management DNS zone. + DeleteManagementDnsZoneBinding(context.Context, *DeleteManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) + // Retries to create a `ManagementDnsZoneBinding` resource that is + // in failed state. + RepairManagementDnsZoneBinding(context.Context, *RepairManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) // Creates a new VMware Engine network that can be used by a private cloud. CreateVmwareEngineNetwork(context.Context, *CreateVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) // Modifies a VMware Engine network resource. Only the following fields can be @@ -6689,6 +12506,19 @@ type VmwareEngineServer interface { DeletePrivateConnection(context.Context, *DeletePrivateConnectionRequest) (*longrunningpb.Operation, error) // Lists the private connection routes exchanged over a peering connection. ListPrivateConnectionPeeringRoutes(context.Context, *ListPrivateConnectionPeeringRoutesRequest) (*ListPrivateConnectionPeeringRoutesResponse, error) + // Grants the bind permission to the customer provided principal(user / + // service account) to bind their DNS zone with the intranet VPC associated + // with the project. DnsBindPermission is a global resource and location can + // only be global. + GrantDnsBindPermission(context.Context, *GrantDnsBindPermissionRequest) (*longrunningpb.Operation, error) + // Gets all the principals having bind permission on the intranet VPC + // associated with the consumer project granted by the Grant API. + // DnsBindPermission is a global resource and location can only be global. + GetDnsBindPermission(context.Context, *GetDnsBindPermissionRequest) (*DnsBindPermission, error) + // Revokes the bind permission from the customer provided principal(user / + // service account) on the intranet VPC associated with the consumer project. + // DnsBindPermission is a global resource and location can only be global. + RevokeDnsBindPermission(context.Context, *RevokeDnsBindPermissionRequest) (*longrunningpb.Operation, error) } // UnimplementedVmwareEngineServer can be embedded to have forward compatible implementations. @@ -6722,457 +12552,1030 @@ func (*UnimplementedVmwareEngineServer) GetCluster(context.Context, *GetClusterR func (*UnimplementedVmwareEngineServer) CreateCluster(context.Context, *CreateClusterRequest) (*longrunningpb.Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateCluster not implemented") } -func (*UnimplementedVmwareEngineServer) UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateCluster not implemented") +func (*UnimplementedVmwareEngineServer) UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCluster not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteCluster not implemented") +} +func (*UnimplementedVmwareEngineServer) ListNodes(context.Context, *ListNodesRequest) (*ListNodesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNodes not implemented") +} +func (*UnimplementedVmwareEngineServer) GetNode(context.Context, *GetNodeRequest) (*Node, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNode not implemented") +} +func (*UnimplementedVmwareEngineServer) ListExternalAddresses(context.Context, *ListExternalAddressesRequest) (*ListExternalAddressesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExternalAddresses not implemented") +} +func (*UnimplementedVmwareEngineServer) FetchNetworkPolicyExternalAddresses(context.Context, *FetchNetworkPolicyExternalAddressesRequest) (*FetchNetworkPolicyExternalAddressesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FetchNetworkPolicyExternalAddresses not implemented") +} +func (*UnimplementedVmwareEngineServer) GetExternalAddress(context.Context, *GetExternalAddressRequest) (*ExternalAddress, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExternalAddress not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateExternalAddress(context.Context, *CreateExternalAddressRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateExternalAddress not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateExternalAddress(context.Context, *UpdateExternalAddressRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExternalAddress not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteExternalAddress(context.Context, *DeleteExternalAddressRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteExternalAddress not implemented") +} +func (*UnimplementedVmwareEngineServer) ListSubnets(context.Context, *ListSubnetsRequest) (*ListSubnetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSubnets not implemented") +} +func (*UnimplementedVmwareEngineServer) GetSubnet(context.Context, *GetSubnetRequest) (*Subnet, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSubnet not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateSubnet(context.Context, *UpdateSubnetRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSubnet not implemented") +} +func (*UnimplementedVmwareEngineServer) ListExternalAccessRules(context.Context, *ListExternalAccessRulesRequest) (*ListExternalAccessRulesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExternalAccessRules not implemented") +} +func (*UnimplementedVmwareEngineServer) GetExternalAccessRule(context.Context, *GetExternalAccessRuleRequest) (*ExternalAccessRule, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExternalAccessRule not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateExternalAccessRule(context.Context, *CreateExternalAccessRuleRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateExternalAccessRule not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateExternalAccessRule(context.Context, *UpdateExternalAccessRuleRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExternalAccessRule not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteExternalAccessRule(context.Context, *DeleteExternalAccessRuleRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteExternalAccessRule not implemented") +} +func (*UnimplementedVmwareEngineServer) ListLoggingServers(context.Context, *ListLoggingServersRequest) (*ListLoggingServersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListLoggingServers not implemented") +} +func (*UnimplementedVmwareEngineServer) GetLoggingServer(context.Context, *GetLoggingServerRequest) (*LoggingServer, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLoggingServer not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateLoggingServer(context.Context, *CreateLoggingServerRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateLoggingServer not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateLoggingServer(context.Context, *UpdateLoggingServerRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateLoggingServer not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteLoggingServer(context.Context, *DeleteLoggingServerRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteLoggingServer not implemented") +} +func (*UnimplementedVmwareEngineServer) ListNodeTypes(context.Context, *ListNodeTypesRequest) (*ListNodeTypesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNodeTypes not implemented") +} +func (*UnimplementedVmwareEngineServer) GetNodeType(context.Context, *GetNodeTypeRequest) (*NodeType, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNodeType not implemented") +} +func (*UnimplementedVmwareEngineServer) ShowNsxCredentials(context.Context, *ShowNsxCredentialsRequest) (*Credentials, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowNsxCredentials not implemented") +} +func (*UnimplementedVmwareEngineServer) ShowVcenterCredentials(context.Context, *ShowVcenterCredentialsRequest) (*Credentials, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowVcenterCredentials not implemented") +} +func (*UnimplementedVmwareEngineServer) ResetNsxCredentials(context.Context, *ResetNsxCredentialsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetNsxCredentials not implemented") +} +func (*UnimplementedVmwareEngineServer) ResetVcenterCredentials(context.Context, *ResetVcenterCredentialsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetVcenterCredentials not implemented") +} +func (*UnimplementedVmwareEngineServer) GetDnsForwarding(context.Context, *GetDnsForwardingRequest) (*DnsForwarding, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDnsForwarding not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateDnsForwarding(context.Context, *UpdateDnsForwardingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDnsForwarding not implemented") +} +func (*UnimplementedVmwareEngineServer) GetNetworkPeering(context.Context, *GetNetworkPeeringRequest) (*NetworkPeering, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNetworkPeering not implemented") +} +func (*UnimplementedVmwareEngineServer) ListNetworkPeerings(context.Context, *ListNetworkPeeringsRequest) (*ListNetworkPeeringsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNetworkPeerings not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateNetworkPeering(context.Context, *CreateNetworkPeeringRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNetworkPeering not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteNetworkPeering(context.Context, *DeleteNetworkPeeringRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNetworkPeering not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateNetworkPeering(context.Context, *UpdateNetworkPeeringRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworkPeering not implemented") +} +func (*UnimplementedVmwareEngineServer) ListPeeringRoutes(context.Context, *ListPeeringRoutesRequest) (*ListPeeringRoutesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPeeringRoutes not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateHcxActivationKey(context.Context, *CreateHcxActivationKeyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateHcxActivationKey not implemented") +} +func (*UnimplementedVmwareEngineServer) ListHcxActivationKeys(context.Context, *ListHcxActivationKeysRequest) (*ListHcxActivationKeysResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListHcxActivationKeys not implemented") +} +func (*UnimplementedVmwareEngineServer) GetHcxActivationKey(context.Context, *GetHcxActivationKeyRequest) (*HcxActivationKey, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetHcxActivationKey not implemented") +} +func (*UnimplementedVmwareEngineServer) GetNetworkPolicy(context.Context, *GetNetworkPolicyRequest) (*NetworkPolicy, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNetworkPolicy not implemented") +} +func (*UnimplementedVmwareEngineServer) ListNetworkPolicies(context.Context, *ListNetworkPoliciesRequest) (*ListNetworkPoliciesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNetworkPolicies not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateNetworkPolicy(context.Context, *CreateNetworkPolicyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNetworkPolicy not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateNetworkPolicy(context.Context, *UpdateNetworkPolicyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworkPolicy not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteNetworkPolicy(context.Context, *DeleteNetworkPolicyRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNetworkPolicy not implemented") +} +func (*UnimplementedVmwareEngineServer) ListManagementDnsZoneBindings(context.Context, *ListManagementDnsZoneBindingsRequest) (*ListManagementDnsZoneBindingsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListManagementDnsZoneBindings not implemented") +} +func (*UnimplementedVmwareEngineServer) GetManagementDnsZoneBinding(context.Context, *GetManagementDnsZoneBindingRequest) (*ManagementDnsZoneBinding, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetManagementDnsZoneBinding not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateManagementDnsZoneBinding(context.Context, *CreateManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateManagementDnsZoneBinding not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateManagementDnsZoneBinding(context.Context, *UpdateManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateManagementDnsZoneBinding not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteManagementDnsZoneBinding(context.Context, *DeleteManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteManagementDnsZoneBinding not implemented") +} +func (*UnimplementedVmwareEngineServer) RepairManagementDnsZoneBinding(context.Context, *RepairManagementDnsZoneBindingRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RepairManagementDnsZoneBinding not implemented") +} +func (*UnimplementedVmwareEngineServer) CreateVmwareEngineNetwork(context.Context, *CreateVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateVmwareEngineNetwork not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdateVmwareEngineNetwork(context.Context, *UpdateVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateVmwareEngineNetwork not implemented") +} +func (*UnimplementedVmwareEngineServer) DeleteVmwareEngineNetwork(context.Context, *DeleteVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteVmwareEngineNetwork not implemented") +} +func (*UnimplementedVmwareEngineServer) GetVmwareEngineNetwork(context.Context, *GetVmwareEngineNetworkRequest) (*VmwareEngineNetwork, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVmwareEngineNetwork not implemented") +} +func (*UnimplementedVmwareEngineServer) ListVmwareEngineNetworks(context.Context, *ListVmwareEngineNetworksRequest) (*ListVmwareEngineNetworksResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListVmwareEngineNetworks not implemented") +} +func (*UnimplementedVmwareEngineServer) CreatePrivateConnection(context.Context, *CreatePrivateConnectionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePrivateConnection not implemented") +} +func (*UnimplementedVmwareEngineServer) GetPrivateConnection(context.Context, *GetPrivateConnectionRequest) (*PrivateConnection, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPrivateConnection not implemented") +} +func (*UnimplementedVmwareEngineServer) ListPrivateConnections(context.Context, *ListPrivateConnectionsRequest) (*ListPrivateConnectionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPrivateConnections not implemented") +} +func (*UnimplementedVmwareEngineServer) UpdatePrivateConnection(context.Context, *UpdatePrivateConnectionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePrivateConnection not implemented") +} +func (*UnimplementedVmwareEngineServer) DeletePrivateConnection(context.Context, *DeletePrivateConnectionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeletePrivateConnection not implemented") } -func (*UnimplementedVmwareEngineServer) DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteCluster not implemented") +func (*UnimplementedVmwareEngineServer) ListPrivateConnectionPeeringRoutes(context.Context, *ListPrivateConnectionPeeringRoutesRequest) (*ListPrivateConnectionPeeringRoutesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPrivateConnectionPeeringRoutes not implemented") } -func (*UnimplementedVmwareEngineServer) ListSubnets(context.Context, *ListSubnetsRequest) (*ListSubnetsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListSubnets not implemented") +func (*UnimplementedVmwareEngineServer) GrantDnsBindPermission(context.Context, *GrantDnsBindPermissionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GrantDnsBindPermission not implemented") } -func (*UnimplementedVmwareEngineServer) GetSubnet(context.Context, *GetSubnetRequest) (*Subnet, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSubnet not implemented") +func (*UnimplementedVmwareEngineServer) GetDnsBindPermission(context.Context, *GetDnsBindPermissionRequest) (*DnsBindPermission, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDnsBindPermission not implemented") } -func (*UnimplementedVmwareEngineServer) UpdateSubnet(context.Context, *UpdateSubnetRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateSubnet not implemented") +func (*UnimplementedVmwareEngineServer) RevokeDnsBindPermission(context.Context, *RevokeDnsBindPermissionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeDnsBindPermission not implemented") } -func (*UnimplementedVmwareEngineServer) ListNodeTypes(context.Context, *ListNodeTypesRequest) (*ListNodeTypesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListNodeTypes not implemented") + +func RegisterVmwareEngineServer(s *grpc.Server, srv VmwareEngineServer) { + s.RegisterService(&_VmwareEngine_serviceDesc, srv) } -func (*UnimplementedVmwareEngineServer) GetNodeType(context.Context, *GetNodeTypeRequest) (*NodeType, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNodeType not implemented") + +func _VmwareEngine_ListPrivateClouds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPrivateCloudsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListPrivateClouds(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateClouds", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListPrivateClouds(ctx, req.(*ListPrivateCloudsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ShowNsxCredentials(context.Context, *ShowNsxCredentialsRequest) (*Credentials, error) { - return nil, status.Errorf(codes.Unimplemented, "method ShowNsxCredentials not implemented") + +func _VmwareEngine_GetPrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPrivateCloudRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetPrivateCloud(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateCloud", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetPrivateCloud(ctx, req.(*GetPrivateCloudRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ShowVcenterCredentials(context.Context, *ShowVcenterCredentialsRequest) (*Credentials, error) { - return nil, status.Errorf(codes.Unimplemented, "method ShowVcenterCredentials not implemented") + +func _VmwareEngine_CreatePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePrivateCloudRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).CreatePrivateCloud(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateCloud", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).CreatePrivateCloud(ctx, req.(*CreatePrivateCloudRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ResetNsxCredentials(context.Context, *ResetNsxCredentialsRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetNsxCredentials not implemented") + +func _VmwareEngine_UpdatePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePrivateCloudRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UpdatePrivateCloud(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateCloud", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UpdatePrivateCloud(ctx, req.(*UpdatePrivateCloudRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ResetVcenterCredentials(context.Context, *ResetVcenterCredentialsRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetVcenterCredentials not implemented") + +func _VmwareEngine_DeletePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePrivateCloudRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).DeletePrivateCloud(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateCloud", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).DeletePrivateCloud(ctx, req.(*DeletePrivateCloudRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) CreateHcxActivationKey(context.Context, *CreateHcxActivationKeyRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateHcxActivationKey not implemented") + +func _VmwareEngine_UndeletePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UndeletePrivateCloudRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UndeletePrivateCloud(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UndeletePrivateCloud", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UndeletePrivateCloud(ctx, req.(*UndeletePrivateCloudRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ListHcxActivationKeys(context.Context, *ListHcxActivationKeysRequest) (*ListHcxActivationKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListHcxActivationKeys not implemented") + +func _VmwareEngine_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListClusters(ctx, req.(*ListClustersRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) GetHcxActivationKey(context.Context, *GetHcxActivationKeyRequest) (*HcxActivationKey, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetHcxActivationKey not implemented") + +func _VmwareEngine_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetCluster(ctx, req.(*GetClusterRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) GetNetworkPolicy(context.Context, *GetNetworkPolicyRequest) (*NetworkPolicy, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNetworkPolicy not implemented") + +func _VmwareEngine_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).CreateCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).CreateCluster(ctx, req.(*CreateClusterRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ListNetworkPolicies(context.Context, *ListNetworkPoliciesRequest) (*ListNetworkPoliciesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListNetworkPolicies not implemented") + +func _VmwareEngine_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UpdateCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UpdateCluster(ctx, req.(*UpdateClusterRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) CreateNetworkPolicy(context.Context, *CreateNetworkPolicyRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateNetworkPolicy not implemented") + +func _VmwareEngine_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).DeleteCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).DeleteCluster(ctx, req.(*DeleteClusterRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) UpdateNetworkPolicy(context.Context, *UpdateNetworkPolicyRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateNetworkPolicy not implemented") + +func _VmwareEngine_ListNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNodesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListNodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListNodes(ctx, req.(*ListNodesRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) DeleteNetworkPolicy(context.Context, *DeleteNetworkPolicyRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteNetworkPolicy not implemented") + +func _VmwareEngine_GetNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNodeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetNode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetNode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetNode(ctx, req.(*GetNodeRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) CreateVmwareEngineNetwork(context.Context, *CreateVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateVmwareEngineNetwork not implemented") + +func _VmwareEngine_ListExternalAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListExternalAddressesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListExternalAddresses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAddresses", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListExternalAddresses(ctx, req.(*ListExternalAddressesRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) UpdateVmwareEngineNetwork(context.Context, *UpdateVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateVmwareEngineNetwork not implemented") + +func _VmwareEngine_FetchNetworkPolicyExternalAddresses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FetchNetworkPolicyExternalAddressesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).FetchNetworkPolicyExternalAddresses(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/FetchNetworkPolicyExternalAddresses", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).FetchNetworkPolicyExternalAddresses(ctx, req.(*FetchNetworkPolicyExternalAddressesRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) DeleteVmwareEngineNetwork(context.Context, *DeleteVmwareEngineNetworkRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteVmwareEngineNetwork not implemented") + +func _VmwareEngine_GetExternalAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExternalAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetExternalAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetExternalAddress(ctx, req.(*GetExternalAddressRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) GetVmwareEngineNetwork(context.Context, *GetVmwareEngineNetworkRequest) (*VmwareEngineNetwork, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVmwareEngineNetwork not implemented") + +func _VmwareEngine_CreateExternalAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateExternalAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).CreateExternalAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).CreateExternalAddress(ctx, req.(*CreateExternalAddressRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ListVmwareEngineNetworks(context.Context, *ListVmwareEngineNetworksRequest) (*ListVmwareEngineNetworksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListVmwareEngineNetworks not implemented") + +func _VmwareEngine_UpdateExternalAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExternalAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UpdateExternalAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UpdateExternalAddress(ctx, req.(*UpdateExternalAddressRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) CreatePrivateConnection(context.Context, *CreatePrivateConnectionRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreatePrivateConnection not implemented") + +func _VmwareEngine_DeleteExternalAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteExternalAddressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).DeleteExternalAddress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAddress", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).DeleteExternalAddress(ctx, req.(*DeleteExternalAddressRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) GetPrivateConnection(context.Context, *GetPrivateConnectionRequest) (*PrivateConnection, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPrivateConnection not implemented") + +func _VmwareEngine_ListSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSubnetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListSubnets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListSubnets", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListSubnets(ctx, req.(*ListSubnetsRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ListPrivateConnections(context.Context, *ListPrivateConnectionsRequest) (*ListPrivateConnectionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPrivateConnections not implemented") + +func _VmwareEngine_GetSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSubnetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetSubnet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetSubnet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetSubnet(ctx, req.(*GetSubnetRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) UpdatePrivateConnection(context.Context, *UpdatePrivateConnectionRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdatePrivateConnection not implemented") + +func _VmwareEngine_UpdateSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSubnetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UpdateSubnet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateSubnet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UpdateSubnet(ctx, req.(*UpdateSubnetRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) DeletePrivateConnection(context.Context, *DeletePrivateConnectionRequest) (*longrunningpb.Operation, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePrivateConnection not implemented") + +func _VmwareEngine_ListExternalAccessRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListExternalAccessRulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListExternalAccessRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListExternalAccessRules", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListExternalAccessRules(ctx, req.(*ListExternalAccessRulesRequest)) + } + return interceptor(ctx, in, info, handler) } -func (*UnimplementedVmwareEngineServer) ListPrivateConnectionPeeringRoutes(context.Context, *ListPrivateConnectionPeeringRoutesRequest) (*ListPrivateConnectionPeeringRoutesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPrivateConnectionPeeringRoutes not implemented") + +func _VmwareEngine_GetExternalAccessRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExternalAccessRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetExternalAccessRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetExternalAccessRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetExternalAccessRule(ctx, req.(*GetExternalAccessRuleRequest)) + } + return interceptor(ctx, in, info, handler) } -func RegisterVmwareEngineServer(s *grpc.Server, srv VmwareEngineServer) { - s.RegisterService(&_VmwareEngine_serviceDesc, srv) +func _VmwareEngine_CreateExternalAccessRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateExternalAccessRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).CreateExternalAccessRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateExternalAccessRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).CreateExternalAccessRule(ctx, req.(*CreateExternalAccessRuleRequest)) + } + return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ListPrivateClouds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListPrivateCloudsRequest) +func _VmwareEngine_UpdateExternalAccessRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExternalAccessRuleRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ListPrivateClouds(ctx, in) + return srv.(VmwareEngineServer).UpdateExternalAccessRule(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListPrivateClouds", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateExternalAccessRule", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ListPrivateClouds(ctx, req.(*ListPrivateCloudsRequest)) + return srv.(VmwareEngineServer).UpdateExternalAccessRule(ctx, req.(*UpdateExternalAccessRuleRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_GetPrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetPrivateCloudRequest) +func _VmwareEngine_DeleteExternalAccessRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteExternalAccessRuleRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).GetPrivateCloud(ctx, in) + return srv.(VmwareEngineServer).DeleteExternalAccessRule(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetPrivateCloud", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteExternalAccessRule", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).GetPrivateCloud(ctx, req.(*GetPrivateCloudRequest)) + return srv.(VmwareEngineServer).DeleteExternalAccessRule(ctx, req.(*DeleteExternalAccessRuleRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_CreatePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreatePrivateCloudRequest) +func _VmwareEngine_ListLoggingServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListLoggingServersRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).CreatePrivateCloud(ctx, in) + return srv.(VmwareEngineServer).ListLoggingServers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreatePrivateCloud", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListLoggingServers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).CreatePrivateCloud(ctx, req.(*CreatePrivateCloudRequest)) + return srv.(VmwareEngineServer).ListLoggingServers(ctx, req.(*ListLoggingServersRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_UpdatePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdatePrivateCloudRequest) +func _VmwareEngine_GetLoggingServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetLoggingServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).UpdatePrivateCloud(ctx, in) + return srv.(VmwareEngineServer).GetLoggingServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdatePrivateCloud", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetLoggingServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).UpdatePrivateCloud(ctx, req.(*UpdatePrivateCloudRequest)) + return srv.(VmwareEngineServer).GetLoggingServer(ctx, req.(*GetLoggingServerRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_DeletePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePrivateCloudRequest) +func _VmwareEngine_CreateLoggingServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateLoggingServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).DeletePrivateCloud(ctx, in) + return srv.(VmwareEngineServer).CreateLoggingServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeletePrivateCloud", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateLoggingServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).DeletePrivateCloud(ctx, req.(*DeletePrivateCloudRequest)) + return srv.(VmwareEngineServer).CreateLoggingServer(ctx, req.(*CreateLoggingServerRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_UndeletePrivateCloud_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UndeletePrivateCloudRequest) +func _VmwareEngine_UpdateLoggingServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateLoggingServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).UndeletePrivateCloud(ctx, in) + return srv.(VmwareEngineServer).UpdateLoggingServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UndeletePrivateCloud", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateLoggingServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).UndeletePrivateCloud(ctx, req.(*UndeletePrivateCloudRequest)) + return srv.(VmwareEngineServer).UpdateLoggingServer(ctx, req.(*UpdateLoggingServerRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListClustersRequest) +func _VmwareEngine_DeleteLoggingServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteLoggingServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ListClusters(ctx, in) + return srv.(VmwareEngineServer).DeleteLoggingServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListClusters", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteLoggingServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ListClusters(ctx, req.(*ListClustersRequest)) + return srv.(VmwareEngineServer).DeleteLoggingServer(ctx, req.(*DeleteLoggingServerRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetClusterRequest) +func _VmwareEngine_ListNodeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNodeTypesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).GetCluster(ctx, in) + return srv.(VmwareEngineServer).ListNodeTypes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetCluster", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodeTypes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).GetCluster(ctx, req.(*GetClusterRequest)) + return srv.(VmwareEngineServer).ListNodeTypes(ctx, req.(*ListNodeTypesRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateClusterRequest) +func _VmwareEngine_GetNodeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNodeTypeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).CreateCluster(ctx, in) + return srv.(VmwareEngineServer).GetNodeType(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateCluster", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetNodeType", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).CreateCluster(ctx, req.(*CreateClusterRequest)) + return srv.(VmwareEngineServer).GetNodeType(ctx, req.(*GetNodeTypeRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateClusterRequest) +func _VmwareEngine_ShowNsxCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowNsxCredentialsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ShowNsxCredentials(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ShowNsxCredentials", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ShowNsxCredentials(ctx, req.(*ShowNsxCredentialsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_ShowVcenterCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowVcenterCredentialsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).UpdateCluster(ctx, in) + return srv.(VmwareEngineServer).ShowVcenterCredentials(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateCluster", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ShowVcenterCredentials", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).UpdateCluster(ctx, req.(*UpdateClusterRequest)) + return srv.(VmwareEngineServer).ShowVcenterCredentials(ctx, req.(*ShowVcenterCredentialsRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteClusterRequest) +func _VmwareEngine_ResetNsxCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetNsxCredentialsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).DeleteCluster(ctx, in) + return srv.(VmwareEngineServer).ResetNsxCredentials(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteCluster", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ResetNsxCredentials", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).DeleteCluster(ctx, req.(*DeleteClusterRequest)) + return srv.(VmwareEngineServer).ResetNsxCredentials(ctx, req.(*ResetNsxCredentialsRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ListSubnets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListSubnetsRequest) +func _VmwareEngine_ResetVcenterCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetVcenterCredentialsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ListSubnets(ctx, in) + return srv.(VmwareEngineServer).ResetVcenterCredentials(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListSubnets", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ResetVcenterCredentials", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ListSubnets(ctx, req.(*ListSubnetsRequest)) + return srv.(VmwareEngineServer).ResetVcenterCredentials(ctx, req.(*ResetVcenterCredentialsRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_GetSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetSubnetRequest) +func _VmwareEngine_GetDnsForwarding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDnsForwardingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).GetSubnet(ctx, in) + return srv.(VmwareEngineServer).GetDnsForwarding(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetSubnet", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsForwarding", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).GetSubnet(ctx, req.(*GetSubnetRequest)) + return srv.(VmwareEngineServer).GetDnsForwarding(ctx, req.(*GetDnsForwardingRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_UpdateSubnet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateSubnetRequest) +func _VmwareEngine_UpdateDnsForwarding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateDnsForwardingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).UpdateSubnet(ctx, in) + return srv.(VmwareEngineServer).UpdateDnsForwarding(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateSubnet", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateDnsForwarding", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).UpdateSubnet(ctx, req.(*UpdateSubnetRequest)) + return srv.(VmwareEngineServer).UpdateDnsForwarding(ctx, req.(*UpdateDnsForwardingRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ListNodeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListNodeTypesRequest) +func _VmwareEngine_GetNetworkPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNetworkPeeringRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ListNodeTypes(ctx, in) + return srv.(VmwareEngineServer).GetNetworkPeering(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListNodeTypes", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetNetworkPeering", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ListNodeTypes(ctx, req.(*ListNodeTypesRequest)) + return srv.(VmwareEngineServer).GetNetworkPeering(ctx, req.(*GetNetworkPeeringRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_GetNodeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetNodeTypeRequest) +func _VmwareEngine_ListNetworkPeerings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNetworkPeeringsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).GetNodeType(ctx, in) + return srv.(VmwareEngineServer).ListNetworkPeerings(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetNodeType", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListNetworkPeerings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).GetNodeType(ctx, req.(*GetNodeTypeRequest)) + return srv.(VmwareEngineServer).ListNetworkPeerings(ctx, req.(*ListNetworkPeeringsRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ShowNsxCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ShowNsxCredentialsRequest) +func _VmwareEngine_CreateNetworkPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNetworkPeeringRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ShowNsxCredentials(ctx, in) + return srv.(VmwareEngineServer).CreateNetworkPeering(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ShowNsxCredentials", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateNetworkPeering", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ShowNsxCredentials(ctx, req.(*ShowNsxCredentialsRequest)) + return srv.(VmwareEngineServer).CreateNetworkPeering(ctx, req.(*CreateNetworkPeeringRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ShowVcenterCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ShowVcenterCredentialsRequest) +func _VmwareEngine_DeleteNetworkPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNetworkPeeringRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ShowVcenterCredentials(ctx, in) + return srv.(VmwareEngineServer).DeleteNetworkPeering(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ShowVcenterCredentials", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteNetworkPeering", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ShowVcenterCredentials(ctx, req.(*ShowVcenterCredentialsRequest)) + return srv.(VmwareEngineServer).DeleteNetworkPeering(ctx, req.(*DeleteNetworkPeeringRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ResetNsxCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResetNsxCredentialsRequest) +func _VmwareEngine_UpdateNetworkPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNetworkPeeringRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ResetNsxCredentials(ctx, in) + return srv.(VmwareEngineServer).UpdateNetworkPeering(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ResetNsxCredentials", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateNetworkPeering", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ResetNsxCredentials(ctx, req.(*ResetNsxCredentialsRequest)) + return srv.(VmwareEngineServer).UpdateNetworkPeering(ctx, req.(*UpdateNetworkPeeringRequest)) } return interceptor(ctx, in, info, handler) } -func _VmwareEngine_ResetVcenterCredentials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResetVcenterCredentialsRequest) +func _VmwareEngine_ListPeeringRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPeeringRoutesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(VmwareEngineServer).ResetVcenterCredentials(ctx, in) + return srv.(VmwareEngineServer).ListPeeringRoutes(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ResetVcenterCredentials", + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListPeeringRoutes", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VmwareEngineServer).ResetVcenterCredentials(ctx, req.(*ResetVcenterCredentialsRequest)) + return srv.(VmwareEngineServer).ListPeeringRoutes(ctx, req.(*ListPeeringRoutesRequest)) } return interceptor(ctx, in, info, handler) } @@ -7321,6 +13724,114 @@ func _VmwareEngine_DeleteNetworkPolicy_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _VmwareEngine_ListManagementDnsZoneBindings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListManagementDnsZoneBindingsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).ListManagementDnsZoneBindings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/ListManagementDnsZoneBindings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).ListManagementDnsZoneBindings(ctx, req.(*ListManagementDnsZoneBindingsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_GetManagementDnsZoneBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetManagementDnsZoneBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetManagementDnsZoneBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetManagementDnsZoneBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetManagementDnsZoneBinding(ctx, req.(*GetManagementDnsZoneBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_CreateManagementDnsZoneBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateManagementDnsZoneBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).CreateManagementDnsZoneBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/CreateManagementDnsZoneBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).CreateManagementDnsZoneBinding(ctx, req.(*CreateManagementDnsZoneBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_UpdateManagementDnsZoneBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateManagementDnsZoneBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).UpdateManagementDnsZoneBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/UpdateManagementDnsZoneBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).UpdateManagementDnsZoneBinding(ctx, req.(*UpdateManagementDnsZoneBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_DeleteManagementDnsZoneBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteManagementDnsZoneBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).DeleteManagementDnsZoneBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/DeleteManagementDnsZoneBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).DeleteManagementDnsZoneBinding(ctx, req.(*DeleteManagementDnsZoneBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_RepairManagementDnsZoneBinding_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RepairManagementDnsZoneBindingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).RepairManagementDnsZoneBinding(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/RepairManagementDnsZoneBinding", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).RepairManagementDnsZoneBinding(ctx, req.(*RepairManagementDnsZoneBindingRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _VmwareEngine_CreateVmwareEngineNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateVmwareEngineNetworkRequest) if err := dec(in); err != nil { @@ -7519,6 +14030,60 @@ func _VmwareEngine_ListPrivateConnectionPeeringRoutes_Handler(srv interface{}, c return interceptor(ctx, in, info, handler) } +func _VmwareEngine_GrantDnsBindPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GrantDnsBindPermissionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GrantDnsBindPermission(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GrantDnsBindPermission", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GrantDnsBindPermission(ctx, req.(*GrantDnsBindPermissionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_GetDnsBindPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDnsBindPermissionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).GetDnsBindPermission(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/GetDnsBindPermission", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).GetDnsBindPermission(ctx, req.(*GetDnsBindPermissionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VmwareEngine_RevokeDnsBindPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RevokeDnsBindPermissionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VmwareEngineServer).RevokeDnsBindPermission(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.vmwareengine.v1.VmwareEngine/RevokeDnsBindPermission", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VmwareEngineServer).RevokeDnsBindPermission(ctx, req.(*RevokeDnsBindPermissionRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.vmwareengine.v1.VmwareEngine", HandlerType: (*VmwareEngineServer)(nil), @@ -7567,6 +14132,38 @@ var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ MethodName: "DeleteCluster", Handler: _VmwareEngine_DeleteCluster_Handler, }, + { + MethodName: "ListNodes", + Handler: _VmwareEngine_ListNodes_Handler, + }, + { + MethodName: "GetNode", + Handler: _VmwareEngine_GetNode_Handler, + }, + { + MethodName: "ListExternalAddresses", + Handler: _VmwareEngine_ListExternalAddresses_Handler, + }, + { + MethodName: "FetchNetworkPolicyExternalAddresses", + Handler: _VmwareEngine_FetchNetworkPolicyExternalAddresses_Handler, + }, + { + MethodName: "GetExternalAddress", + Handler: _VmwareEngine_GetExternalAddress_Handler, + }, + { + MethodName: "CreateExternalAddress", + Handler: _VmwareEngine_CreateExternalAddress_Handler, + }, + { + MethodName: "UpdateExternalAddress", + Handler: _VmwareEngine_UpdateExternalAddress_Handler, + }, + { + MethodName: "DeleteExternalAddress", + Handler: _VmwareEngine_DeleteExternalAddress_Handler, + }, { MethodName: "ListSubnets", Handler: _VmwareEngine_ListSubnets_Handler, @@ -7579,6 +14176,46 @@ var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateSubnet", Handler: _VmwareEngine_UpdateSubnet_Handler, }, + { + MethodName: "ListExternalAccessRules", + Handler: _VmwareEngine_ListExternalAccessRules_Handler, + }, + { + MethodName: "GetExternalAccessRule", + Handler: _VmwareEngine_GetExternalAccessRule_Handler, + }, + { + MethodName: "CreateExternalAccessRule", + Handler: _VmwareEngine_CreateExternalAccessRule_Handler, + }, + { + MethodName: "UpdateExternalAccessRule", + Handler: _VmwareEngine_UpdateExternalAccessRule_Handler, + }, + { + MethodName: "DeleteExternalAccessRule", + Handler: _VmwareEngine_DeleteExternalAccessRule_Handler, + }, + { + MethodName: "ListLoggingServers", + Handler: _VmwareEngine_ListLoggingServers_Handler, + }, + { + MethodName: "GetLoggingServer", + Handler: _VmwareEngine_GetLoggingServer_Handler, + }, + { + MethodName: "CreateLoggingServer", + Handler: _VmwareEngine_CreateLoggingServer_Handler, + }, + { + MethodName: "UpdateLoggingServer", + Handler: _VmwareEngine_UpdateLoggingServer_Handler, + }, + { + MethodName: "DeleteLoggingServer", + Handler: _VmwareEngine_DeleteLoggingServer_Handler, + }, { MethodName: "ListNodeTypes", Handler: _VmwareEngine_ListNodeTypes_Handler, @@ -7603,6 +14240,38 @@ var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ MethodName: "ResetVcenterCredentials", Handler: _VmwareEngine_ResetVcenterCredentials_Handler, }, + { + MethodName: "GetDnsForwarding", + Handler: _VmwareEngine_GetDnsForwarding_Handler, + }, + { + MethodName: "UpdateDnsForwarding", + Handler: _VmwareEngine_UpdateDnsForwarding_Handler, + }, + { + MethodName: "GetNetworkPeering", + Handler: _VmwareEngine_GetNetworkPeering_Handler, + }, + { + MethodName: "ListNetworkPeerings", + Handler: _VmwareEngine_ListNetworkPeerings_Handler, + }, + { + MethodName: "CreateNetworkPeering", + Handler: _VmwareEngine_CreateNetworkPeering_Handler, + }, + { + MethodName: "DeleteNetworkPeering", + Handler: _VmwareEngine_DeleteNetworkPeering_Handler, + }, + { + MethodName: "UpdateNetworkPeering", + Handler: _VmwareEngine_UpdateNetworkPeering_Handler, + }, + { + MethodName: "ListPeeringRoutes", + Handler: _VmwareEngine_ListPeeringRoutes_Handler, + }, { MethodName: "CreateHcxActivationKey", Handler: _VmwareEngine_CreateHcxActivationKey_Handler, @@ -7635,6 +14304,30 @@ var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ MethodName: "DeleteNetworkPolicy", Handler: _VmwareEngine_DeleteNetworkPolicy_Handler, }, + { + MethodName: "ListManagementDnsZoneBindings", + Handler: _VmwareEngine_ListManagementDnsZoneBindings_Handler, + }, + { + MethodName: "GetManagementDnsZoneBinding", + Handler: _VmwareEngine_GetManagementDnsZoneBinding_Handler, + }, + { + MethodName: "CreateManagementDnsZoneBinding", + Handler: _VmwareEngine_CreateManagementDnsZoneBinding_Handler, + }, + { + MethodName: "UpdateManagementDnsZoneBinding", + Handler: _VmwareEngine_UpdateManagementDnsZoneBinding_Handler, + }, + { + MethodName: "DeleteManagementDnsZoneBinding", + Handler: _VmwareEngine_DeleteManagementDnsZoneBinding_Handler, + }, + { + MethodName: "RepairManagementDnsZoneBinding", + Handler: _VmwareEngine_RepairManagementDnsZoneBinding_Handler, + }, { MethodName: "CreateVmwareEngineNetwork", Handler: _VmwareEngine_CreateVmwareEngineNetwork_Handler, @@ -7679,6 +14372,18 @@ var _VmwareEngine_serviceDesc = grpc.ServiceDesc{ MethodName: "ListPrivateConnectionPeeringRoutes", Handler: _VmwareEngine_ListPrivateConnectionPeeringRoutes_Handler, }, + { + MethodName: "GrantDnsBindPermission", + Handler: _VmwareEngine_GrantDnsBindPermission_Handler, + }, + { + MethodName: "GetDnsBindPermission", + Handler: _VmwareEngine_GetDnsBindPermission_Handler, + }, + { + MethodName: "RevokeDnsBindPermission", + Handler: _VmwareEngine_RevokeDnsBindPermission_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/vmwareengine/v1/vmwareengine.proto", diff --git a/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go b/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go index 702e451031e8..4d1cb11211f6 100755 --- a/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go +++ b/vmwareengine/apiv1/vmwareenginepb/vmwareengine_resources.pb.go @@ -105,7 +105,7 @@ func (x PrivateCloud_State) Number() protoreflect.EnumNumber { // Deprecated: Use PrivateCloud_State.Descriptor instead. func (PrivateCloud_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{2, 0} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3, 0} } // Enum Type defines private cloud type. @@ -119,6 +119,9 @@ const ( // can be converted into standard private cloud by expanding it up to 3 // or more nodes. PrivateCloud_TIME_LIMITED PrivateCloud_Type = 1 + // Stretched private cloud is a regional resource with redundancy, + // with a minimum of 6 nodes, nodes count has to be even. + PrivateCloud_STRETCHED PrivateCloud_Type = 2 ) // Enum value maps for PrivateCloud_Type. @@ -126,10 +129,12 @@ var ( PrivateCloud_Type_name = map[int32]string{ 0: "STANDARD", 1: "TIME_LIMITED", + 2: "STRETCHED", } PrivateCloud_Type_value = map[string]int32{ "STANDARD": 0, "TIME_LIMITED": 1, + "STRETCHED": 2, } ) @@ -157,7 +162,7 @@ func (x PrivateCloud_Type) Number() protoreflect.EnumNumber { // Deprecated: Use PrivateCloud_Type.Descriptor instead. func (PrivateCloud_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{2, 1} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3, 1} } // Enum State defines possible states of private cloud clusters. @@ -224,923 +229,2034 @@ func (x Cluster_State) Number() protoreflect.EnumNumber { // Deprecated: Use Cluster_State.Descriptor instead. func (Cluster_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3, 0} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{4, 0} } -// Defines possible states of subnets. -type Subnet_State int32 +// Enum State defines possible states of a node in a cluster. +type Node_State int32 const ( // The default value. This value should never be used. - Subnet_STATE_UNSPECIFIED Subnet_State = 0 - // The subnet is ready. - Subnet_ACTIVE Subnet_State = 1 - // The subnet is being created. - Subnet_CREATING Subnet_State = 2 - // The subnet is being updated. - Subnet_UPDATING Subnet_State = 3 - // The subnet is being deleted. - Subnet_DELETING Subnet_State = 4 - // Changes requested in the last operation are being propagated. - Subnet_RECONCILING Subnet_State = 5 - // Last operation on the subnet did not succeed. Subnet's payload is - // reverted back to its most recent working state. - Subnet_FAILED Subnet_State = 6 + Node_STATE_UNSPECIFIED Node_State = 0 + // Node is operational and can be used by the user. + Node_ACTIVE Node_State = 1 + // Node is being provisioned. + Node_CREATING Node_State = 2 + // Node is in a failed state. + Node_FAILED Node_State = 3 + // Node is undergoing maintenance, e.g.: during private cloud upgrade. + Node_UPGRADING Node_State = 4 ) -// Enum value maps for Subnet_State. +// Enum value maps for Node_State. var ( - Subnet_State_name = map[int32]string{ + Node_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", 1: "ACTIVE", 2: "CREATING", - 3: "UPDATING", - 4: "DELETING", - 5: "RECONCILING", - 6: "FAILED", + 3: "FAILED", + 4: "UPGRADING", } - Subnet_State_value = map[string]int32{ + Node_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, "ACTIVE": 1, "CREATING": 2, - "UPDATING": 3, - "DELETING": 4, - "RECONCILING": 5, - "FAILED": 6, + "FAILED": 3, + "UPGRADING": 4, } ) -func (x Subnet_State) Enum() *Subnet_State { - p := new(Subnet_State) +func (x Node_State) Enum() *Node_State { + p := new(Node_State) *p = x return p } -func (x Subnet_State) String() string { +func (x Node_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Subnet_State) Descriptor() protoreflect.EnumDescriptor { +func (Node_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[3].Descriptor() } -func (Subnet_State) Type() protoreflect.EnumType { +func (Node_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[3] } -func (x Subnet_State) Number() protoreflect.EnumNumber { +func (x Node_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Subnet_State.Descriptor instead. -func (Subnet_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{4, 0} +// Deprecated: Use Node_State.Descriptor instead. +func (Node_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{5, 0} } -// State of HCX activation key -type HcxActivationKey_State int32 +// Enum State defines possible states of external addresses. +type ExternalAddress_State int32 const ( - // Unspecified state. - HcxActivationKey_STATE_UNSPECIFIED HcxActivationKey_State = 0 - // State of a newly generated activation key. - HcxActivationKey_AVAILABLE HcxActivationKey_State = 1 - // State of key when it has been used to activate HCX appliance. - HcxActivationKey_CONSUMED HcxActivationKey_State = 2 - // State of key when it is being created. - HcxActivationKey_CREATING HcxActivationKey_State = 3 + // The default value. This value should never be used. + ExternalAddress_STATE_UNSPECIFIED ExternalAddress_State = 0 + // The address is ready. + ExternalAddress_ACTIVE ExternalAddress_State = 1 + // The address is being created. + ExternalAddress_CREATING ExternalAddress_State = 2 + // The address is being updated. + ExternalAddress_UPDATING ExternalAddress_State = 3 + // The address is being deleted. + ExternalAddress_DELETING ExternalAddress_State = 4 ) -// Enum value maps for HcxActivationKey_State. +// Enum value maps for ExternalAddress_State. var ( - HcxActivationKey_State_name = map[int32]string{ + ExternalAddress_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", - 1: "AVAILABLE", - 2: "CONSUMED", - 3: "CREATING", + 1: "ACTIVE", + 2: "CREATING", + 3: "UPDATING", + 4: "DELETING", } - HcxActivationKey_State_value = map[string]int32{ + ExternalAddress_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, - "AVAILABLE": 1, - "CONSUMED": 2, - "CREATING": 3, + "ACTIVE": 1, + "CREATING": 2, + "UPDATING": 3, + "DELETING": 4, } ) -func (x HcxActivationKey_State) Enum() *HcxActivationKey_State { - p := new(HcxActivationKey_State) +func (x ExternalAddress_State) Enum() *ExternalAddress_State { + p := new(ExternalAddress_State) *p = x return p } -func (x HcxActivationKey_State) String() string { +func (x ExternalAddress_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (HcxActivationKey_State) Descriptor() protoreflect.EnumDescriptor { +func (ExternalAddress_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[4].Descriptor() } -func (HcxActivationKey_State) Type() protoreflect.EnumType { +func (ExternalAddress_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[4] } -func (x HcxActivationKey_State) Number() protoreflect.EnumNumber { +func (x ExternalAddress_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use HcxActivationKey_State.Descriptor instead. -func (HcxActivationKey_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{7, 0} +// Deprecated: Use ExternalAddress_State.Descriptor instead. +func (ExternalAddress_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{6, 0} } -// State of the appliance -type Hcx_State int32 +// Defines possible states of subnets. +type Subnet_State int32 const ( - // Unspecified appliance state. This is the default value. - Hcx_STATE_UNSPECIFIED Hcx_State = 0 - // The appliance is operational and can be used. - Hcx_ACTIVE Hcx_State = 1 - // The appliance is being deployed. - Hcx_CREATING Hcx_State = 2 + // The default value. This value should never be used. + Subnet_STATE_UNSPECIFIED Subnet_State = 0 + // The subnet is ready. + Subnet_ACTIVE Subnet_State = 1 + // The subnet is being created. + Subnet_CREATING Subnet_State = 2 + // The subnet is being updated. + Subnet_UPDATING Subnet_State = 3 + // The subnet is being deleted. + Subnet_DELETING Subnet_State = 4 + // Changes requested in the last operation are being propagated. + Subnet_RECONCILING Subnet_State = 5 + // Last operation on the subnet did not succeed. Subnet's payload is + // reverted back to its most recent working state. + Subnet_FAILED Subnet_State = 6 ) -// Enum value maps for Hcx_State. +// Enum value maps for Subnet_State. var ( - Hcx_State_name = map[int32]string{ + Subnet_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", 1: "ACTIVE", 2: "CREATING", + 3: "UPDATING", + 4: "DELETING", + 5: "RECONCILING", + 6: "FAILED", } - Hcx_State_value = map[string]int32{ + Subnet_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, "ACTIVE": 1, "CREATING": 2, + "UPDATING": 3, + "DELETING": 4, + "RECONCILING": 5, + "FAILED": 6, } ) -func (x Hcx_State) Enum() *Hcx_State { - p := new(Hcx_State) +func (x Subnet_State) Enum() *Subnet_State { + p := new(Subnet_State) *p = x return p } -func (x Hcx_State) String() string { +func (x Subnet_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Hcx_State) Descriptor() protoreflect.EnumDescriptor { +func (Subnet_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[5].Descriptor() } -func (Hcx_State) Type() protoreflect.EnumType { +func (Subnet_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[5] } -func (x Hcx_State) Number() protoreflect.EnumNumber { +func (x Subnet_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Hcx_State.Descriptor instead. -func (Hcx_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8, 0} +// Deprecated: Use Subnet_State.Descriptor instead. +func (Subnet_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{7, 0} } -// State of the appliance -type Nsx_State int32 +// Action determines whether the external access rule permits or blocks +// traffic, subject to the other components of the rule matching the traffic. +type ExternalAccessRule_Action int32 const ( - // Unspecified appliance state. This is the default value. - Nsx_STATE_UNSPECIFIED Nsx_State = 0 - // The appliance is operational and can be used. - Nsx_ACTIVE Nsx_State = 1 - // The appliance is being deployed. - Nsx_CREATING Nsx_State = 2 + // Defaults to allow. + ExternalAccessRule_ACTION_UNSPECIFIED ExternalAccessRule_Action = 0 + // Allows connections that match the other specified components. + ExternalAccessRule_ALLOW ExternalAccessRule_Action = 1 + // Blocks connections that match the other specified components. + ExternalAccessRule_DENY ExternalAccessRule_Action = 2 ) -// Enum value maps for Nsx_State. +// Enum value maps for ExternalAccessRule_Action. var ( - Nsx_State_name = map[int32]string{ - 0: "STATE_UNSPECIFIED", - 1: "ACTIVE", - 2: "CREATING", + ExternalAccessRule_Action_name = map[int32]string{ + 0: "ACTION_UNSPECIFIED", + 1: "ALLOW", + 2: "DENY", } - Nsx_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "ACTIVE": 1, - "CREATING": 2, + ExternalAccessRule_Action_value = map[string]int32{ + "ACTION_UNSPECIFIED": 0, + "ALLOW": 1, + "DENY": 2, } ) -func (x Nsx_State) Enum() *Nsx_State { - p := new(Nsx_State) +func (x ExternalAccessRule_Action) Enum() *ExternalAccessRule_Action { + p := new(ExternalAccessRule_Action) *p = x return p } -func (x Nsx_State) String() string { +func (x ExternalAccessRule_Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Nsx_State) Descriptor() protoreflect.EnumDescriptor { +func (ExternalAccessRule_Action) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[6].Descriptor() } -func (Nsx_State) Type() protoreflect.EnumType { +func (ExternalAccessRule_Action) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[6] } -func (x Nsx_State) Number() protoreflect.EnumNumber { +func (x ExternalAccessRule_Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Nsx_State.Descriptor instead. -func (Nsx_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{9, 0} +// Deprecated: Use ExternalAccessRule_Action.Descriptor instead. +func (ExternalAccessRule_Action) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8, 0} } -// State of the appliance -type Vcenter_State int32 +// Defines possible states of external access firewall rules. +type ExternalAccessRule_State int32 const ( - // Unspecified appliance state. This is the default value. - Vcenter_STATE_UNSPECIFIED Vcenter_State = 0 - // The appliance is operational and can be used. - Vcenter_ACTIVE Vcenter_State = 1 - // The appliance is being deployed. - Vcenter_CREATING Vcenter_State = 2 + // The default value. This value is used if the state is omitted. + ExternalAccessRule_STATE_UNSPECIFIED ExternalAccessRule_State = 0 + // The rule is ready. + ExternalAccessRule_ACTIVE ExternalAccessRule_State = 1 + // The rule is being created. + ExternalAccessRule_CREATING ExternalAccessRule_State = 2 + // The rule is being updated. + ExternalAccessRule_UPDATING ExternalAccessRule_State = 3 + // The rule is being deleted. + ExternalAccessRule_DELETING ExternalAccessRule_State = 4 ) -// Enum value maps for Vcenter_State. +// Enum value maps for ExternalAccessRule_State. var ( - Vcenter_State_name = map[int32]string{ + ExternalAccessRule_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", 1: "ACTIVE", 2: "CREATING", + 3: "UPDATING", + 4: "DELETING", } - Vcenter_State_value = map[string]int32{ + ExternalAccessRule_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, "ACTIVE": 1, "CREATING": 2, + "UPDATING": 3, + "DELETING": 4, } ) -func (x Vcenter_State) Enum() *Vcenter_State { - p := new(Vcenter_State) +func (x ExternalAccessRule_State) Enum() *ExternalAccessRule_State { + p := new(ExternalAccessRule_State) *p = x return p } -func (x Vcenter_State) String() string { +func (x ExternalAccessRule_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Vcenter_State) Descriptor() protoreflect.EnumDescriptor { +func (ExternalAccessRule_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[7].Descriptor() } -func (Vcenter_State) Type() protoreflect.EnumType { +func (ExternalAccessRule_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[7] } -func (x Vcenter_State) Number() protoreflect.EnumNumber { +func (x ExternalAccessRule_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Vcenter_State.Descriptor instead. -func (Vcenter_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{10, 0} +// Deprecated: Use ExternalAccessRule_State.Descriptor instead. +func (ExternalAccessRule_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8, 1} } -// The type of the peering route. -type PeeringRoute_Type int32 +// Defines possible protocols used to send logs to +// a logging server. +type LoggingServer_Protocol int32 const ( - // Unspecified peering route type. This is the default value. - PeeringRoute_TYPE_UNSPECIFIED PeeringRoute_Type = 0 - // Dynamic routes in the peer network. - PeeringRoute_DYNAMIC_PEERING_ROUTE PeeringRoute_Type = 1 - // Static routes in the peer network. - PeeringRoute_STATIC_PEERING_ROUTE PeeringRoute_Type = 2 - // Created, updated, and removed automatically by Google Cloud when subnets - // are created, modified, or deleted in the peer network. - PeeringRoute_SUBNET_PEERING_ROUTE PeeringRoute_Type = 3 + // Unspecified communications protocol. This is the default value. + LoggingServer_PROTOCOL_UNSPECIFIED LoggingServer_Protocol = 0 + // UDP + LoggingServer_UDP LoggingServer_Protocol = 1 + // TCP + LoggingServer_TCP LoggingServer_Protocol = 2 ) -// Enum value maps for PeeringRoute_Type. +// Enum value maps for LoggingServer_Protocol. var ( - PeeringRoute_Type_name = map[int32]string{ - 0: "TYPE_UNSPECIFIED", - 1: "DYNAMIC_PEERING_ROUTE", - 2: "STATIC_PEERING_ROUTE", - 3: "SUBNET_PEERING_ROUTE", + LoggingServer_Protocol_name = map[int32]string{ + 0: "PROTOCOL_UNSPECIFIED", + 1: "UDP", + 2: "TCP", } - PeeringRoute_Type_value = map[string]int32{ - "TYPE_UNSPECIFIED": 0, - "DYNAMIC_PEERING_ROUTE": 1, - "STATIC_PEERING_ROUTE": 2, - "SUBNET_PEERING_ROUTE": 3, + LoggingServer_Protocol_value = map[string]int32{ + "PROTOCOL_UNSPECIFIED": 0, + "UDP": 1, + "TCP": 2, } ) -func (x PeeringRoute_Type) Enum() *PeeringRoute_Type { - p := new(PeeringRoute_Type) +func (x LoggingServer_Protocol) Enum() *LoggingServer_Protocol { + p := new(LoggingServer_Protocol) *p = x return p } -func (x PeeringRoute_Type) String() string { +func (x LoggingServer_Protocol) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PeeringRoute_Type) Descriptor() protoreflect.EnumDescriptor { +func (LoggingServer_Protocol) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[8].Descriptor() } -func (PeeringRoute_Type) Type() protoreflect.EnumType { +func (LoggingServer_Protocol) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[8] } -func (x PeeringRoute_Type) Number() protoreflect.EnumNumber { +func (x LoggingServer_Protocol) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PeeringRoute_Type.Descriptor instead. -func (PeeringRoute_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{11, 0} +// Deprecated: Use LoggingServer_Protocol.Descriptor instead. +func (LoggingServer_Protocol) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{9, 0} } -// The direction of the exchanged routes. -type PeeringRoute_Direction int32 +// Defines possible types of component that produces logs. +type LoggingServer_SourceType int32 const ( - // Unspecified exchanged routes direction. This is default. - PeeringRoute_DIRECTION_UNSPECIFIED PeeringRoute_Direction = 0 - // Routes imported from the peer network. - PeeringRoute_INCOMING PeeringRoute_Direction = 1 - // Routes exported to the peer network. - PeeringRoute_OUTGOING PeeringRoute_Direction = 2 + // The default value. This value should never be used. + LoggingServer_SOURCE_TYPE_UNSPECIFIED LoggingServer_SourceType = 0 + // Logs produced by ESXI hosts + LoggingServer_ESXI LoggingServer_SourceType = 1 + // Logs produced by vCenter server + LoggingServer_VCSA LoggingServer_SourceType = 2 ) -// Enum value maps for PeeringRoute_Direction. +// Enum value maps for LoggingServer_SourceType. var ( - PeeringRoute_Direction_name = map[int32]string{ - 0: "DIRECTION_UNSPECIFIED", - 1: "INCOMING", - 2: "OUTGOING", + LoggingServer_SourceType_name = map[int32]string{ + 0: "SOURCE_TYPE_UNSPECIFIED", + 1: "ESXI", + 2: "VCSA", } - PeeringRoute_Direction_value = map[string]int32{ - "DIRECTION_UNSPECIFIED": 0, - "INCOMING": 1, - "OUTGOING": 2, + LoggingServer_SourceType_value = map[string]int32{ + "SOURCE_TYPE_UNSPECIFIED": 0, + "ESXI": 1, + "VCSA": 2, } ) -func (x PeeringRoute_Direction) Enum() *PeeringRoute_Direction { - p := new(PeeringRoute_Direction) +func (x LoggingServer_SourceType) Enum() *LoggingServer_SourceType { + p := new(LoggingServer_SourceType) *p = x return p } -func (x PeeringRoute_Direction) String() string { +func (x LoggingServer_SourceType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PeeringRoute_Direction) Descriptor() protoreflect.EnumDescriptor { +func (LoggingServer_SourceType) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[9].Descriptor() } -func (PeeringRoute_Direction) Type() protoreflect.EnumType { +func (LoggingServer_SourceType) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[9] } -func (x PeeringRoute_Direction) Number() protoreflect.EnumNumber { +func (x LoggingServer_SourceType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PeeringRoute_Direction.Descriptor instead. -func (PeeringRoute_Direction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{11, 1} +// Deprecated: Use LoggingServer_SourceType.Descriptor instead. +func (LoggingServer_SourceType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{9, 1} } -// Enum State defines possible states of a network policy controlled -// service. -type NetworkPolicy_NetworkService_State int32 +// Enum Kind defines possible types of a NodeType. +type NodeType_Kind int32 const ( - // Unspecified service state. This is the default value. - NetworkPolicy_NetworkService_STATE_UNSPECIFIED NetworkPolicy_NetworkService_State = 0 - // Service is not provisioned. - NetworkPolicy_NetworkService_UNPROVISIONED NetworkPolicy_NetworkService_State = 1 - // Service is in the process of being provisioned/deprovisioned. - NetworkPolicy_NetworkService_RECONCILING NetworkPolicy_NetworkService_State = 2 - // Service is active. - NetworkPolicy_NetworkService_ACTIVE NetworkPolicy_NetworkService_State = 3 + // The default value. This value should never be used. + NodeType_KIND_UNSPECIFIED NodeType_Kind = 0 + // Standard HCI node. + NodeType_STANDARD NodeType_Kind = 1 + // Storage only Node. + NodeType_STORAGE_ONLY NodeType_Kind = 2 ) -// Enum value maps for NetworkPolicy_NetworkService_State. +// Enum value maps for NodeType_Kind. var ( - NetworkPolicy_NetworkService_State_name = map[int32]string{ - 0: "STATE_UNSPECIFIED", - 1: "UNPROVISIONED", - 2: "RECONCILING", - 3: "ACTIVE", + NodeType_Kind_name = map[int32]string{ + 0: "KIND_UNSPECIFIED", + 1: "STANDARD", + 2: "STORAGE_ONLY", } - NetworkPolicy_NetworkService_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "UNPROVISIONED": 1, - "RECONCILING": 2, - "ACTIVE": 3, + NodeType_Kind_value = map[string]int32{ + "KIND_UNSPECIFIED": 0, + "STANDARD": 1, + "STORAGE_ONLY": 2, } ) -func (x NetworkPolicy_NetworkService_State) Enum() *NetworkPolicy_NetworkService_State { - p := new(NetworkPolicy_NetworkService_State) +func (x NodeType_Kind) Enum() *NodeType_Kind { + p := new(NodeType_Kind) *p = x return p } -func (x NetworkPolicy_NetworkService_State) String() string { +func (x NodeType_Kind) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NetworkPolicy_NetworkService_State) Descriptor() protoreflect.EnumDescriptor { +func (NodeType_Kind) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[10].Descriptor() } -func (NetworkPolicy_NetworkService_State) Type() protoreflect.EnumType { +func (NodeType_Kind) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[10] } -func (x NetworkPolicy_NetworkService_State) Number() protoreflect.EnumNumber { +func (x NodeType_Kind) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NetworkPolicy_NetworkService_State.Descriptor instead. -func (NetworkPolicy_NetworkService_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{12, 0, 0} +// Deprecated: Use NodeType_Kind.Descriptor instead. +func (NodeType_Kind) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{10, 0} } -// Enum State defines possible states of VMware Engine network. -type VmwareEngineNetwork_State int32 +// Capability of a node type. +type NodeType_Capability int32 const ( - // The default value. This value is used if the state is omitted. - VmwareEngineNetwork_STATE_UNSPECIFIED VmwareEngineNetwork_State = 0 - // The VMware Engine network is being created. - VmwareEngineNetwork_CREATING VmwareEngineNetwork_State = 1 - // The VMware Engine network is ready. - VmwareEngineNetwork_ACTIVE VmwareEngineNetwork_State = 2 - // The VMware Engine network is being updated. - VmwareEngineNetwork_UPDATING VmwareEngineNetwork_State = 3 - // The VMware Engine network is being deleted. - VmwareEngineNetwork_DELETING VmwareEngineNetwork_State = 4 + // The default value. This value is used if the capability is omitted or + // unknown. + NodeType_CAPABILITY_UNSPECIFIED NodeType_Capability = 0 + // This node type supports stretch clusters. + NodeType_STRETCHED_CLUSTERS NodeType_Capability = 1 ) -// Enum value maps for VmwareEngineNetwork_State. +// Enum value maps for NodeType_Capability. var ( - VmwareEngineNetwork_State_name = map[int32]string{ - 0: "STATE_UNSPECIFIED", - 1: "CREATING", - 2: "ACTIVE", - 3: "UPDATING", - 4: "DELETING", + NodeType_Capability_name = map[int32]string{ + 0: "CAPABILITY_UNSPECIFIED", + 1: "STRETCHED_CLUSTERS", } - VmwareEngineNetwork_State_value = map[string]int32{ - "STATE_UNSPECIFIED": 0, - "CREATING": 1, - "ACTIVE": 2, - "UPDATING": 3, - "DELETING": 4, + NodeType_Capability_value = map[string]int32{ + "CAPABILITY_UNSPECIFIED": 0, + "STRETCHED_CLUSTERS": 1, } ) -func (x VmwareEngineNetwork_State) Enum() *VmwareEngineNetwork_State { - p := new(VmwareEngineNetwork_State) +func (x NodeType_Capability) Enum() *NodeType_Capability { + p := new(NodeType_Capability) *p = x return p } -func (x VmwareEngineNetwork_State) String() string { +func (x NodeType_Capability) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (VmwareEngineNetwork_State) Descriptor() protoreflect.EnumDescriptor { +func (NodeType_Capability) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[11].Descriptor() } -func (VmwareEngineNetwork_State) Type() protoreflect.EnumType { +func (NodeType_Capability) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[11] } -func (x VmwareEngineNetwork_State) Number() protoreflect.EnumNumber { +func (x NodeType_Capability) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use VmwareEngineNetwork_State.Descriptor instead. -func (VmwareEngineNetwork_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13, 0} +// Deprecated: Use NodeType_Capability.Descriptor instead. +func (NodeType_Capability) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{10, 1} } -// Enum Type defines possible types of VMware Engine network. -type VmwareEngineNetwork_Type int32 +// State of HCX activation key +type HcxActivationKey_State int32 const ( - // The default value. This value should never be used. - VmwareEngineNetwork_TYPE_UNSPECIFIED VmwareEngineNetwork_Type = 0 - // Network type used by private clouds created in projects without a network - // of type `STANDARD`. This network type is no longer used for new VMware - // Engine private cloud deployments. - VmwareEngineNetwork_LEGACY VmwareEngineNetwork_Type = 1 + // Unspecified state. + HcxActivationKey_STATE_UNSPECIFIED HcxActivationKey_State = 0 + // State of a newly generated activation key. + HcxActivationKey_AVAILABLE HcxActivationKey_State = 1 + // State of key when it has been used to activate HCX appliance. + HcxActivationKey_CONSUMED HcxActivationKey_State = 2 + // State of key when it is being created. + HcxActivationKey_CREATING HcxActivationKey_State = 3 ) -// Enum value maps for VmwareEngineNetwork_Type. +// Enum value maps for HcxActivationKey_State. var ( - VmwareEngineNetwork_Type_name = map[int32]string{ - 0: "TYPE_UNSPECIFIED", - 1: "LEGACY", + HcxActivationKey_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "AVAILABLE", + 2: "CONSUMED", + 3: "CREATING", } - VmwareEngineNetwork_Type_value = map[string]int32{ - "TYPE_UNSPECIFIED": 0, - "LEGACY": 1, + HcxActivationKey_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "AVAILABLE": 1, + "CONSUMED": 2, + "CREATING": 3, } ) -func (x VmwareEngineNetwork_Type) Enum() *VmwareEngineNetwork_Type { - p := new(VmwareEngineNetwork_Type) +func (x HcxActivationKey_State) Enum() *HcxActivationKey_State { + p := new(HcxActivationKey_State) *p = x return p } -func (x VmwareEngineNetwork_Type) String() string { +func (x HcxActivationKey_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (VmwareEngineNetwork_Type) Descriptor() protoreflect.EnumDescriptor { +func (HcxActivationKey_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[12].Descriptor() } -func (VmwareEngineNetwork_Type) Type() protoreflect.EnumType { +func (HcxActivationKey_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[12] } -func (x VmwareEngineNetwork_Type) Number() protoreflect.EnumNumber { +func (x HcxActivationKey_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use VmwareEngineNetwork_Type.Descriptor instead. -func (VmwareEngineNetwork_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13, 1} +// Deprecated: Use HcxActivationKey_State.Descriptor instead. +func (HcxActivationKey_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{12, 0} } -// Enum Type defines possible types of a VMware Engine network controlled -// service. -type VmwareEngineNetwork_VpcNetwork_Type int32 +// State of the appliance +type Hcx_State int32 const ( - // The default value. This value should never be used. - VmwareEngineNetwork_VpcNetwork_TYPE_UNSPECIFIED VmwareEngineNetwork_VpcNetwork_Type = 0 - // VPC network that will be peered with a consumer VPC network or the - // intranet VPC of another VMware Engine network. Access a private cloud - // through Compute Engine VMs on a peered VPC network or an on-premises - // resource connected to a peered consumer VPC network. - VmwareEngineNetwork_VpcNetwork_INTRANET VmwareEngineNetwork_VpcNetwork_Type = 1 - // VPC network used for internet access to and from a private cloud. - VmwareEngineNetwork_VpcNetwork_INTERNET VmwareEngineNetwork_VpcNetwork_Type = 2 - // VPC network used for access to Google Cloud services like - // Cloud Storage. - VmwareEngineNetwork_VpcNetwork_GOOGLE_CLOUD VmwareEngineNetwork_VpcNetwork_Type = 3 + // Unspecified appliance state. This is the default value. + Hcx_STATE_UNSPECIFIED Hcx_State = 0 + // The appliance is operational and can be used. + Hcx_ACTIVE Hcx_State = 1 + // The appliance is being deployed. + Hcx_CREATING Hcx_State = 2 ) -// Enum value maps for VmwareEngineNetwork_VpcNetwork_Type. +// Enum value maps for Hcx_State. var ( - VmwareEngineNetwork_VpcNetwork_Type_name = map[int32]string{ - 0: "TYPE_UNSPECIFIED", - 1: "INTRANET", - 2: "INTERNET", - 3: "GOOGLE_CLOUD", + Hcx_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "CREATING", } - VmwareEngineNetwork_VpcNetwork_Type_value = map[string]int32{ - "TYPE_UNSPECIFIED": 0, - "INTRANET": 1, - "INTERNET": 2, - "GOOGLE_CLOUD": 3, + Hcx_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "CREATING": 2, } ) -func (x VmwareEngineNetwork_VpcNetwork_Type) Enum() *VmwareEngineNetwork_VpcNetwork_Type { - p := new(VmwareEngineNetwork_VpcNetwork_Type) +func (x Hcx_State) Enum() *Hcx_State { + p := new(Hcx_State) *p = x return p } -func (x VmwareEngineNetwork_VpcNetwork_Type) String() string { +func (x Hcx_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (VmwareEngineNetwork_VpcNetwork_Type) Descriptor() protoreflect.EnumDescriptor { +func (Hcx_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[13].Descriptor() } -func (VmwareEngineNetwork_VpcNetwork_Type) Type() protoreflect.EnumType { +func (Hcx_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[13] } -func (x VmwareEngineNetwork_VpcNetwork_Type) Number() protoreflect.EnumNumber { +func (x Hcx_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use VmwareEngineNetwork_VpcNetwork_Type.Descriptor instead. -func (VmwareEngineNetwork_VpcNetwork_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13, 0, 0} +// Deprecated: Use Hcx_State.Descriptor instead. +func (Hcx_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13, 0} } -// Enum State defines possible states of private connection. -type PrivateConnection_State int32 +// State of the appliance +type Nsx_State int32 const ( - // The default value. This value is used if the state is omitted. - PrivateConnection_STATE_UNSPECIFIED PrivateConnection_State = 0 - // The private connection is being created. - PrivateConnection_CREATING PrivateConnection_State = 1 - // The private connection is ready. - PrivateConnection_ACTIVE PrivateConnection_State = 2 - // The private connection is being updated. - PrivateConnection_UPDATING PrivateConnection_State = 3 - // The private connection is being deleted. - PrivateConnection_DELETING PrivateConnection_State = 4 - // The private connection is not provisioned, since no private cloud is - // present for which this private connection is needed. - PrivateConnection_UNPROVISIONED PrivateConnection_State = 5 - // The private connection is in failed state. - PrivateConnection_FAILED PrivateConnection_State = 6 + // Unspecified appliance state. This is the default value. + Nsx_STATE_UNSPECIFIED Nsx_State = 0 + // The appliance is operational and can be used. + Nsx_ACTIVE Nsx_State = 1 + // The appliance is being deployed. + Nsx_CREATING Nsx_State = 2 ) -// Enum value maps for PrivateConnection_State. +// Enum value maps for Nsx_State. var ( - PrivateConnection_State_name = map[int32]string{ + Nsx_State_name = map[int32]string{ 0: "STATE_UNSPECIFIED", - 1: "CREATING", - 2: "ACTIVE", - 3: "UPDATING", - 4: "DELETING", - 5: "UNPROVISIONED", - 6: "FAILED", + 1: "ACTIVE", + 2: "CREATING", } - PrivateConnection_State_value = map[string]int32{ + Nsx_State_value = map[string]int32{ "STATE_UNSPECIFIED": 0, - "CREATING": 1, - "ACTIVE": 2, - "UPDATING": 3, - "DELETING": 4, - "UNPROVISIONED": 5, - "FAILED": 6, + "ACTIVE": 1, + "CREATING": 2, } ) -func (x PrivateConnection_State) Enum() *PrivateConnection_State { - p := new(PrivateConnection_State) +func (x Nsx_State) Enum() *Nsx_State { + p := new(Nsx_State) *p = x return p } -func (x PrivateConnection_State) String() string { +func (x Nsx_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PrivateConnection_State) Descriptor() protoreflect.EnumDescriptor { +func (Nsx_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[14].Descriptor() } -func (PrivateConnection_State) Type() protoreflect.EnumType { +func (Nsx_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[14] } -func (x PrivateConnection_State) Number() protoreflect.EnumNumber { +func (x Nsx_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PrivateConnection_State.Descriptor instead. -func (PrivateConnection_State) EnumDescriptor() ([]byte, []int) { +// Deprecated: Use Nsx_State.Descriptor instead. +func (Nsx_State) EnumDescriptor() ([]byte, []int) { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14, 0} } -// Enum Type defines possible types of private connection. -type PrivateConnection_Type int32 +// State of the appliance +type Vcenter_State int32 const ( - // The default value. This value should never be used. - PrivateConnection_TYPE_UNSPECIFIED PrivateConnection_Type = 0 - // Connection used for establishing [private services - // access](https://cloud.google.com/vpc/docs/private-services-access). - PrivateConnection_PRIVATE_SERVICE_ACCESS PrivateConnection_Type = 1 - // Connection used for connecting to NetApp Cloud Volumes. - PrivateConnection_NETAPP_CLOUD_VOLUMES PrivateConnection_Type = 2 - // Connection used for connecting to Dell PowerScale. - PrivateConnection_DELL_POWERSCALE PrivateConnection_Type = 3 - // Connection used for connecting to third-party services. - PrivateConnection_THIRD_PARTY_SERVICE PrivateConnection_Type = 4 + // Unspecified appliance state. This is the default value. + Vcenter_STATE_UNSPECIFIED Vcenter_State = 0 + // The appliance is operational and can be used. + Vcenter_ACTIVE Vcenter_State = 1 + // The appliance is being deployed. + Vcenter_CREATING Vcenter_State = 2 ) -// Enum value maps for PrivateConnection_Type. +// Enum value maps for Vcenter_State. var ( - PrivateConnection_Type_name = map[int32]string{ - 0: "TYPE_UNSPECIFIED", - 1: "PRIVATE_SERVICE_ACCESS", - 2: "NETAPP_CLOUD_VOLUMES", - 3: "DELL_POWERSCALE", - 4: "THIRD_PARTY_SERVICE", + Vcenter_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "CREATING", } - PrivateConnection_Type_value = map[string]int32{ - "TYPE_UNSPECIFIED": 0, - "PRIVATE_SERVICE_ACCESS": 1, - "NETAPP_CLOUD_VOLUMES": 2, - "DELL_POWERSCALE": 3, - "THIRD_PARTY_SERVICE": 4, + Vcenter_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "CREATING": 2, } ) -func (x PrivateConnection_Type) Enum() *PrivateConnection_Type { - p := new(PrivateConnection_Type) +func (x Vcenter_State) Enum() *Vcenter_State { + p := new(Vcenter_State) *p = x return p } -func (x PrivateConnection_Type) String() string { +func (x Vcenter_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PrivateConnection_Type) Descriptor() protoreflect.EnumDescriptor { +func (Vcenter_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[15].Descriptor() } -func (PrivateConnection_Type) Type() protoreflect.EnumType { +func (Vcenter_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[15] } -func (x PrivateConnection_Type) Number() protoreflect.EnumNumber { +func (x Vcenter_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PrivateConnection_Type.Descriptor instead. -func (PrivateConnection_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14, 1} +// Deprecated: Use Vcenter_State.Descriptor instead. +func (Vcenter_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{15, 0} } -// Possible types for RoutingMode -type PrivateConnection_RoutingMode int32 +// Possible states of a network peering. +type NetworkPeering_State int32 const ( - // The default value. This value should never be used. - PrivateConnection_ROUTING_MODE_UNSPECIFIED PrivateConnection_RoutingMode = 0 - // Global Routing Mode - PrivateConnection_GLOBAL PrivateConnection_RoutingMode = 1 - // Regional Routing Mode - PrivateConnection_REGIONAL PrivateConnection_RoutingMode = 2 + // Unspecified network peering state. This is the default value. + NetworkPeering_STATE_UNSPECIFIED NetworkPeering_State = 0 + // The peering is not active. + NetworkPeering_INACTIVE NetworkPeering_State = 1 + // The peering is active. + NetworkPeering_ACTIVE NetworkPeering_State = 2 + // The peering is being created. + NetworkPeering_CREATING NetworkPeering_State = 3 + // The peering is being deleted. + NetworkPeering_DELETING NetworkPeering_State = 4 ) -// Enum value maps for PrivateConnection_RoutingMode. +// Enum value maps for NetworkPeering_State. var ( - PrivateConnection_RoutingMode_name = map[int32]string{ - 0: "ROUTING_MODE_UNSPECIFIED", - 1: "GLOBAL", - 2: "REGIONAL", + NetworkPeering_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "INACTIVE", + 2: "ACTIVE", + 3: "CREATING", + 4: "DELETING", } - PrivateConnection_RoutingMode_value = map[string]int32{ - "ROUTING_MODE_UNSPECIFIED": 0, - "GLOBAL": 1, - "REGIONAL": 2, + NetworkPeering_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "INACTIVE": 1, + "ACTIVE": 2, + "CREATING": 3, + "DELETING": 4, } ) -func (x PrivateConnection_RoutingMode) Enum() *PrivateConnection_RoutingMode { - p := new(PrivateConnection_RoutingMode) +func (x NetworkPeering_State) Enum() *NetworkPeering_State { + p := new(NetworkPeering_State) *p = x return p } -func (x PrivateConnection_RoutingMode) String() string { +func (x NetworkPeering_State) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (PrivateConnection_RoutingMode) Descriptor() protoreflect.EnumDescriptor { +func (NetworkPeering_State) Descriptor() protoreflect.EnumDescriptor { return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[16].Descriptor() } -func (PrivateConnection_RoutingMode) Type() protoreflect.EnumType { +func (NetworkPeering_State) Type() protoreflect.EnumType { return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[16] } -func (x PrivateConnection_RoutingMode) Number() protoreflect.EnumNumber { +func (x NetworkPeering_State) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use PrivateConnection_RoutingMode.Descriptor instead. -func (PrivateConnection_RoutingMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14, 2} +// Deprecated: Use NetworkPeering_State.Descriptor instead. +func (NetworkPeering_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{17, 0} } -// Enum PeeringState defines the possible states of peering between service -// network and the vpc network peered to service network -type PrivateConnection_PeeringState int32 +// Type or purpose of the network peering connection. +type NetworkPeering_PeerNetworkType int32 const ( - // The default value. This value is used if the peering state is omitted or - // unknown. - PrivateConnection_PEERING_STATE_UNSPECIFIED PrivateConnection_PeeringState = 0 - // The peering is in active state. - PrivateConnection_PEERING_ACTIVE PrivateConnection_PeeringState = 1 - // The peering is in inactive state. - PrivateConnection_PEERING_INACTIVE PrivateConnection_PeeringState = 2 + // Unspecified + NetworkPeering_PEER_NETWORK_TYPE_UNSPECIFIED NetworkPeering_PeerNetworkType = 0 + // Peering connection used for connecting to another VPC network established + // by the same user. For example, a peering connection to another VPC + // network in the same project or to an on-premises network. + NetworkPeering_STANDARD NetworkPeering_PeerNetworkType = 1 + // Peering connection used for connecting to another VMware Engine network. + NetworkPeering_VMWARE_ENGINE_NETWORK NetworkPeering_PeerNetworkType = 2 + // Peering connection used for establishing [private services + // access](https://cloud.google.com/vpc/docs/private-services-access). + NetworkPeering_PRIVATE_SERVICES_ACCESS NetworkPeering_PeerNetworkType = 3 + // Peering connection used for connecting to NetApp Cloud Volumes. + NetworkPeering_NETAPP_CLOUD_VOLUMES NetworkPeering_PeerNetworkType = 4 + // Peering connection used for connecting to third-party services. Most + // third-party services require manual setup of reverse peering on the VPC + // network associated with the third-party service. + NetworkPeering_THIRD_PARTY_SERVICE NetworkPeering_PeerNetworkType = 5 + // Peering connection used for connecting to Dell PowerScale Filers + NetworkPeering_DELL_POWERSCALE NetworkPeering_PeerNetworkType = 6 ) -// Enum value maps for PrivateConnection_PeeringState. +// Enum value maps for NetworkPeering_PeerNetworkType. var ( - PrivateConnection_PeeringState_name = map[int32]string{ - 0: "PEERING_STATE_UNSPECIFIED", - 1: "PEERING_ACTIVE", - 2: "PEERING_INACTIVE", + NetworkPeering_PeerNetworkType_name = map[int32]string{ + 0: "PEER_NETWORK_TYPE_UNSPECIFIED", + 1: "STANDARD", + 2: "VMWARE_ENGINE_NETWORK", + 3: "PRIVATE_SERVICES_ACCESS", + 4: "NETAPP_CLOUD_VOLUMES", + 5: "THIRD_PARTY_SERVICE", + 6: "DELL_POWERSCALE", + } + NetworkPeering_PeerNetworkType_value = map[string]int32{ + "PEER_NETWORK_TYPE_UNSPECIFIED": 0, + "STANDARD": 1, + "VMWARE_ENGINE_NETWORK": 2, + "PRIVATE_SERVICES_ACCESS": 3, + "NETAPP_CLOUD_VOLUMES": 4, + "THIRD_PARTY_SERVICE": 5, + "DELL_POWERSCALE": 6, } - PrivateConnection_PeeringState_value = map[string]int32{ - "PEERING_STATE_UNSPECIFIED": 0, - "PEERING_ACTIVE": 1, - "PEERING_INACTIVE": 2, +) + +func (x NetworkPeering_PeerNetworkType) Enum() *NetworkPeering_PeerNetworkType { + p := new(NetworkPeering_PeerNetworkType) + *p = x + return p +} + +func (x NetworkPeering_PeerNetworkType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NetworkPeering_PeerNetworkType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[17].Descriptor() +} + +func (NetworkPeering_PeerNetworkType) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[17] +} + +func (x NetworkPeering_PeerNetworkType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NetworkPeering_PeerNetworkType.Descriptor instead. +func (NetworkPeering_PeerNetworkType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{17, 1} +} + +// The type of the peering route. +type PeeringRoute_Type int32 + +const ( + // Unspecified peering route type. This is the default value. + PeeringRoute_TYPE_UNSPECIFIED PeeringRoute_Type = 0 + // Dynamic routes in the peer network. + PeeringRoute_DYNAMIC_PEERING_ROUTE PeeringRoute_Type = 1 + // Static routes in the peer network. + PeeringRoute_STATIC_PEERING_ROUTE PeeringRoute_Type = 2 + // Created, updated, and removed automatically by Google Cloud when subnets + // are created, modified, or deleted in the peer network. + PeeringRoute_SUBNET_PEERING_ROUTE PeeringRoute_Type = 3 +) + +// Enum value maps for PeeringRoute_Type. +var ( + PeeringRoute_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "DYNAMIC_PEERING_ROUTE", + 2: "STATIC_PEERING_ROUTE", + 3: "SUBNET_PEERING_ROUTE", + } + PeeringRoute_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "DYNAMIC_PEERING_ROUTE": 1, + "STATIC_PEERING_ROUTE": 2, + "SUBNET_PEERING_ROUTE": 3, } ) -func (x PrivateConnection_PeeringState) Enum() *PrivateConnection_PeeringState { - p := new(PrivateConnection_PeeringState) +func (x PeeringRoute_Type) Enum() *PeeringRoute_Type { + p := new(PeeringRoute_Type) + *p = x + return p +} + +func (x PeeringRoute_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PeeringRoute_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[18].Descriptor() +} + +func (PeeringRoute_Type) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[18] +} + +func (x PeeringRoute_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeeringRoute_Type.Descriptor instead. +func (PeeringRoute_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{18, 0} +} + +// The direction of the exchanged routes. +type PeeringRoute_Direction int32 + +const ( + // Unspecified exchanged routes direction. This is default. + PeeringRoute_DIRECTION_UNSPECIFIED PeeringRoute_Direction = 0 + // Routes imported from the peer network. + PeeringRoute_INCOMING PeeringRoute_Direction = 1 + // Routes exported to the peer network. + PeeringRoute_OUTGOING PeeringRoute_Direction = 2 +) + +// Enum value maps for PeeringRoute_Direction. +var ( + PeeringRoute_Direction_name = map[int32]string{ + 0: "DIRECTION_UNSPECIFIED", + 1: "INCOMING", + 2: "OUTGOING", + } + PeeringRoute_Direction_value = map[string]int32{ + "DIRECTION_UNSPECIFIED": 0, + "INCOMING": 1, + "OUTGOING": 2, + } +) + +func (x PeeringRoute_Direction) Enum() *PeeringRoute_Direction { + p := new(PeeringRoute_Direction) + *p = x + return p +} + +func (x PeeringRoute_Direction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PeeringRoute_Direction) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[19].Descriptor() +} + +func (PeeringRoute_Direction) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[19] +} + +func (x PeeringRoute_Direction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PeeringRoute_Direction.Descriptor instead. +func (PeeringRoute_Direction) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{18, 1} +} + +// Enum State defines possible states of a network policy controlled +// service. +type NetworkPolicy_NetworkService_State int32 + +const ( + // Unspecified service state. This is the default value. + NetworkPolicy_NetworkService_STATE_UNSPECIFIED NetworkPolicy_NetworkService_State = 0 + // Service is not provisioned. + NetworkPolicy_NetworkService_UNPROVISIONED NetworkPolicy_NetworkService_State = 1 + // Service is in the process of being provisioned/deprovisioned. + NetworkPolicy_NetworkService_RECONCILING NetworkPolicy_NetworkService_State = 2 + // Service is active. + NetworkPolicy_NetworkService_ACTIVE NetworkPolicy_NetworkService_State = 3 +) + +// Enum value maps for NetworkPolicy_NetworkService_State. +var ( + NetworkPolicy_NetworkService_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "UNPROVISIONED", + 2: "RECONCILING", + 3: "ACTIVE", + } + NetworkPolicy_NetworkService_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "UNPROVISIONED": 1, + "RECONCILING": 2, + "ACTIVE": 3, + } +) + +func (x NetworkPolicy_NetworkService_State) Enum() *NetworkPolicy_NetworkService_State { + p := new(NetworkPolicy_NetworkService_State) *p = x return p } -func (x PrivateConnection_PeeringState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +func (x NetworkPolicy_NetworkService_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NetworkPolicy_NetworkService_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[20].Descriptor() +} + +func (NetworkPolicy_NetworkService_State) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[20] +} + +func (x NetworkPolicy_NetworkService_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NetworkPolicy_NetworkService_State.Descriptor instead. +func (NetworkPolicy_NetworkService_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{19, 0, 0} +} + +// Enum State defines possible states of binding between the consumer VPC +// network and the management DNS zone. +type ManagementDnsZoneBinding_State int32 + +const ( + // The default value. This value should never be used. + ManagementDnsZoneBinding_STATE_UNSPECIFIED ManagementDnsZoneBinding_State = 0 + // The binding is ready. + ManagementDnsZoneBinding_ACTIVE ManagementDnsZoneBinding_State = 1 + // The binding is being created. + ManagementDnsZoneBinding_CREATING ManagementDnsZoneBinding_State = 2 + // The binding is being updated. + ManagementDnsZoneBinding_UPDATING ManagementDnsZoneBinding_State = 3 + // The binding is being deleted. + ManagementDnsZoneBinding_DELETING ManagementDnsZoneBinding_State = 4 + // The binding has failed. + ManagementDnsZoneBinding_FAILED ManagementDnsZoneBinding_State = 5 +) + +// Enum value maps for ManagementDnsZoneBinding_State. +var ( + ManagementDnsZoneBinding_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "ACTIVE", + 2: "CREATING", + 3: "UPDATING", + 4: "DELETING", + 5: "FAILED", + } + ManagementDnsZoneBinding_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "ACTIVE": 1, + "CREATING": 2, + "UPDATING": 3, + "DELETING": 4, + "FAILED": 5, + } +) + +func (x ManagementDnsZoneBinding_State) Enum() *ManagementDnsZoneBinding_State { + p := new(ManagementDnsZoneBinding_State) + *p = x + return p +} + +func (x ManagementDnsZoneBinding_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ManagementDnsZoneBinding_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[21].Descriptor() +} + +func (ManagementDnsZoneBinding_State) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[21] +} + +func (x ManagementDnsZoneBinding_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ManagementDnsZoneBinding_State.Descriptor instead. +func (ManagementDnsZoneBinding_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{20, 0} +} + +// Enum State defines possible states of VMware Engine network. +type VmwareEngineNetwork_State int32 + +const ( + // The default value. This value is used if the state is omitted. + VmwareEngineNetwork_STATE_UNSPECIFIED VmwareEngineNetwork_State = 0 + // The VMware Engine network is being created. + VmwareEngineNetwork_CREATING VmwareEngineNetwork_State = 1 + // The VMware Engine network is ready. + VmwareEngineNetwork_ACTIVE VmwareEngineNetwork_State = 2 + // The VMware Engine network is being updated. + VmwareEngineNetwork_UPDATING VmwareEngineNetwork_State = 3 + // The VMware Engine network is being deleted. + VmwareEngineNetwork_DELETING VmwareEngineNetwork_State = 4 +) + +// Enum value maps for VmwareEngineNetwork_State. +var ( + VmwareEngineNetwork_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CREATING", + 2: "ACTIVE", + 3: "UPDATING", + 4: "DELETING", + } + VmwareEngineNetwork_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "ACTIVE": 2, + "UPDATING": 3, + "DELETING": 4, + } +) + +func (x VmwareEngineNetwork_State) Enum() *VmwareEngineNetwork_State { + p := new(VmwareEngineNetwork_State) + *p = x + return p +} + +func (x VmwareEngineNetwork_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VmwareEngineNetwork_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[22].Descriptor() +} + +func (VmwareEngineNetwork_State) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[22] +} + +func (x VmwareEngineNetwork_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VmwareEngineNetwork_State.Descriptor instead. +func (VmwareEngineNetwork_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{21, 0} +} + +// Enum Type defines possible types of VMware Engine network. +type VmwareEngineNetwork_Type int32 + +const ( + // The default value. This value should never be used. + VmwareEngineNetwork_TYPE_UNSPECIFIED VmwareEngineNetwork_Type = 0 + // Network type used by private clouds created in projects without a network + // of type `STANDARD`. This network type is no longer used for new VMware + // Engine private cloud deployments. + VmwareEngineNetwork_LEGACY VmwareEngineNetwork_Type = 1 + // Standard network type used for private cloud connectivity. + VmwareEngineNetwork_STANDARD VmwareEngineNetwork_Type = 2 +) + +// Enum value maps for VmwareEngineNetwork_Type. +var ( + VmwareEngineNetwork_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "LEGACY", + 2: "STANDARD", + } + VmwareEngineNetwork_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "LEGACY": 1, + "STANDARD": 2, + } +) + +func (x VmwareEngineNetwork_Type) Enum() *VmwareEngineNetwork_Type { + p := new(VmwareEngineNetwork_Type) + *p = x + return p +} + +func (x VmwareEngineNetwork_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VmwareEngineNetwork_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[23].Descriptor() +} + +func (VmwareEngineNetwork_Type) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[23] +} + +func (x VmwareEngineNetwork_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VmwareEngineNetwork_Type.Descriptor instead. +func (VmwareEngineNetwork_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{21, 1} +} + +// Enum Type defines possible types of a VMware Engine network controlled +// service. +type VmwareEngineNetwork_VpcNetwork_Type int32 + +const ( + // The default value. This value should never be used. + VmwareEngineNetwork_VpcNetwork_TYPE_UNSPECIFIED VmwareEngineNetwork_VpcNetwork_Type = 0 + // VPC network that will be peered with a consumer VPC network or the + // intranet VPC of another VMware Engine network. Access a private cloud + // through Compute Engine VMs on a peered VPC network or an on-premises + // resource connected to a peered consumer VPC network. + VmwareEngineNetwork_VpcNetwork_INTRANET VmwareEngineNetwork_VpcNetwork_Type = 1 + // VPC network used for internet access to and from a private cloud. + VmwareEngineNetwork_VpcNetwork_INTERNET VmwareEngineNetwork_VpcNetwork_Type = 2 + // VPC network used for access to Google Cloud services like + // Cloud Storage. + VmwareEngineNetwork_VpcNetwork_GOOGLE_CLOUD VmwareEngineNetwork_VpcNetwork_Type = 3 +) + +// Enum value maps for VmwareEngineNetwork_VpcNetwork_Type. +var ( + VmwareEngineNetwork_VpcNetwork_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "INTRANET", + 2: "INTERNET", + 3: "GOOGLE_CLOUD", + } + VmwareEngineNetwork_VpcNetwork_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "INTRANET": 1, + "INTERNET": 2, + "GOOGLE_CLOUD": 3, + } +) + +func (x VmwareEngineNetwork_VpcNetwork_Type) Enum() *VmwareEngineNetwork_VpcNetwork_Type { + p := new(VmwareEngineNetwork_VpcNetwork_Type) + *p = x + return p +} + +func (x VmwareEngineNetwork_VpcNetwork_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VmwareEngineNetwork_VpcNetwork_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[24].Descriptor() +} + +func (VmwareEngineNetwork_VpcNetwork_Type) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[24] +} + +func (x VmwareEngineNetwork_VpcNetwork_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VmwareEngineNetwork_VpcNetwork_Type.Descriptor instead. +func (VmwareEngineNetwork_VpcNetwork_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{21, 0, 0} +} + +// Enum State defines possible states of private connection. +type PrivateConnection_State int32 + +const ( + // The default value. This value is used if the state is omitted. + PrivateConnection_STATE_UNSPECIFIED PrivateConnection_State = 0 + // The private connection is being created. + PrivateConnection_CREATING PrivateConnection_State = 1 + // The private connection is ready. + PrivateConnection_ACTIVE PrivateConnection_State = 2 + // The private connection is being updated. + PrivateConnection_UPDATING PrivateConnection_State = 3 + // The private connection is being deleted. + PrivateConnection_DELETING PrivateConnection_State = 4 + // The private connection is not provisioned, since no private cloud is + // present for which this private connection is needed. + PrivateConnection_UNPROVISIONED PrivateConnection_State = 5 + // The private connection is in failed state. + PrivateConnection_FAILED PrivateConnection_State = 6 +) + +// Enum value maps for PrivateConnection_State. +var ( + PrivateConnection_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CREATING", + 2: "ACTIVE", + 3: "UPDATING", + 4: "DELETING", + 5: "UNPROVISIONED", + 6: "FAILED", + } + PrivateConnection_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "ACTIVE": 2, + "UPDATING": 3, + "DELETING": 4, + "UNPROVISIONED": 5, + "FAILED": 6, + } +) + +func (x PrivateConnection_State) Enum() *PrivateConnection_State { + p := new(PrivateConnection_State) + *p = x + return p +} + +func (x PrivateConnection_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrivateConnection_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[25].Descriptor() +} + +func (PrivateConnection_State) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[25] +} + +func (x PrivateConnection_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrivateConnection_State.Descriptor instead. +func (PrivateConnection_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{22, 0} +} + +// Enum Type defines possible types of private connection. +type PrivateConnection_Type int32 + +const ( + // The default value. This value should never be used. + PrivateConnection_TYPE_UNSPECIFIED PrivateConnection_Type = 0 + // Connection used for establishing [private services + // access](https://cloud.google.com/vpc/docs/private-services-access). + PrivateConnection_PRIVATE_SERVICE_ACCESS PrivateConnection_Type = 1 + // Connection used for connecting to NetApp Cloud Volumes. + PrivateConnection_NETAPP_CLOUD_VOLUMES PrivateConnection_Type = 2 + // Connection used for connecting to Dell PowerScale. + PrivateConnection_DELL_POWERSCALE PrivateConnection_Type = 3 + // Connection used for connecting to third-party services. + PrivateConnection_THIRD_PARTY_SERVICE PrivateConnection_Type = 4 +) + +// Enum value maps for PrivateConnection_Type. +var ( + PrivateConnection_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "PRIVATE_SERVICE_ACCESS", + 2: "NETAPP_CLOUD_VOLUMES", + 3: "DELL_POWERSCALE", + 4: "THIRD_PARTY_SERVICE", + } + PrivateConnection_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "PRIVATE_SERVICE_ACCESS": 1, + "NETAPP_CLOUD_VOLUMES": 2, + "DELL_POWERSCALE": 3, + "THIRD_PARTY_SERVICE": 4, + } +) + +func (x PrivateConnection_Type) Enum() *PrivateConnection_Type { + p := new(PrivateConnection_Type) + *p = x + return p +} + +func (x PrivateConnection_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrivateConnection_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[26].Descriptor() +} + +func (PrivateConnection_Type) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[26] +} + +func (x PrivateConnection_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrivateConnection_Type.Descriptor instead. +func (PrivateConnection_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{22, 1} +} + +// Possible types for RoutingMode +type PrivateConnection_RoutingMode int32 + +const ( + // The default value. This value should never be used. + PrivateConnection_ROUTING_MODE_UNSPECIFIED PrivateConnection_RoutingMode = 0 + // Global Routing Mode + PrivateConnection_GLOBAL PrivateConnection_RoutingMode = 1 + // Regional Routing Mode + PrivateConnection_REGIONAL PrivateConnection_RoutingMode = 2 +) + +// Enum value maps for PrivateConnection_RoutingMode. +var ( + PrivateConnection_RoutingMode_name = map[int32]string{ + 0: "ROUTING_MODE_UNSPECIFIED", + 1: "GLOBAL", + 2: "REGIONAL", + } + PrivateConnection_RoutingMode_value = map[string]int32{ + "ROUTING_MODE_UNSPECIFIED": 0, + "GLOBAL": 1, + "REGIONAL": 2, + } +) + +func (x PrivateConnection_RoutingMode) Enum() *PrivateConnection_RoutingMode { + p := new(PrivateConnection_RoutingMode) + *p = x + return p +} + +func (x PrivateConnection_RoutingMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrivateConnection_RoutingMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[27].Descriptor() +} + +func (PrivateConnection_RoutingMode) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[27] +} + +func (x PrivateConnection_RoutingMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrivateConnection_RoutingMode.Descriptor instead. +func (PrivateConnection_RoutingMode) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{22, 2} +} + +// Enum PeeringState defines the possible states of peering between service +// network and the vpc network peered to service network +type PrivateConnection_PeeringState int32 + +const ( + // The default value. This value is used if the peering state is omitted or + // unknown. + PrivateConnection_PEERING_STATE_UNSPECIFIED PrivateConnection_PeeringState = 0 + // The peering is in active state. + PrivateConnection_PEERING_ACTIVE PrivateConnection_PeeringState = 1 + // The peering is in inactive state. + PrivateConnection_PEERING_INACTIVE PrivateConnection_PeeringState = 2 +) + +// Enum value maps for PrivateConnection_PeeringState. +var ( + PrivateConnection_PeeringState_name = map[int32]string{ + 0: "PEERING_STATE_UNSPECIFIED", + 1: "PEERING_ACTIVE", + 2: "PEERING_INACTIVE", + } + PrivateConnection_PeeringState_value = map[string]int32{ + "PEERING_STATE_UNSPECIFIED": 0, + "PEERING_ACTIVE": 1, + "PEERING_INACTIVE": 2, + } +) + +func (x PrivateConnection_PeeringState) Enum() *PrivateConnection_PeeringState { + p := new(PrivateConnection_PeeringState) + *p = x + return p +} + +func (x PrivateConnection_PeeringState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrivateConnection_PeeringState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[28].Descriptor() +} + +func (PrivateConnection_PeeringState) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[28] +} + +func (x PrivateConnection_PeeringState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrivateConnection_PeeringState.Descriptor instead. +func (PrivateConnection_PeeringState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{22, 3} +} + +// Capability of a location. +type LocationMetadata_Capability int32 + +const ( + // The default value. This value is used if the capability is omitted or + // unknown. + LocationMetadata_CAPABILITY_UNSPECIFIED LocationMetadata_Capability = 0 + // Stretch clusters are supported in this location. + LocationMetadata_STRETCHED_CLUSTERS LocationMetadata_Capability = 1 +) + +// Enum value maps for LocationMetadata_Capability. +var ( + LocationMetadata_Capability_name = map[int32]string{ + 0: "CAPABILITY_UNSPECIFIED", + 1: "STRETCHED_CLUSTERS", + } + LocationMetadata_Capability_value = map[string]int32{ + "CAPABILITY_UNSPECIFIED": 0, + "STRETCHED_CLUSTERS": 1, + } +) + +func (x LocationMetadata_Capability) Enum() *LocationMetadata_Capability { + p := new(LocationMetadata_Capability) + *p = x + return p +} + +func (x LocationMetadata_Capability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LocationMetadata_Capability) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[29].Descriptor() +} + +func (LocationMetadata_Capability) Type() protoreflect.EnumType { + return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[29] +} + +func (x LocationMetadata_Capability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LocationMetadata_Capability.Descriptor instead. +func (LocationMetadata_Capability) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{23, 0} +} + +// Network configuration in the consumer project +// with which the peering has to be done. +type NetworkConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Management CIDR used by VMware management appliances. + ManagementCidr string `protobuf:"bytes,4,opt,name=management_cidr,json=managementCidr,proto3" json:"management_cidr,omitempty"` + // Optional. The relative resource name of the VMware Engine network attached + // to the private cloud. Specify the name in the following form: + // `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` + // where `{project}` can either be a project number or a project ID. + VmwareEngineNetwork string `protobuf:"bytes,5,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` + // Output only. The canonical name of the VMware Engine network in the form: + // `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` + VmwareEngineNetworkCanonical string `protobuf:"bytes,6,opt,name=vmware_engine_network_canonical,json=vmwareEngineNetworkCanonical,proto3" json:"vmware_engine_network_canonical,omitempty"` + // Output only. The IP address layout version of the management IP address + // range. Possible versions include: + // * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address + // layout used by some existing private clouds. This is no longer supported + // for new private clouds as it does not support all features. + // * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address + // layout used by all newly created private clouds. This version supports all + // current features. + ManagementIpAddressLayoutVersion int32 `protobuf:"varint,8,opt,name=management_ip_address_layout_version,json=managementIpAddressLayoutVersion,proto3" json:"management_ip_address_layout_version,omitempty"` + // Output only. DNS Server IP of the Private Cloud. + // All DNS queries can be forwarded to this address for name resolution of + // Private Cloud's management entities like vCenter, NSX-T Manager and + // ESXi hosts. + DnsServerIp string `protobuf:"bytes,9,opt,name=dns_server_ip,json=dnsServerIp,proto3" json:"dns_server_ip,omitempty"` +} + +func (x *NetworkConfig) Reset() { + *x = NetworkConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NetworkConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkConfig) ProtoMessage() {} + +func (x *NetworkConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 NetworkConfig.ProtoReflect.Descriptor instead. +func (*NetworkConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{0} +} + +func (x *NetworkConfig) GetManagementCidr() string { + if x != nil { + return x.ManagementCidr + } + return "" +} + +func (x *NetworkConfig) GetVmwareEngineNetwork() string { + if x != nil { + return x.VmwareEngineNetwork + } + return "" +} + +func (x *NetworkConfig) GetVmwareEngineNetworkCanonical() string { + if x != nil { + return x.VmwareEngineNetworkCanonical + } + return "" +} + +func (x *NetworkConfig) GetManagementIpAddressLayoutVersion() int32 { + if x != nil { + return x.ManagementIpAddressLayoutVersion + } + return 0 +} + +func (x *NetworkConfig) GetDnsServerIp() string { + if x != nil { + return x.DnsServerIp + } + return "" +} + +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The number of nodes of this type in the cluster + NodeCount int32 `protobuf:"varint,1,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"` + // Optional. Customized number of cores available to each node of the type. + // This number must always be one of `nodeType.availableCustomCoreCounts`. + // If zero is provided max value from `nodeType.availableCustomCoreCounts` + // will be used. + CustomCoreCount int32 `protobuf:"varint,2,opt,name=custom_core_count,json=customCoreCount,proto3" json:"custom_core_count,omitempty"` +} + +func (x *NodeTypeConfig) Reset() { + *x = NodeTypeConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NodeTypeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeTypeConfig) ProtoMessage() {} + +func (x *NodeTypeConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 NodeTypeConfig.ProtoReflect.Descriptor instead. +func (*NodeTypeConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeTypeConfig) GetNodeCount() int32 { + if x != nil { + return x.NodeCount + } + return 0 +} + +func (x *NodeTypeConfig) GetCustomCoreCount() int32 { + if x != nil { + return x.CustomCoreCount + } + return 0 +} + +// Configuration of a stretched cluster. +type StretchedClusterConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Zone that will remain operational when connection between the two + // zones is lost. Specify the resource name of a zone that belongs to the + // region of the private cloud. For example: + // `projects/{project}/locations/europe-west3-a` where `{project}` can either + // be a project number or a project ID. + PreferredLocation string `protobuf:"bytes,1,opt,name=preferred_location,json=preferredLocation,proto3" json:"preferred_location,omitempty"` + // Required. Additional zone for a higher level of availability and load + // balancing. Specify the resource name of a zone that belongs to the region + // of the private cloud. For example: + // `projects/{project}/locations/europe-west3-b` where `{project}` can either + // be a project number or a project ID. + SecondaryLocation string `protobuf:"bytes,2,opt,name=secondary_location,json=secondaryLocation,proto3" json:"secondary_location,omitempty"` +} + +func (x *StretchedClusterConfig) Reset() { + *x = StretchedClusterConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StretchedClusterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StretchedClusterConfig) ProtoMessage() {} + +func (x *StretchedClusterConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 StretchedClusterConfig.ProtoReflect.Descriptor instead. +func (*StretchedClusterConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{2} +} + +func (x *StretchedClusterConfig) GetPreferredLocation() string { + if x != nil { + return x.PreferredLocation + } + return "" +} + +func (x *StretchedClusterConfig) GetSecondaryLocation() string { + if x != nil { + return x.SecondaryLocation + } + return "" +} + +// Represents a private cloud resource. Private clouds of type `STANDARD` and +// `TIME_LIMITED` are zonal resources, `STRETCHED` private clouds are +// regional. +type PrivateCloud struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of this private cloud. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Time when the resource was scheduled for deletion. + DeleteTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` + // Output only. Time when the resource will be irreversibly deleted. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` + // Output only. State of the resource. New values may be added to this enum + // when appropriate. + State PrivateCloud_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.PrivateCloud_State" json:"state,omitempty"` + // Required. Network configuration of the private cloud. + NetworkConfig *NetworkConfig `protobuf:"bytes,9,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"` + // Required. Input only. The management cluster for this private cloud. + // This field is required during creation of the private cloud to provide + // details for the default cluster. + // + // The following fields can't be changed after private cloud creation: + // `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`. + ManagementCluster *PrivateCloud_ManagementCluster `protobuf:"bytes,10,opt,name=management_cluster,json=managementCluster,proto3" json:"management_cluster,omitempty"` + // User-provided description for this private cloud. + Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` + // Output only. HCX appliance. + Hcx *Hcx `protobuf:"bytes,17,opt,name=hcx,proto3" json:"hcx,omitempty"` + // Output only. NSX appliance. + Nsx *Nsx `protobuf:"bytes,18,opt,name=nsx,proto3" json:"nsx,omitempty"` + // Output only. Vcenter appliance. + Vcenter *Vcenter `protobuf:"bytes,19,opt,name=vcenter,proto3" json:"vcenter,omitempty"` + // Output only. System-generated unique identifier for the resource. + Uid string `protobuf:"bytes,20,opt,name=uid,proto3" json:"uid,omitempty"` + // Optional. Type of the private cloud. Defaults to STANDARD. + Type PrivateCloud_Type `protobuf:"varint,22,opt,name=type,proto3,enum=google.cloud.vmwareengine.v1.PrivateCloud_Type" json:"type,omitempty"` +} + +func (x *PrivateCloud) Reset() { + *x = PrivateCloud{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateCloud) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateCloud) ProtoMessage() {} + +func (x *PrivateCloud) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 PrivateCloud.ProtoReflect.Descriptor instead. +func (*PrivateCloud) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3} +} + +func (x *PrivateCloud) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PrivateCloud) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PrivateCloud) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PrivateCloud) GetDeleteTime() *timestamppb.Timestamp { + if x != nil { + return x.DeleteTime + } + return nil +} + +func (x *PrivateCloud) GetExpireTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpireTime + } + return nil +} + +func (x *PrivateCloud) GetState() PrivateCloud_State { + if x != nil { + return x.State + } + return PrivateCloud_STATE_UNSPECIFIED +} + +func (x *PrivateCloud) GetNetworkConfig() *NetworkConfig { + if x != nil { + return x.NetworkConfig + } + return nil +} + +func (x *PrivateCloud) GetManagementCluster() *PrivateCloud_ManagementCluster { + if x != nil { + return x.ManagementCluster + } + return nil +} + +func (x *PrivateCloud) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PrivateCloud) GetHcx() *Hcx { + if x != nil { + return x.Hcx + } + return nil } -func (PrivateConnection_PeeringState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[17].Descriptor() +func (x *PrivateCloud) GetNsx() *Nsx { + if x != nil { + return x.Nsx + } + return nil } -func (PrivateConnection_PeeringState) Type() protoreflect.EnumType { - return &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes[17] +func (x *PrivateCloud) GetVcenter() *Vcenter { + if x != nil { + return x.Vcenter + } + return nil } -func (x PrivateConnection_PeeringState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) +func (x *PrivateCloud) GetUid() string { + if x != nil { + return x.Uid + } + return "" } -// Deprecated: Use PrivateConnection_PeeringState.Descriptor instead. -func (PrivateConnection_PeeringState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14, 3} +func (x *PrivateCloud) GetType() PrivateCloud_Type { + if x != nil { + return x.Type + } + return PrivateCloud_STANDARD } -// Network configuration in the consumer project -// with which the peering has to be done. -type NetworkConfig struct { +// A cluster in a private cloud. +type Cluster struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. Management CIDR used by VMware management appliances. - ManagementCidr string `protobuf:"bytes,4,opt,name=management_cidr,json=managementCidr,proto3" json:"management_cidr,omitempty"` - // Optional. The relative resource name of the VMware Engine network attached - // to the private cloud. Specify the name in the following form: - // `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` - // where `{project}` can either be a project number or a project ID. - VmwareEngineNetwork string `protobuf:"bytes,5,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` - // Output only. The canonical name of the VMware Engine network in the form: - // `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` - VmwareEngineNetworkCanonical string `protobuf:"bytes,6,opt,name=vmware_engine_network_canonical,json=vmwareEngineNetworkCanonical,proto3" json:"vmware_engine_network_canonical,omitempty"` - // Output only. The IP address layout version of the management IP address - // range. Possible versions include: - // * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address - // layout used by some existing private clouds. This is no longer supported - // for new private clouds as it does not support all features. - // * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address - // layout used by all newly created private clouds. This version supports all - // current features. - ManagementIpAddressLayoutVersion int32 `protobuf:"varint,8,opt,name=management_ip_address_layout_version,json=managementIpAddressLayoutVersion,proto3" json:"management_ip_address_layout_version,omitempty"` + // Output only. The resource name of this cluster. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. State of the resource. + State Cluster_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Cluster_State" json:"state,omitempty"` + // Output only. True if the cluster is a management cluster; false otherwise. + // There can only be one management cluster in a private cloud + // and it has to be the first one. + Management bool `protobuf:"varint,7,opt,name=management,proto3" json:"management,omitempty"` + // Output only. System-generated unique identifier for the resource. + Uid string `protobuf:"bytes,14,opt,name=uid,proto3" json:"uid,omitempty"` + // Required. The map of cluster node types in this cluster, where the key is + // canonical identifier of the node type (corresponds to the `NodeType`). + NodeTypeConfigs map[string]*NodeTypeConfig `protobuf:"bytes,16,rep,name=node_type_configs,json=nodeTypeConfigs,proto3" json:"node_type_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Configuration of a stretched cluster. Required for clusters that + // belong to a STRETCHED private cloud. + StretchedClusterConfig *StretchedClusterConfig `protobuf:"bytes,17,opt,name=stretched_cluster_config,json=stretchedClusterConfig,proto3" json:"stretched_cluster_config,omitempty"` } -func (x *NetworkConfig) Reset() { - *x = NetworkConfig{} +func (x *Cluster) Reset() { + *x = Cluster{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[0] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NetworkConfig) String() string { +func (x *Cluster) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NetworkConfig) ProtoMessage() {} +func (*Cluster) ProtoMessage() {} -func (x *NetworkConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[0] +func (x *Cluster) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1151,71 +2267,113 @@ func (x *NetworkConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NetworkConfig.ProtoReflect.Descriptor instead. -func (*NetworkConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{0} +// Deprecated: Use Cluster.ProtoReflect.Descriptor instead. +func (*Cluster) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{4} } -func (x *NetworkConfig) GetManagementCidr() string { +func (x *Cluster) GetName() string { if x != nil { - return x.ManagementCidr + return x.Name } return "" } -func (x *NetworkConfig) GetVmwareEngineNetwork() string { +func (x *Cluster) GetCreateTime() *timestamppb.Timestamp { if x != nil { - return x.VmwareEngineNetwork + return x.CreateTime } - return "" + return nil } -func (x *NetworkConfig) GetVmwareEngineNetworkCanonical() string { +func (x *Cluster) GetUpdateTime() *timestamppb.Timestamp { if x != nil { - return x.VmwareEngineNetworkCanonical + return x.UpdateTime + } + return nil +} + +func (x *Cluster) GetState() Cluster_State { + if x != nil { + return x.State + } + return Cluster_STATE_UNSPECIFIED +} + +func (x *Cluster) GetManagement() bool { + if x != nil { + return x.Management + } + return false +} + +func (x *Cluster) GetUid() string { + if x != nil { + return x.Uid } return "" } -func (x *NetworkConfig) GetManagementIpAddressLayoutVersion() int32 { +func (x *Cluster) GetNodeTypeConfigs() map[string]*NodeTypeConfig { if x != nil { - return x.ManagementIpAddressLayoutVersion + return x.NodeTypeConfigs } - return 0 + return nil } -// Information about the type and number of nodes associated with the cluster. -type NodeTypeConfig struct { +func (x *Cluster) GetStretchedClusterConfig() *StretchedClusterConfig { + if x != nil { + return x.StretchedClusterConfig + } + return nil +} + +// Node in a cluster. +type Node struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The number of nodes of this type in the cluster - NodeCount int32 `protobuf:"varint,1,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"` - // Optional. Customized number of cores available to each node of the type. - // This number must always be one of `nodeType.availableCustomCoreCounts`. - // If zero is provided max value from `nodeType.availableCustomCoreCounts` - // will be used. - CustomCoreCount int32 `protobuf:"varint,2,opt,name=custom_core_count,json=customCoreCount,proto3" json:"custom_core_count,omitempty"` + // Output only. The resource name of this node. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster/nodes/my-node + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Fully qualified domain name of the node. + Fqdn string `protobuf:"bytes,2,opt,name=fqdn,proto3" json:"fqdn,omitempty"` + // Output only. Internal IP address of the node. + InternalIp string `protobuf:"bytes,3,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // Output only. The canonical identifier of the node type (corresponds to the + // `NodeType`). + // For example: standard-72. + NodeTypeId string `protobuf:"bytes,4,opt,name=node_type_id,json=nodeTypeId,proto3" json:"node_type_id,omitempty"` + // Output only. The version number of the VMware ESXi + // management component in this cluster. + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + // Output only. Customized number of cores + CustomCoreCount int64 `protobuf:"varint,6,opt,name=custom_core_count,json=customCoreCount,proto3" json:"custom_core_count,omitempty"` + // Output only. The state of the appliance. + State Node_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Node_State" json:"state,omitempty"` } -func (x *NodeTypeConfig) Reset() { - *x = NodeTypeConfig{} +func (x *Node) Reset() { + *x = Node{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[1] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NodeTypeConfig) String() string { +func (x *Node) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeTypeConfig) ProtoMessage() {} +func (*Node) ProtoMessage() {} -func (x *NodeTypeConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[1] +func (x *Node) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1226,88 +2384,106 @@ func (x *NodeTypeConfig) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NodeTypeConfig.ProtoReflect.Descriptor instead. -func (*NodeTypeConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{1} +// Deprecated: Use Node.ProtoReflect.Descriptor instead. +func (*Node) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{5} } -func (x *NodeTypeConfig) GetNodeCount() int32 { +func (x *Node) GetName() string { if x != nil { - return x.NodeCount + return x.Name } - return 0 + return "" } -func (x *NodeTypeConfig) GetCustomCoreCount() int32 { +func (x *Node) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +func (x *Node) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *Node) GetNodeTypeId() string { + if x != nil { + return x.NodeTypeId + } + return "" +} + +func (x *Node) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Node) GetCustomCoreCount() int64 { if x != nil { return x.CustomCoreCount } return 0 } -// Represents a private cloud resource. Private clouds are zonal resources. -type PrivateCloud struct { +func (x *Node) GetState() Node_State { + if x != nil { + return x.State + } + return Node_STATE_UNSPECIFIED +} + +// Represents an allocated external IP address and its corresponding internal IP +// address in a private cloud. +type ExternalAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The resource name of this private cloud. + // Output only. The resource name of this external IP address. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. Creation time of this resource. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Output only. Last update time of this resource. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` - // Output only. Time when the resource was scheduled for deletion. - DeleteTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"` - // Output only. Time when the resource will be irreversibly deleted. - ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` - // Output only. State of the resource. New values may be added to this enum - // when appropriate. - State PrivateCloud_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.PrivateCloud_State" json:"state,omitempty"` - // Required. Network configuration of the private cloud. - NetworkConfig *NetworkConfig `protobuf:"bytes,9,opt,name=network_config,json=networkConfig,proto3" json:"network_config,omitempty"` - // Required. Input only. The management cluster for this private cloud. - // This field is required during creation of the private cloud to provide - // details for the default cluster. - // - // The following fields can't be changed after private cloud creation: - // `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`. - ManagementCluster *PrivateCloud_ManagementCluster `protobuf:"bytes,10,opt,name=management_cluster,json=managementCluster,proto3" json:"management_cluster,omitempty"` - // User-provided description for this private cloud. - Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` - // Output only. HCX appliance. - Hcx *Hcx `protobuf:"bytes,17,opt,name=hcx,proto3" json:"hcx,omitempty"` - // Output only. NSX appliance. - Nsx *Nsx `protobuf:"bytes,18,opt,name=nsx,proto3" json:"nsx,omitempty"` - // Output only. Vcenter appliance. - Vcenter *Vcenter `protobuf:"bytes,19,opt,name=vcenter,proto3" json:"vcenter,omitempty"` + // The internal IP address of a workload VM. + InternalIp string `protobuf:"bytes,6,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // Output only. The external IP address of a workload VM. + ExternalIp string `protobuf:"bytes,7,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` + // Output only. The state of the resource. + State ExternalAddress_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.ExternalAddress_State" json:"state,omitempty"` // Output only. System-generated unique identifier for the resource. - Uid string `protobuf:"bytes,20,opt,name=uid,proto3" json:"uid,omitempty"` - // Optional. Type of the private cloud. Defaults to STANDARD. - Type PrivateCloud_Type `protobuf:"varint,22,opt,name=type,proto3,enum=google.cloud.vmwareengine.v1.PrivateCloud_Type" json:"type,omitempty"` + Uid string `protobuf:"bytes,9,opt,name=uid,proto3" json:"uid,omitempty"` + // User-provided description for this resource. + Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` } -func (x *PrivateCloud) Reset() { - *x = PrivateCloud{} +func (x *ExternalAddress) Reset() { + *x = ExternalAddress{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[2] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PrivateCloud) String() string { +func (x *ExternalAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrivateCloud) ProtoMessage() {} +func (*ExternalAddress) ProtoMessage() {} -func (x *PrivateCloud) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[2] +func (x *ExternalAddress) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1317,156 +2493,252 @@ func (x *PrivateCloud) ProtoReflect() protoreflect.Message { } return mi.MessageOf(x) } - -// Deprecated: Use PrivateCloud.ProtoReflect.Descriptor instead. -func (*PrivateCloud) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{2} + +// Deprecated: Use ExternalAddress.ProtoReflect.Descriptor instead. +func (*ExternalAddress) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{6} } -func (x *PrivateCloud) GetName() string { +func (x *ExternalAddress) GetName() string { if x != nil { return x.Name } return "" } -func (x *PrivateCloud) GetCreateTime() *timestamppb.Timestamp { +func (x *ExternalAddress) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } -func (x *PrivateCloud) GetUpdateTime() *timestamppb.Timestamp { +func (x *ExternalAddress) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } -func (x *PrivateCloud) GetDeleteTime() *timestamppb.Timestamp { +func (x *ExternalAddress) GetInternalIp() string { if x != nil { - return x.DeleteTime + return x.InternalIp } - return nil + return "" } -func (x *PrivateCloud) GetExpireTime() *timestamppb.Timestamp { +func (x *ExternalAddress) GetExternalIp() string { if x != nil { - return x.ExpireTime + return x.ExternalIp } - return nil + return "" } -func (x *PrivateCloud) GetState() PrivateCloud_State { +func (x *ExternalAddress) GetState() ExternalAddress_State { if x != nil { return x.State } - return PrivateCloud_STATE_UNSPECIFIED + return ExternalAddress_STATE_UNSPECIFIED } -func (x *PrivateCloud) GetNetworkConfig() *NetworkConfig { +func (x *ExternalAddress) GetUid() string { if x != nil { - return x.NetworkConfig + return x.Uid } - return nil + return "" } -func (x *PrivateCloud) GetManagementCluster() *PrivateCloud_ManagementCluster { +func (x *ExternalAddress) GetDescription() string { if x != nil { - return x.ManagementCluster + return x.Description } - return nil + return "" } -func (x *PrivateCloud) GetDescription() string { +// Subnet in a private cloud. Either `management` subnets (such as vMotion) that +// are read-only, or `userDefined`, which can also be updated. +type Subnet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of this subnet. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The IP address range of the subnet in CIDR format '10.0.0.0/24'. + IpCidrRange string `protobuf:"bytes,7,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"` + // The IP address of the gateway of this subnet. + // Must fall within the IP prefix defined above. + GatewayIp string `protobuf:"bytes,8,opt,name=gateway_ip,json=gatewayIp,proto3" json:"gateway_ip,omitempty"` + // Output only. The type of the subnet. For example "management" or + // "userDefined". + Type string `protobuf:"bytes,11,opt,name=type,proto3" json:"type,omitempty"` + // Output only. The state of the resource. + State Subnet_State `protobuf:"varint,13,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Subnet_State" json:"state,omitempty"` + // Output only. VLAN ID of the VLAN on which the subnet is configured + VlanId int32 `protobuf:"varint,16,opt,name=vlan_id,json=vlanId,proto3" json:"vlan_id,omitempty"` +} + +func (x *Subnet) Reset() { + *x = Subnet{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subnet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subnet) ProtoMessage() {} + +func (x *Subnet) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 Subnet.ProtoReflect.Descriptor instead. +func (*Subnet) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{7} +} + +func (x *Subnet) GetName() string { if x != nil { - return x.Description + return x.Name } return "" } -func (x *PrivateCloud) GetHcx() *Hcx { +func (x *Subnet) GetIpCidrRange() string { if x != nil { - return x.Hcx + return x.IpCidrRange } - return nil + return "" } -func (x *PrivateCloud) GetNsx() *Nsx { +func (x *Subnet) GetGatewayIp() string { if x != nil { - return x.Nsx + return x.GatewayIp } - return nil + return "" } -func (x *PrivateCloud) GetVcenter() *Vcenter { +func (x *Subnet) GetType() string { if x != nil { - return x.Vcenter + return x.Type } - return nil + return "" } -func (x *PrivateCloud) GetUid() string { +func (x *Subnet) GetState() Subnet_State { if x != nil { - return x.Uid + return x.State } - return "" + return Subnet_STATE_UNSPECIFIED } -func (x *PrivateCloud) GetType() PrivateCloud_Type { +func (x *Subnet) GetVlanId() int32 { if x != nil { - return x.Type + return x.VlanId } - return PrivateCloud_STANDARD + return 0 } -// A cluster in a private cloud. -type Cluster struct { +// External access firewall rules for filtering incoming traffic destined to +// `ExternalAddress` resources. +type ExternalAccessRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The resource name of this cluster. + // Output only. The resource name of this external access rule. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` + // `projects/my-project/locations/us-central1/networkPolicies/my-policy/externalAccessRules/my-rule` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Output only. Creation time of this resource. CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Output only. Last update time of this resource. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` - // Output only. State of the resource. - State Cluster_State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Cluster_State" json:"state,omitempty"` - // Output only. True if the cluster is a management cluster; false otherwise. - // There can only be one management cluster in a private cloud - // and it has to be the first one. - Management bool `protobuf:"varint,7,opt,name=management,proto3" json:"management,omitempty"` + // User-provided description for this external access rule. + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // External access rule priority, which determines the external access rule to + // use when multiple rules apply. If multiple rules have the same priority, + // their ordering is non-deterministic. If specific ordering is required, + // assign unique priorities to enforce such ordering. The external access rule + // priority is an integer from 100 to 4096, both inclusive. Lower integers + // indicate higher precedence. For example, a rule with priority `100` has + // higher precedence than a rule with priority `101`. + Priority int32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` + // The action that the external access rule performs. + Action ExternalAccessRule_Action `protobuf:"varint,7,opt,name=action,proto3,enum=google.cloud.vmwareengine.v1.ExternalAccessRule_Action" json:"action,omitempty"` + // The IP protocol to which the external access rule applies. This value can + // be one of the following three protocol strings (not case-sensitive): + // `tcp`, `udp`, or `icmp`. + IpProtocol string `protobuf:"bytes,8,opt,name=ip_protocol,json=ipProtocol,proto3" json:"ip_protocol,omitempty"` + // If source ranges are specified, the external access rule applies only to + // traffic that has a source IP address in these ranges. These ranges can + // either be expressed in the CIDR format or as an IP address. As only inbound + // rules are supported, `ExternalAddress` resources cannot be the source IP + // addresses of an external access rule. To match all source addresses, + // specify `0.0.0.0/0`. + SourceIpRanges []*ExternalAccessRule_IpRange `protobuf:"bytes,9,rep,name=source_ip_ranges,json=sourceIpRanges,proto3" json:"source_ip_ranges,omitempty"` + // A list of source ports to which the external access rule applies. This + // field is only applicable for the UDP or TCP protocol. + // Each entry must be either an integer or a range. For example: `["22"]`, + // `["80","443"]`, or `["12345-12349"]`. To match all source ports, specify + // `["0-65535"]`. + SourcePorts []string `protobuf:"bytes,10,rep,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"` + // If destination ranges are specified, the external access rule applies only + // to the traffic that has a destination IP address in these ranges. The + // specified IP addresses must have reserved external IP addresses in the + // scope of the parent network policy. To match all external IP addresses in + // the scope of the parent network policy, specify `0.0.0.0/0`. To match a + // specific external IP address, specify it using the + // `IpRange.external_address` property. + DestinationIpRanges []*ExternalAccessRule_IpRange `protobuf:"bytes,11,rep,name=destination_ip_ranges,json=destinationIpRanges,proto3" json:"destination_ip_ranges,omitempty"` + // A list of destination ports to which the external access rule applies. This + // field is only applicable for the UDP or TCP protocol. + // Each entry must be either an integer or a range. For example: `["22"]`, + // `["80","443"]`, or `["12345-12349"]`. To match all destination ports, + // specify `["0-65535"]`. + DestinationPorts []string `protobuf:"bytes,12,rep,name=destination_ports,json=destinationPorts,proto3" json:"destination_ports,omitempty"` + // Output only. The state of the resource. + State ExternalAccessRule_State `protobuf:"varint,13,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.ExternalAccessRule_State" json:"state,omitempty"` // Output only. System-generated unique identifier for the resource. Uid string `protobuf:"bytes,14,opt,name=uid,proto3" json:"uid,omitempty"` - // Required. The map of cluster node types in this cluster, where the key is - // canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]*NodeTypeConfig `protobuf:"bytes,16,rep,name=node_type_configs,json=nodeTypeConfigs,proto3" json:"node_type_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } -func (x *Cluster) Reset() { - *x = Cluster{} +func (x *ExternalAccessRule) Reset() { + *x = ExternalAccessRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[3] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Cluster) String() string { +func (x *ExternalAccessRule) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Cluster) ProtoMessage() {} +func (*ExternalAccessRule) ProtoMessage() {} -func (x *Cluster) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[3] +func (x *ExternalAccessRule) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1477,102 +2749,149 @@ func (x *Cluster) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Cluster.ProtoReflect.Descriptor instead. -func (*Cluster) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3} +// Deprecated: Use ExternalAccessRule.ProtoReflect.Descriptor instead. +func (*ExternalAccessRule) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8} } -func (x *Cluster) GetName() string { +func (x *ExternalAccessRule) GetName() string { if x != nil { return x.Name } return "" } -func (x *Cluster) GetCreateTime() *timestamppb.Timestamp { +func (x *ExternalAccessRule) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } -func (x *Cluster) GetUpdateTime() *timestamppb.Timestamp { +func (x *ExternalAccessRule) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } -func (x *Cluster) GetState() Cluster_State { +func (x *ExternalAccessRule) GetDescription() string { if x != nil { - return x.State + return x.Description } - return Cluster_STATE_UNSPECIFIED + return "" } -func (x *Cluster) GetManagement() bool { +func (x *ExternalAccessRule) GetPriority() int32 { if x != nil { - return x.Management + return x.Priority } - return false + return 0 } -func (x *Cluster) GetUid() string { +func (x *ExternalAccessRule) GetAction() ExternalAccessRule_Action { if x != nil { - return x.Uid + return x.Action + } + return ExternalAccessRule_ACTION_UNSPECIFIED +} + +func (x *ExternalAccessRule) GetIpProtocol() string { + if x != nil { + return x.IpProtocol } return "" } -func (x *Cluster) GetNodeTypeConfigs() map[string]*NodeTypeConfig { +func (x *ExternalAccessRule) GetSourceIpRanges() []*ExternalAccessRule_IpRange { if x != nil { - return x.NodeTypeConfigs + return x.SourceIpRanges } return nil } -// Subnet in a private cloud. Either `management` subnets (such as vMotion) that -// are read-only, or `userDefined`, which can also be updated. -type Subnet struct { +func (x *ExternalAccessRule) GetSourcePorts() []string { + if x != nil { + return x.SourcePorts + } + return nil +} + +func (x *ExternalAccessRule) GetDestinationIpRanges() []*ExternalAccessRule_IpRange { + if x != nil { + return x.DestinationIpRanges + } + return nil +} + +func (x *ExternalAccessRule) GetDestinationPorts() []string { + if x != nil { + return x.DestinationPorts + } + return nil +} + +func (x *ExternalAccessRule) GetState() ExternalAccessRule_State { + if x != nil { + return x.State + } + return ExternalAccessRule_STATE_UNSPECIFIED +} + +func (x *ExternalAccessRule) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +// Logging server to receive vCenter or ESXi logs. +type LoggingServer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The resource name of this subnet. + // Output only. The resource name of this logging server. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: - // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/loggingServers/my-logging-server` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // The IP address range of the subnet in CIDR format '10.0.0.0/24'. - IpCidrRange string `protobuf:"bytes,7,opt,name=ip_cidr_range,json=ipCidrRange,proto3" json:"ip_cidr_range,omitempty"` - // The IP address of the gateway of this subnet. - // Must fall within the IP prefix defined above. - GatewayIp string `protobuf:"bytes,8,opt,name=gateway_ip,json=gatewayIp,proto3" json:"gateway_ip,omitempty"` - // Output only. The type of the subnet. For example "management" or - // "userDefined". - Type string `protobuf:"bytes,11,opt,name=type,proto3" json:"type,omitempty"` - // Output only. The state of the resource. - State Subnet_State `protobuf:"varint,13,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Subnet_State" json:"state,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Required. Fully-qualified domain name (FQDN) or IP Address of the logging + // server. + Hostname string `protobuf:"bytes,5,opt,name=hostname,proto3" json:"hostname,omitempty"` + // Required. Port number at which the logging server receives logs. + Port int32 `protobuf:"varint,7,opt,name=port,proto3" json:"port,omitempty"` + // Required. Protocol used by vCenter to send logs to a logging server. + Protocol LoggingServer_Protocol `protobuf:"varint,6,opt,name=protocol,proto3,enum=google.cloud.vmwareengine.v1.LoggingServer_Protocol" json:"protocol,omitempty"` + // Required. The type of component that produces logs that will be forwarded + // to this logging server. + SourceType LoggingServer_SourceType `protobuf:"varint,10,opt,name=source_type,json=sourceType,proto3,enum=google.cloud.vmwareengine.v1.LoggingServer_SourceType" json:"source_type,omitempty"` + // Output only. System-generated unique identifier for the resource. + Uid string `protobuf:"bytes,8,opt,name=uid,proto3" json:"uid,omitempty"` } -func (x *Subnet) Reset() { - *x = Subnet{} +func (x *LoggingServer) Reset() { + *x = LoggingServer{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[4] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Subnet) String() string { +func (x *LoggingServer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Subnet) ProtoMessage() {} +func (*LoggingServer) ProtoMessage() {} -func (x *Subnet) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[4] +func (x *LoggingServer) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1583,44 +2902,65 @@ func (x *Subnet) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Subnet.ProtoReflect.Descriptor instead. -func (*Subnet) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{4} +// Deprecated: Use LoggingServer.ProtoReflect.Descriptor instead. +func (*LoggingServer) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{9} } -func (x *Subnet) GetName() string { +func (x *LoggingServer) GetName() string { if x != nil { return x.Name } return "" } -func (x *Subnet) GetIpCidrRange() string { +func (x *LoggingServer) GetCreateTime() *timestamppb.Timestamp { if x != nil { - return x.IpCidrRange + return x.CreateTime } - return "" + return nil } -func (x *Subnet) GetGatewayIp() string { +func (x *LoggingServer) GetUpdateTime() *timestamppb.Timestamp { if x != nil { - return x.GatewayIp + return x.UpdateTime } - return "" + return nil } -func (x *Subnet) GetType() string { +func (x *LoggingServer) GetHostname() string { if x != nil { - return x.Type + return x.Hostname } return "" } -func (x *Subnet) GetState() Subnet_State { +func (x *LoggingServer) GetPort() int32 { if x != nil { - return x.State + return x.Port } - return Subnet_STATE_UNSPECIFIED + return 0 +} + +func (x *LoggingServer) GetProtocol() LoggingServer_Protocol { + if x != nil { + return x.Protocol + } + return LoggingServer_PROTOCOL_UNSPECIFIED +} + +func (x *LoggingServer) GetSourceType() LoggingServer_SourceType { + if x != nil { + return x.SourceType + } + return LoggingServer_SOURCE_TYPE_UNSPECIFIED +} + +func (x *LoggingServer) GetUid() string { + if x != nil { + return x.Uid + } + return "" } // Describes node type. @@ -1651,12 +2991,20 @@ type NodeType struct { DiskSizeGb int32 `protobuf:"varint,8,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"` // Output only. List of possible values of custom core count. AvailableCustomCoreCounts []int32 `protobuf:"varint,11,rep,packed,name=available_custom_core_counts,json=availableCustomCoreCounts,proto3" json:"available_custom_core_counts,omitempty"` + // Output only. The type of the resource. + Kind NodeType_Kind `protobuf:"varint,12,opt,name=kind,proto3,enum=google.cloud.vmwareengine.v1.NodeType_Kind" json:"kind,omitempty"` + // Output only. Families of the node type. + // For node types to be in the same cluster + // they must share at least one element in the `families`. + Families []string `protobuf:"bytes,13,rep,name=families,proto3" json:"families,omitempty"` + // Output only. Capabilities of this node type. + Capabilities []NodeType_Capability `protobuf:"varint,14,rep,packed,name=capabilities,proto3,enum=google.cloud.vmwareengine.v1.NodeType_Capability" json:"capabilities,omitempty"` } func (x *NodeType) Reset() { *x = NodeType{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[5] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1669,7 +3017,7 @@ func (x *NodeType) String() string { func (*NodeType) ProtoMessage() {} func (x *NodeType) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[5] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1682,7 +3030,7 @@ func (x *NodeType) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeType.ProtoReflect.Descriptor instead. func (*NodeType) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{5} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{10} } func (x *NodeType) GetName() string { @@ -1741,6 +3089,27 @@ func (x *NodeType) GetAvailableCustomCoreCounts() []int32 { return nil } +func (x *NodeType) GetKind() NodeType_Kind { + if x != nil { + return x.Kind + } + return NodeType_KIND_UNSPECIFIED +} + +func (x *NodeType) GetFamilies() []string { + if x != nil { + return x.Families + } + return nil +} + +func (x *NodeType) GetCapabilities() []NodeType_Capability { + if x != nil { + return x.Capabilities + } + return nil +} + // Credentials for a private cloud. type Credentials struct { state protoimpl.MessageState @@ -1756,7 +3125,7 @@ type Credentials struct { func (x *Credentials) Reset() { *x = Credentials{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[6] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1769,7 +3138,7 @@ func (x *Credentials) String() string { func (*Credentials) ProtoMessage() {} func (x *Credentials) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[6] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1782,7 +3151,7 @@ func (x *Credentials) ProtoReflect() protoreflect.Message { // Deprecated: Use Credentials.ProtoReflect.Descriptor instead. func (*Credentials) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{6} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{11} } func (x *Credentials) GetUsername() string { @@ -1831,7 +3200,7 @@ type HcxActivationKey struct { func (x *HcxActivationKey) Reset() { *x = HcxActivationKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[7] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1844,7 +3213,7 @@ func (x *HcxActivationKey) String() string { func (*HcxActivationKey) ProtoMessage() {} func (x *HcxActivationKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[7] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1857,7 +3226,7 @@ func (x *HcxActivationKey) ProtoReflect() protoreflect.Message { // Deprecated: Use HcxActivationKey.ProtoReflect.Descriptor instead. func (*HcxActivationKey) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{7} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{12} } func (x *HcxActivationKey) GetName() string { @@ -1901,33 +3270,267 @@ type Hcx struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Internal IP address of the appliance. - InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` - // Version of the appliance. - Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` - // Output only. The state of the appliance. - State Hcx_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Hcx_State" json:"state,omitempty"` - // Fully qualified domain name of the appliance. - Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` + // Internal IP address of the appliance. + InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // Version of the appliance. + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // Output only. The state of the appliance. + State Hcx_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Hcx_State" json:"state,omitempty"` + // Fully qualified domain name of the appliance. + Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *Hcx) Reset() { + *x = Hcx{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hcx) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hcx) ProtoMessage() {} + +func (x *Hcx) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 Hcx.ProtoReflect.Descriptor instead. +func (*Hcx) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13} +} + +func (x *Hcx) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *Hcx) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Hcx) GetState() Hcx_State { + if x != nil { + return x.State + } + return Hcx_STATE_UNSPECIFIED +} + +func (x *Hcx) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +// Details about a NSX Manager appliance. +type Nsx struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Internal IP address of the appliance. + InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // Version of the appliance. + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // Output only. The state of the appliance. + State Nsx_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Nsx_State" json:"state,omitempty"` + // Fully qualified domain name of the appliance. + Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *Nsx) Reset() { + *x = Nsx{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nsx) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nsx) ProtoMessage() {} + +func (x *Nsx) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 Nsx.ProtoReflect.Descriptor instead. +func (*Nsx) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14} +} + +func (x *Nsx) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *Nsx) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Nsx) GetState() Nsx_State { + if x != nil { + return x.State + } + return Nsx_STATE_UNSPECIFIED +} + +func (x *Nsx) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +// Details about a vCenter Server management appliance. +type Vcenter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Internal IP address of the appliance. + InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` + // Version of the appliance. + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // Output only. The state of the appliance. + State Vcenter_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Vcenter_State" json:"state,omitempty"` + // Fully qualified domain name of the appliance. + Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +} + +func (x *Vcenter) Reset() { + *x = Vcenter{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Vcenter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Vcenter) ProtoMessage() {} + +func (x *Vcenter) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 Vcenter.ProtoReflect.Descriptor instead. +func (*Vcenter) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{15} +} + +func (x *Vcenter) GetInternalIp() string { + if x != nil { + return x.InternalIp + } + return "" +} + +func (x *Vcenter) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Vcenter) GetState() Vcenter_State { + if x != nil { + return x.State + } + return Vcenter_STATE_UNSPECIFIED +} + +func (x *Vcenter) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +// DNS forwarding config. +// This config defines a list of domain to name server mappings, +// and is attached to the private cloud for custom domain resolution. +type DnsForwarding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of this DNS profile. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Required. List of domain mappings to configure + ForwardingRules []*DnsForwarding_ForwardingRule `protobuf:"bytes,4,rep,name=forwarding_rules,json=forwardingRules,proto3" json:"forwarding_rules,omitempty"` } -func (x *Hcx) Reset() { - *x = Hcx{} +func (x *DnsForwarding) Reset() { + *x = DnsForwarding{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[8] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Hcx) String() string { +func (x *DnsForwarding) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Hcx) ProtoMessage() {} +func (*DnsForwarding) ProtoMessage() {} -func (x *Hcx) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[8] +func (x *DnsForwarding) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,72 +3541,128 @@ func (x *Hcx) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Hcx.ProtoReflect.Descriptor instead. -func (*Hcx) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8} +// Deprecated: Use DnsForwarding.ProtoReflect.Descriptor instead. +func (*DnsForwarding) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{16} } -func (x *Hcx) GetInternalIp() string { +func (x *DnsForwarding) GetName() string { if x != nil { - return x.InternalIp + return x.Name } return "" } -func (x *Hcx) GetVersion() string { +func (x *DnsForwarding) GetCreateTime() *timestamppb.Timestamp { if x != nil { - return x.Version + return x.CreateTime } - return "" + return nil } -func (x *Hcx) GetState() Hcx_State { +func (x *DnsForwarding) GetUpdateTime() *timestamppb.Timestamp { if x != nil { - return x.State + return x.UpdateTime } - return Hcx_STATE_UNSPECIFIED + return nil } -func (x *Hcx) GetFqdn() string { +func (x *DnsForwarding) GetForwardingRules() []*DnsForwarding_ForwardingRule { if x != nil { - return x.Fqdn + return x.ForwardingRules } - return "" + return nil } -// Details about a NSX Manager appliance. -type Nsx struct { +// Details of a network peering. +type NetworkPeering struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Internal IP address of the appliance. - InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` - // Version of the appliance. - Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` - // Output only. The state of the appliance. - State Nsx_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Nsx_State" json:"state,omitempty"` - // Fully qualified domain name of the appliance. - Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` + // Output only. The resource name of the network peering. NetworkPeering is a + // global resource and location can only be global. Resource names are + // scheme-less URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/global/networkPeerings/my-peering` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Required. The relative resource name of the network to peer with + // a standard VMware Engine network. The provided network can be a + // consumer VPC network or another standard VMware Engine network. If the + // `peer_network_type` is VMWARE_ENGINE_NETWORK, specify the name in the form: + // `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. + // Otherwise specify the name in the form: + // `projects/{project}/global/networks/{network_id}`, where + // `{project}` can either be a project number or a project ID. + PeerNetwork string `protobuf:"bytes,5,opt,name=peer_network,json=peerNetwork,proto3" json:"peer_network,omitempty"` + // Optional. True if custom routes are exported to the peered network; + // false otherwise. The default value is true. + ExportCustomRoutes *bool `protobuf:"varint,8,opt,name=export_custom_routes,json=exportCustomRoutes,proto3,oneof" json:"export_custom_routes,omitempty"` + // Optional. True if custom routes are imported from the peered network; + // false otherwise. The default value is true. + ImportCustomRoutes *bool `protobuf:"varint,9,opt,name=import_custom_routes,json=importCustomRoutes,proto3,oneof" json:"import_custom_routes,omitempty"` + // Optional. True if full mesh connectivity is created and managed + // automatically between peered networks; false otherwise. Currently this + // field is always true because Google Compute Engine automatically creates + // and manages subnetwork routes between two VPC networks when peering state + // is 'ACTIVE'. + ExchangeSubnetRoutes *bool `protobuf:"varint,10,opt,name=exchange_subnet_routes,json=exchangeSubnetRoutes,proto3,oneof" json:"exchange_subnet_routes,omitempty"` + // Optional. True if all subnet routes with a public IP address range are + // exported; false otherwise. The default value is true. IPv4 special-use + // ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always + // exported to peers and are not controlled by this field. + ExportCustomRoutesWithPublicIp *bool `protobuf:"varint,11,opt,name=export_custom_routes_with_public_ip,json=exportCustomRoutesWithPublicIp,proto3,oneof" json:"export_custom_routes_with_public_ip,omitempty"` + // Optional. True if all subnet routes with public IP address range are + // imported; false otherwise. The default value is true. IPv4 special-use + // ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always + // imported to peers and are not controlled by this field. + ImportCustomRoutesWithPublicIp *bool `protobuf:"varint,12,opt,name=import_custom_routes_with_public_ip,json=importCustomRoutesWithPublicIp,proto3,oneof" json:"import_custom_routes_with_public_ip,omitempty"` + // Output only. State of the network peering. This field + // has a value of 'ACTIVE' when there's a matching configuration in the peer + // network. New values may be added to this enum when appropriate. + State NetworkPeering_State `protobuf:"varint,13,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.NetworkPeering_State" json:"state,omitempty"` + // Output only. Output Only. Details about the current state of the network + // peering. + StateDetails string `protobuf:"bytes,7,opt,name=state_details,json=stateDetails,proto3" json:"state_details,omitempty"` + // Optional. Maximum transmission unit (MTU) in bytes. + // The default value is `1500`. If a value of `0` is provided for this field, + // VMware Engine uses the default value instead. + PeerMtu int32 `protobuf:"varint,14,opt,name=peer_mtu,json=peerMtu,proto3" json:"peer_mtu,omitempty"` + // Required. The type of the network to peer with the VMware Engine network. + PeerNetworkType NetworkPeering_PeerNetworkType `protobuf:"varint,16,opt,name=peer_network_type,json=peerNetworkType,proto3,enum=google.cloud.vmwareengine.v1.NetworkPeering_PeerNetworkType" json:"peer_network_type,omitempty"` + // Output only. System-generated unique identifier for the resource. + Uid string `protobuf:"bytes,17,opt,name=uid,proto3" json:"uid,omitempty"` + // Required. The relative resource name of the VMware Engine network. + // Specify the name in the following form: + // `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` + // where `{project}` can either be a project number or a project ID. + VmwareEngineNetwork string `protobuf:"bytes,20,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3" json:"vmware_engine_network,omitempty"` + // Optional. User-provided description for this network peering. + Description string `protobuf:"bytes,21,opt,name=description,proto3" json:"description,omitempty"` } -func (x *Nsx) Reset() { - *x = Nsx{} +func (x *NetworkPeering) Reset() { + *x = NetworkPeering{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[9] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Nsx) String() string { +func (x *NetworkPeering) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Nsx) ProtoMessage() {} +func (*NetworkPeering) ProtoMessage() {} -func (x *Nsx) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[9] +func (x *NetworkPeering) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2014,111 +3673,119 @@ func (x *Nsx) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Nsx.ProtoReflect.Descriptor instead. -func (*Nsx) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{9} +// Deprecated: Use NetworkPeering.ProtoReflect.Descriptor instead. +func (*NetworkPeering) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{17} } -func (x *Nsx) GetInternalIp() string { +func (x *NetworkPeering) GetName() string { if x != nil { - return x.InternalIp + return x.Name } return "" } -func (x *Nsx) GetVersion() string { +func (x *NetworkPeering) GetCreateTime() *timestamppb.Timestamp { if x != nil { - return x.Version + return x.CreateTime } - return "" + return nil } -func (x *Nsx) GetState() Nsx_State { +func (x *NetworkPeering) GetUpdateTime() *timestamppb.Timestamp { if x != nil { - return x.State + return x.UpdateTime } - return Nsx_STATE_UNSPECIFIED + return nil } -func (x *Nsx) GetFqdn() string { +func (x *NetworkPeering) GetPeerNetwork() string { if x != nil { - return x.Fqdn + return x.PeerNetwork } return "" } -// Details about a vCenter Server management appliance. -type Vcenter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Internal IP address of the appliance. - InternalIp string `protobuf:"bytes,2,opt,name=internal_ip,json=internalIp,proto3" json:"internal_ip,omitempty"` - // Version of the appliance. - Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` - // Output only. The state of the appliance. - State Vcenter_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.Vcenter_State" json:"state,omitempty"` - // Fully qualified domain name of the appliance. - Fqdn string `protobuf:"bytes,6,opt,name=fqdn,proto3" json:"fqdn,omitempty"` +func (x *NetworkPeering) GetExportCustomRoutes() bool { + if x != nil && x.ExportCustomRoutes != nil { + return *x.ExportCustomRoutes + } + return false } -func (x *Vcenter) Reset() { - *x = Vcenter{} - if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *NetworkPeering) GetImportCustomRoutes() bool { + if x != nil && x.ImportCustomRoutes != nil { + return *x.ImportCustomRoutes } + return false } -func (x *Vcenter) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *NetworkPeering) GetExchangeSubnetRoutes() bool { + if x != nil && x.ExchangeSubnetRoutes != nil { + return *x.ExchangeSubnetRoutes + } + return false } -func (*Vcenter) ProtoMessage() {} +func (x *NetworkPeering) GetExportCustomRoutesWithPublicIp() bool { + if x != nil && x.ExportCustomRoutesWithPublicIp != nil { + return *x.ExportCustomRoutesWithPublicIp + } + return false +} -func (x *Vcenter) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *NetworkPeering) GetImportCustomRoutesWithPublicIp() bool { + if x != nil && x.ImportCustomRoutesWithPublicIp != nil { + return *x.ImportCustomRoutesWithPublicIp } - return mi.MessageOf(x) + return false } -// Deprecated: Use Vcenter.ProtoReflect.Descriptor instead. -func (*Vcenter) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{10} +func (x *NetworkPeering) GetState() NetworkPeering_State { + if x != nil { + return x.State + } + return NetworkPeering_STATE_UNSPECIFIED } -func (x *Vcenter) GetInternalIp() string { +func (x *NetworkPeering) GetStateDetails() string { if x != nil { - return x.InternalIp + return x.StateDetails } return "" } -func (x *Vcenter) GetVersion() string { +func (x *NetworkPeering) GetPeerMtu() int32 { if x != nil { - return x.Version + return x.PeerMtu + } + return 0 +} + +func (x *NetworkPeering) GetPeerNetworkType() NetworkPeering_PeerNetworkType { + if x != nil { + return x.PeerNetworkType + } + return NetworkPeering_PEER_NETWORK_TYPE_UNSPECIFIED +} + +func (x *NetworkPeering) GetUid() string { + if x != nil { + return x.Uid } return "" } -func (x *Vcenter) GetState() Vcenter_State { +func (x *NetworkPeering) GetVmwareEngineNetwork() string { if x != nil { - return x.State + return x.VmwareEngineNetwork } - return Vcenter_STATE_UNSPECIFIED + return "" } -func (x *Vcenter) GetFqdn() string { +func (x *NetworkPeering) GetDescription() string { if x != nil { - return x.Fqdn + return x.Description } return "" } @@ -2156,7 +3823,7 @@ type PeeringRoute struct { func (x *PeeringRoute) Reset() { *x = PeeringRoute{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[11] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2169,7 +3836,7 @@ func (x *PeeringRoute) String() string { func (*PeeringRoute) ProtoMessage() {} func (x *PeeringRoute) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[11] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2182,7 +3849,7 @@ func (x *PeeringRoute) ProtoReflect() protoreflect.Message { // Deprecated: Use PeeringRoute.ProtoReflect.Descriptor instead. func (*PeeringRoute) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{11} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{18} } func (x *PeeringRoute) GetDestRange() string { @@ -2276,7 +3943,7 @@ type NetworkPolicy struct { func (x *NetworkPolicy) Reset() { *x = NetworkPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[12] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2289,7 +3956,7 @@ func (x *NetworkPolicy) String() string { func (*NetworkPolicy) ProtoMessage() {} func (x *NetworkPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[12] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2302,7 +3969,7 @@ func (x *NetworkPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkPolicy.ProtoReflect.Descriptor instead. func (*NetworkPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{12} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{19} } func (x *NetworkPolicy) GetName() string { @@ -2368,13 +4035,168 @@ func (x *NetworkPolicy) GetDescription() string { return "" } -func (x *NetworkPolicy) GetVmwareEngineNetworkCanonical() string { +func (x *NetworkPolicy) GetVmwareEngineNetworkCanonical() string { + if x != nil { + return x.VmwareEngineNetworkCanonical + } + return "" +} + +// Represents a binding between a network and the management DNS zone. +// A management DNS zone is the Cloud DNS cross-project binding zone that +// VMware Engine creates for each private cloud. It contains FQDNs and +// corresponding IP addresses for the private cloud's ESXi hosts and management +// VM appliances like vCenter and NSX Manager. +type ManagementDnsZoneBinding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of this binding. + // Resource names are schemeless URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/managementDnsZoneBindings/my-management-dns-zone-binding` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Creation time of this resource. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Last update time of this resource. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The state of the resource. + State ManagementDnsZoneBinding_State `protobuf:"varint,8,opt,name=state,proto3,enum=google.cloud.vmwareengine.v1.ManagementDnsZoneBinding_State" json:"state,omitempty"` + // User-provided description for this resource. + Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` + // Required. The relative resource name of the network to bind to the + // management DNS zone. This network can be a consumer VPC network or a + // VMware engine network. + // + // Types that are assignable to BindNetwork: + // *ManagementDnsZoneBinding_VpcNetwork + // *ManagementDnsZoneBinding_VmwareEngineNetwork + BindNetwork isManagementDnsZoneBinding_BindNetwork `protobuf_oneof:"bind_network"` + // Output only. System-generated unique identifier for the resource. + Uid string `protobuf:"bytes,9,opt,name=uid,proto3" json:"uid,omitempty"` +} + +func (x *ManagementDnsZoneBinding) Reset() { + *x = ManagementDnsZoneBinding{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ManagementDnsZoneBinding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ManagementDnsZoneBinding) ProtoMessage() {} + +func (x *ManagementDnsZoneBinding) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 ManagementDnsZoneBinding.ProtoReflect.Descriptor instead. +func (*ManagementDnsZoneBinding) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{20} +} + +func (x *ManagementDnsZoneBinding) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ManagementDnsZoneBinding) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ManagementDnsZoneBinding) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ManagementDnsZoneBinding) GetState() ManagementDnsZoneBinding_State { + if x != nil { + return x.State + } + return ManagementDnsZoneBinding_STATE_UNSPECIFIED +} + +func (x *ManagementDnsZoneBinding) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (m *ManagementDnsZoneBinding) GetBindNetwork() isManagementDnsZoneBinding_BindNetwork { + if m != nil { + return m.BindNetwork + } + return nil +} + +func (x *ManagementDnsZoneBinding) GetVpcNetwork() string { + if x, ok := x.GetBindNetwork().(*ManagementDnsZoneBinding_VpcNetwork); ok { + return x.VpcNetwork + } + return "" +} + +func (x *ManagementDnsZoneBinding) GetVmwareEngineNetwork() string { + if x, ok := x.GetBindNetwork().(*ManagementDnsZoneBinding_VmwareEngineNetwork); ok { + return x.VmwareEngineNetwork + } + return "" +} + +func (x *ManagementDnsZoneBinding) GetUid() string { if x != nil { - return x.VmwareEngineNetworkCanonical + return x.Uid } return "" } +type isManagementDnsZoneBinding_BindNetwork interface { + isManagementDnsZoneBinding_BindNetwork() +} + +type ManagementDnsZoneBinding_VpcNetwork struct { + // Network to bind is a standard consumer VPC. + // Specify the name in the following form for consumer + // VPC network: `projects/{project}/global/networks/{network_id}`. + // `{project}` can either be a project number or a project ID. + VpcNetwork string `protobuf:"bytes,14,opt,name=vpc_network,json=vpcNetwork,proto3,oneof"` +} + +type ManagementDnsZoneBinding_VmwareEngineNetwork struct { + // Network to bind is a VMware Engine network. + // Specify the name in the following form for VMware engine network: + // `projects/{project}/locations/global/vmwareEngineNetworks/{vmware_engine_network_id}`. + // `{project}` can either be a project number or a project ID. + VmwareEngineNetwork string `protobuf:"bytes,15,opt,name=vmware_engine_network,json=vmwareEngineNetwork,proto3,oneof"` +} + +func (*ManagementDnsZoneBinding_VpcNetwork) isManagementDnsZoneBinding_BindNetwork() {} + +func (*ManagementDnsZoneBinding_VmwareEngineNetwork) isManagementDnsZoneBinding_BindNetwork() {} + // VMware Engine network resource that provides connectivity for VMware Engine // private clouds. type VmwareEngineNetwork struct { @@ -2414,7 +4236,7 @@ type VmwareEngineNetwork struct { func (x *VmwareEngineNetwork) Reset() { *x = VmwareEngineNetwork{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[13] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2427,7 +4249,7 @@ func (x *VmwareEngineNetwork) String() string { func (*VmwareEngineNetwork) ProtoMessage() {} func (x *VmwareEngineNetwork) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[13] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2440,7 +4262,7 @@ func (x *VmwareEngineNetwork) ProtoReflect() protoreflect.Message { // Deprecated: Use VmwareEngineNetwork.ProtoReflect.Descriptor instead. func (*VmwareEngineNetwork) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{21} } func (x *VmwareEngineNetwork) GetName() string { @@ -2568,23 +4390,375 @@ type PrivateConnection struct { PeeringState PrivateConnection_PeeringState `protobuf:"varint,17,opt,name=peering_state,json=peeringState,proto3,enum=google.cloud.vmwareengine.v1.PrivateConnection_PeeringState" json:"peering_state,omitempty"` } -func (x *PrivateConnection) Reset() { - *x = PrivateConnection{} +func (x *PrivateConnection) Reset() { + *x = PrivateConnection{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivateConnection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivateConnection) ProtoMessage() {} + +func (x *PrivateConnection) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 PrivateConnection.ProtoReflect.Descriptor instead. +func (*PrivateConnection) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{22} +} + +func (x *PrivateConnection) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PrivateConnection) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *PrivateConnection) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *PrivateConnection) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PrivateConnection) GetState() PrivateConnection_State { + if x != nil { + return x.State + } + return PrivateConnection_STATE_UNSPECIFIED +} + +func (x *PrivateConnection) GetVmwareEngineNetwork() string { + if x != nil { + return x.VmwareEngineNetwork + } + return "" +} + +func (x *PrivateConnection) GetVmwareEngineNetworkCanonical() string { + if x != nil { + return x.VmwareEngineNetworkCanonical + } + return "" +} + +func (x *PrivateConnection) GetType() PrivateConnection_Type { + if x != nil { + return x.Type + } + return PrivateConnection_TYPE_UNSPECIFIED +} + +func (x *PrivateConnection) GetPeeringId() string { + if x != nil { + return x.PeeringId + } + return "" +} + +func (x *PrivateConnection) GetRoutingMode() PrivateConnection_RoutingMode { + if x != nil { + return x.RoutingMode + } + return PrivateConnection_ROUTING_MODE_UNSPECIFIED +} + +func (x *PrivateConnection) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +func (x *PrivateConnection) GetServiceNetwork() string { + if x != nil { + return x.ServiceNetwork + } + return "" +} + +func (x *PrivateConnection) GetPeeringState() PrivateConnection_PeeringState { + if x != nil { + return x.PeeringState + } + return PrivateConnection_PEERING_STATE_UNSPECIFIED +} + +// VmwareEngine specific metadata for the given +// [google.cloud.location.Location][google.cloud.location.Location]. It is +// returned as a content of the `google.cloud.location.Location.metadata` field. +type LocationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Capabilities of this location. + Capabilities []LocationMetadata_Capability `protobuf:"varint,1,rep,packed,name=capabilities,proto3,enum=google.cloud.vmwareengine.v1.LocationMetadata_Capability" json:"capabilities,omitempty"` +} + +func (x *LocationMetadata) Reset() { + *x = LocationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LocationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocationMetadata) ProtoMessage() {} + +func (x *LocationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 LocationMetadata.ProtoReflect.Descriptor instead. +func (*LocationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{23} +} + +func (x *LocationMetadata) GetCapabilities() []LocationMetadata_Capability { + if x != nil { + return x.Capabilities + } + return nil +} + +// DnsBindPermission resource that contains the accounts having the consumer DNS +// bind permission on the corresponding intranet VPC of the consumer project. +type DnsBindPermission struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Output only. The name of the resource which stores the + // users/service accounts having the permission to bind to the corresponding + // intranet VPC of the consumer project. DnsBindPermission is a global + // resource and location can only be global. Resource names are schemeless + // URIs that follow the conventions in + // https://cloud.google.com/apis/design/resource_names. For example: + // `projects/my-project/locations/global/dnsBindPermission` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Users/Service accounts which have access for binding on the + // intranet VPC project corresponding to the consumer project. + Principals []*Principal `protobuf:"bytes,2,rep,name=principals,proto3" json:"principals,omitempty"` +} + +func (x *DnsBindPermission) Reset() { + *x = DnsBindPermission{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DnsBindPermission) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DnsBindPermission) ProtoMessage() {} + +func (x *DnsBindPermission) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 DnsBindPermission.ProtoReflect.Descriptor instead. +func (*DnsBindPermission) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{24} +} + +func (x *DnsBindPermission) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DnsBindPermission) GetPrincipals() []*Principal { + if x != nil { + return x.Principals + } + return nil +} + +// Users/Service accounts which have access for DNS binding on the intranet +// VPC corresponding to the consumer project. +type Principal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The consumer provided user/service account which needs to be + // granted permission to DNS bind with the intranet VPC corresponding to the + // consumer project. + // + // Types that are assignable to Principal: + // *Principal_User + // *Principal_ServiceAccount + Principal isPrincipal_Principal `protobuf_oneof:"principal"` +} + +func (x *Principal) Reset() { + *x = Principal{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Principal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Principal) ProtoMessage() {} + +func (x *Principal) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 Principal.ProtoReflect.Descriptor instead. +func (*Principal) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{25} +} + +func (m *Principal) GetPrincipal() isPrincipal_Principal { + if m != nil { + return m.Principal + } + return nil +} + +func (x *Principal) GetUser() string { + if x, ok := x.GetPrincipal().(*Principal_User); ok { + return x.User + } + return "" +} + +func (x *Principal) GetServiceAccount() string { + if x, ok := x.GetPrincipal().(*Principal_ServiceAccount); ok { + return x.ServiceAccount + } + return "" +} + +type isPrincipal_Principal interface { + isPrincipal_Principal() +} + +type Principal_User struct { + // The user who needs to be granted permission. + User string `protobuf:"bytes,1,opt,name=user,proto3,oneof"` +} + +type Principal_ServiceAccount struct { + // The service account which needs to be granted the permission. + ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3,oneof"` +} + +func (*Principal_User) isPrincipal_Principal() {} + +func (*Principal_ServiceAccount) isPrincipal_Principal() {} + +// Management cluster configuration. +type PrivateCloud_ManagementCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The user-provided identifier of the new `Cluster`. + // The identifier must meet the following requirements: + // + // * Only contains 1-63 alphanumeric characters and hyphens + // * Begins with an alphabetical character + // * Ends with a non-hyphen character + // * Not formatted as a UUID + // * Complies with [RFC + // 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) + ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` + // Required. The map of cluster node types in this cluster, where the key is + // canonical identifier of the node type (corresponds to the `NodeType`). + NodeTypeConfigs map[string]*NodeTypeConfig `protobuf:"bytes,7,rep,name=node_type_configs,json=nodeTypeConfigs,proto3" json:"node_type_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Configuration of a stretched cluster. Required for STRETCHED + // private clouds. + StretchedClusterConfig *StretchedClusterConfig `protobuf:"bytes,8,opt,name=stretched_cluster_config,json=stretchedClusterConfig,proto3" json:"stretched_cluster_config,omitempty"` +} + +func (x *PrivateCloud_ManagementCluster) Reset() { + *x = PrivateCloud_ManagementCluster{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[14] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PrivateConnection) String() string { +func (x *PrivateCloud_ManagementCluster) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrivateConnection) ProtoMessage() {} +func (*PrivateCloud_ManagementCluster) ProtoMessage() {} -func (x *PrivateConnection) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[14] +func (x *PrivateCloud_ManagementCluster) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2595,140 +4769,167 @@ func (x *PrivateConnection) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrivateConnection.ProtoReflect.Descriptor instead. -func (*PrivateConnection) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{14} +// Deprecated: Use PrivateCloud_ManagementCluster.ProtoReflect.Descriptor instead. +func (*PrivateCloud_ManagementCluster) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{3, 0} } -func (x *PrivateConnection) GetName() string { +func (x *PrivateCloud_ManagementCluster) GetClusterId() string { if x != nil { - return x.Name + return x.ClusterId } return "" } -func (x *PrivateConnection) GetCreateTime() *timestamppb.Timestamp { +func (x *PrivateCloud_ManagementCluster) GetNodeTypeConfigs() map[string]*NodeTypeConfig { if x != nil { - return x.CreateTime + return x.NodeTypeConfigs } return nil } -func (x *PrivateConnection) GetUpdateTime() *timestamppb.Timestamp { +func (x *PrivateCloud_ManagementCluster) GetStretchedClusterConfig() *StretchedClusterConfig { if x != nil { - return x.UpdateTime + return x.StretchedClusterConfig } return nil } -func (x *PrivateConnection) GetDescription() string { - if x != nil { - return x.Description - } - return "" +// An IP range provided in any one of the supported formats. +type ExternalAccessRule_IpRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to IpRange: + // *ExternalAccessRule_IpRange_IpAddress + // *ExternalAccessRule_IpRange_IpAddressRange + // *ExternalAccessRule_IpRange_ExternalAddress + IpRange isExternalAccessRule_IpRange_IpRange `protobuf_oneof:"ip_range"` } -func (x *PrivateConnection) GetState() PrivateConnection_State { - if x != nil { - return x.State +func (x *ExternalAccessRule_IpRange) Reset() { + *x = ExternalAccessRule_IpRange{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return PrivateConnection_STATE_UNSPECIFIED } -func (x *PrivateConnection) GetVmwareEngineNetwork() string { - if x != nil { - return x.VmwareEngineNetwork - } - return "" +func (x *ExternalAccessRule_IpRange) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *PrivateConnection) GetVmwareEngineNetworkCanonical() string { - if x != nil { - return x.VmwareEngineNetworkCanonical +func (*ExternalAccessRule_IpRange) ProtoMessage() {} + +func (x *ExternalAccessRule_IpRange) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_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 "" + return mi.MessageOf(x) } -func (x *PrivateConnection) GetType() PrivateConnection_Type { - if x != nil { - return x.Type - } - return PrivateConnection_TYPE_UNSPECIFIED +// Deprecated: Use ExternalAccessRule_IpRange.ProtoReflect.Descriptor instead. +func (*ExternalAccessRule_IpRange) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{8, 0} } -func (x *PrivateConnection) GetPeeringId() string { - if x != nil { - return x.PeeringId +func (m *ExternalAccessRule_IpRange) GetIpRange() isExternalAccessRule_IpRange_IpRange { + if m != nil { + return m.IpRange } - return "" + return nil } -func (x *PrivateConnection) GetRoutingMode() PrivateConnection_RoutingMode { - if x != nil { - return x.RoutingMode +func (x *ExternalAccessRule_IpRange) GetIpAddress() string { + if x, ok := x.GetIpRange().(*ExternalAccessRule_IpRange_IpAddress); ok { + return x.IpAddress } - return PrivateConnection_ROUTING_MODE_UNSPECIFIED + return "" } -func (x *PrivateConnection) GetUid() string { - if x != nil { - return x.Uid +func (x *ExternalAccessRule_IpRange) GetIpAddressRange() string { + if x, ok := x.GetIpRange().(*ExternalAccessRule_IpRange_IpAddressRange); ok { + return x.IpAddressRange } return "" } -func (x *PrivateConnection) GetServiceNetwork() string { - if x != nil { - return x.ServiceNetwork +func (x *ExternalAccessRule_IpRange) GetExternalAddress() string { + if x, ok := x.GetIpRange().(*ExternalAccessRule_IpRange_ExternalAddress); ok { + return x.ExternalAddress } return "" } -func (x *PrivateConnection) GetPeeringState() PrivateConnection_PeeringState { - if x != nil { - return x.PeeringState - } - return PrivateConnection_PEERING_STATE_UNSPECIFIED +type isExternalAccessRule_IpRange_IpRange interface { + isExternalAccessRule_IpRange_IpRange() } -// Management cluster configuration. -type PrivateCloud_ManagementCluster struct { +type ExternalAccessRule_IpRange_IpAddress struct { + // A single IP address. For example: `10.0.0.5`. + IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3,oneof"` +} + +type ExternalAccessRule_IpRange_IpAddressRange struct { + // An IP address range in the CIDR format. For example: `10.0.0.0/24`. + IpAddressRange string `protobuf:"bytes,2,opt,name=ip_address_range,json=ipAddressRange,proto3,oneof"` +} + +type ExternalAccessRule_IpRange_ExternalAddress struct { + // The name of an `ExternalAddress` resource. The external address must + // have been reserved in the scope of this external access rule's parent + // network policy. Provide the external address name in the form of + // `projects/{project}/locations/{location}/privateClouds/{private_cloud}/externalAddresses/{external_address}`. + // For example: + // `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`. + ExternalAddress string `protobuf:"bytes,3,opt,name=external_address,json=externalAddress,proto3,oneof"` +} + +func (*ExternalAccessRule_IpRange_IpAddress) isExternalAccessRule_IpRange_IpRange() {} + +func (*ExternalAccessRule_IpRange_IpAddressRange) isExternalAccessRule_IpRange_IpRange() {} + +func (*ExternalAccessRule_IpRange_ExternalAddress) isExternalAccessRule_IpRange_IpRange() {} + +// A forwarding rule is a mapping of a `domain` to `name_servers`. +// This mapping allows VMware Engine to resolve domains for attached private +// clouds by forwarding DNS requests for a given domain to the specified +// nameservers. +type DnsForwarding_ForwardingRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Required. The user-provided identifier of the new `Cluster`. - // The identifier must meet the following requirements: - // - // * Only contains 1-63 alphanumeric characters and hyphens - // * Begins with an alphabetical character - // * Ends with a non-hyphen character - // * Not formatted as a UUID - // * Complies with [RFC - // 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) - ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` - // Required. The map of cluster node types in this cluster, where the key is - // canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]*NodeTypeConfig `protobuf:"bytes,7,rep,name=node_type_configs,json=nodeTypeConfigs,proto3" json:"node_type_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. Domain used to resolve a `name_servers` list. + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + // Required. List of DNS servers to use for domain resolution + NameServers []string `protobuf:"bytes,2,rep,name=name_servers,json=nameServers,proto3" json:"name_servers,omitempty"` } -func (x *PrivateCloud_ManagementCluster) Reset() { - *x = PrivateCloud_ManagementCluster{} +func (x *DnsForwarding_ForwardingRule) Reset() { + *x = DnsForwarding_ForwardingRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[15] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PrivateCloud_ManagementCluster) String() string { +func (x *DnsForwarding_ForwardingRule) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrivateCloud_ManagementCluster) ProtoMessage() {} +func (*DnsForwarding_ForwardingRule) ProtoMessage() {} -func (x *PrivateCloud_ManagementCluster) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[15] +func (x *DnsForwarding_ForwardingRule) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2739,21 +4940,21 @@ func (x *PrivateCloud_ManagementCluster) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrivateCloud_ManagementCluster.ProtoReflect.Descriptor instead. -func (*PrivateCloud_ManagementCluster) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{2, 0} +// Deprecated: Use DnsForwarding_ForwardingRule.ProtoReflect.Descriptor instead. +func (*DnsForwarding_ForwardingRule) Descriptor() ([]byte, []int) { + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{16, 0} } -func (x *PrivateCloud_ManagementCluster) GetClusterId() string { +func (x *DnsForwarding_ForwardingRule) GetDomain() string { if x != nil { - return x.ClusterId + return x.Domain } return "" } -func (x *PrivateCloud_ManagementCluster) GetNodeTypeConfigs() map[string]*NodeTypeConfig { +func (x *DnsForwarding_ForwardingRule) GetNameServers() []string { if x != nil { - return x.NodeTypeConfigs + return x.NameServers } return nil } @@ -2778,7 +4979,7 @@ type NetworkPolicy_NetworkService struct { func (x *NetworkPolicy_NetworkService) Reset() { *x = NetworkPolicy_NetworkService{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[18] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2791,7 +4992,7 @@ func (x *NetworkPolicy_NetworkService) String() string { func (*NetworkPolicy_NetworkService) ProtoMessage() {} func (x *NetworkPolicy_NetworkService) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[18] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2804,7 +5005,7 @@ func (x *NetworkPolicy_NetworkService) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkPolicy_NetworkService.ProtoReflect.Descriptor instead. func (*NetworkPolicy_NetworkService) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{12, 0} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{19, 0} } func (x *NetworkPolicy_NetworkService) GetEnabled() bool { @@ -2840,7 +5041,7 @@ type VmwareEngineNetwork_VpcNetwork struct { func (x *VmwareEngineNetwork_VpcNetwork) Reset() { *x = VmwareEngineNetwork_VpcNetwork{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[19] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2853,7 +5054,7 @@ func (x *VmwareEngineNetwork_VpcNetwork) String() string { func (*VmwareEngineNetwork_VpcNetwork) ProtoMessage() {} func (x *VmwareEngineNetwork_VpcNetwork) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[19] + mi := &file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2866,7 +5067,7 @@ func (x *VmwareEngineNetwork_VpcNetwork) ProtoReflect() protoreflect.Message { // Deprecated: Use VmwareEngineNetwork_VpcNetwork.ProtoReflect.Descriptor instead. func (*VmwareEngineNetwork_VpcNetwork) Descriptor() ([]byte, []int) { - return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{13, 0} + return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP(), []int{21, 0} } func (x *VmwareEngineNetwork_VpcNetwork) GetType() VmwareEngineNetwork_VpcNetwork_Type { @@ -2897,7 +5098,7 @@ var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDesc = []b 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, 0xff, 0x02, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x03, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, @@ -2921,450 +5122,696 @@ var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDesc = []b 0x6f, 0x75, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, - 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0xc4, 0x0b, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, - 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, - 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, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x57, - 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x42, 0x06, 0xe0, 0x41, 0x04, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, - 0x0a, 0x03, 0x68, 0x63, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x6e, 0x73, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, + 0x70, 0x22, 0x65, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, + 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, + 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, + 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, + 0x12, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x0c, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 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, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x73, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x03, 0x68, 0x63, 0x78, 0x12, 0x38, 0x0a, 0x03, 0x6e, 0x73, 0x78, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x73, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x6e, - 0x73, 0x78, 0x12, 0x44, 0x0a, 0x07, 0x76, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x06, 0xe0, 0x41, 0x04, 0xe0, 0x41, + 0x02, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x03, 0x68, 0x63, 0x78, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x07, 0x76, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x68, 0x63, 0x78, + 0x12, 0x38, 0x0a, 0x03, 0x6e, 0x73, 0x78, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xae, 0x02, 0x0a, 0x11, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x70, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x0a, 0x0a, 0x06, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, - 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x50, - 0x55, 0x52, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x22, 0x26, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x0c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x01, - 0x3a, 0x74, 0xea, 0x41, 0x71, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, - 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x22, 0xf3, 0x05, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, - 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, - 0x75, 0x69, 0x64, 0x12, 0x6b, 0x0a, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x73, 0x78, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x6e, 0x73, 0x78, 0x12, 0x44, 0x0a, 0x07, 0x76, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x76, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x1a, 0xa3, 0x03, 0x0a, 0x11, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x82, 0x01, 0x0a, 0x11, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x1a, 0x70, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x63, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, - 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x3a, 0x82, 0x01, 0xea, 0x41, 0x7f, 0x0a, 0x23, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x22, 0xb8, 0x03, 0x0a, - 0x06, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, - 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x49, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x22, 0x71, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, + 0x12, 0x73, 0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, + 0x74, 0x72, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x70, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, + 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x55, 0x52, 0x47, + 0x49, 0x4e, 0x47, 0x10, 0x07, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, + 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, + 0x49, 0x4d, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x53, 0x54, 0x52, 0x45, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x02, 0x3a, 0x74, 0xea, 0x41, + 0x71, 0x0a, 0x28, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x12, 0x45, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x7d, 0x22, 0xe8, 0x06, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x6b, 0x0a, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x64, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x73, 0x0a, 0x18, + 0x73, 0x74, 0x72, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x74, + 0x63, 0x68, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x1a, 0x70, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x63, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, - 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x22, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, - 0x56, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x2f, 0x7b, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x7d, 0x22, 0xcb, 0x03, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, - 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, - 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x76, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, - 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x67, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x47, 0x62, 0x12, 0x25, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, - 0x69, 0x7a, 0x65, 0x47, 0x62, 0x12, 0x44, 0x0a, 0x1c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x68, 0xea, 0x41, 0x65, - 0x0a, 0x24, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, - 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x7d, 0x22, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xef, 0x03, 0x0a, - 0x10, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, - 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, - 0x22, 0x49, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, + 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x50, + 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x3a, 0x82, 0x01, 0xea, 0x41, 0x7f, 0x0a, 0x23, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x58, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x22, 0xff, 0x03, + 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x25, + 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x72, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x53, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x3a, + 0x8d, 0x01, 0xea, 0x41, 0x89, 0x01, 0x0a, 0x20, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x65, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x7d, 0x22, + 0xf4, 0x04, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, + 0x70, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x4e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x54, 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, 0x0d, 0x0a, 0x09, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, - 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xa0, 0x01, 0xea, 0x41, - 0x9c, 0x01, 0x0a, 0x2c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x12, 0x6c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x68, 0x63, 0x78, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x22, 0xd2, - 0x01, 0x0a, 0x03, 0x48, 0x63, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x63, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, - 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x02, 0x22, 0xd2, 0x01, 0x0a, 0x03, 0x4e, 0x73, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x3a, 0x9d, 0x01, 0xea, 0x41, 0x99, 0x01, 0x0a, 0x2b, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x6a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x7d, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x22, 0xd6, 0x03, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x70, + 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x70, 0x12, 0x17, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x73, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, - 0x64, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x22, 0x38, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xda, 0x01, 0x0a, 0x07, 0x56, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, + 0x07, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x06, 0x76, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x4e, 0x47, + 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x3a, 0x7f, + 0xea, 0x41, 0x7c, 0x0a, 0x22, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x56, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x7d, 0x22, + 0xea, 0x09, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, + 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x4f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x62, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x2e, + 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x15, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x49, 0x70, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x1a, + 0xc1, 0x01, 0x0a, 0x07, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x69, 0x70, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x22, 0x35, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, + 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, 0x22, 0x54, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, + 0x3a, 0xa9, 0x01, 0xea, 0x41, 0xa5, 0x01, 0x0a, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x73, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x7d, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x22, 0xc2, 0x05, 0x0a, + 0x0d, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x68, + 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x55, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x5c, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, + 0x64, 0x22, 0x36, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, + 0x14, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, + 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x02, 0x22, 0x3d, 0x0a, 0x0a, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x53, 0x58, 0x49, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x56, 0x43, 0x53, 0x41, 0x10, 0x02, 0x3a, 0x96, 0x01, 0xea, 0x41, 0x92, 0x01, 0x0a, + 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x65, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x7d, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x7d, 0x22, 0x8e, 0x06, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, + 0x6c, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x43, + 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x72, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x5f, 0x67, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x47, 0x62, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x12, + 0x44, 0x0a, 0x1c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x08, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x0c, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, + 0x52, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x22, 0x40, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x52, 0x45, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4c, + 0x55, 0x53, 0x54, 0x45, 0x52, 0x53, 0x10, 0x01, 0x3a, 0x68, 0xea, 0x41, 0x65, 0x0a, 0x24, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x7d, 0x22, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xef, 0x03, 0x0a, 0x10, 0x48, 0x63, + 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x49, 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, 0x0d, 0x0a, + 0x09, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, + 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xa0, 0x01, 0xea, 0x41, 0x9c, 0x01, 0x0a, + 0x2c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x63, 0x78, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x6c, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x68, 0x63, 0x78, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x68, 0x63, 0x78, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x22, 0xd2, 0x01, 0x0a, 0x03, + 0x48, 0x63, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x63, 0x78, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, + 0x22, 0xd2, 0x01, 0x0a, 0x03, 0x4e, 0x73, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x73, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xf5, 0x03, 0x0a, 0x0c, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x09, 0x64, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xda, 0x01, 0x0a, 0x07, 0x56, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x49, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x22, 0x38, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x22, 0xf6, 0x03, 0x0a, 0x0d, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x6a, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6e, 0x73, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x55, 0x0a, + 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0c, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x73, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, 0x29, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6e, 0x73, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 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, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x7d, 0x2f, 0x64, 0x6e, + 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xa2, 0x0c, 0x0a, 0x0e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x70, + 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x12, 0x3a, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x3a, 0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x01, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x16, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x02, 0x52, 0x14, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x23, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, + 0x1e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, + 0x01, 0x01, 0x12, 0x55, 0x0a, 0x23, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x1e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x59, - 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, - 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, - 0x18, 0x0a, 0x14, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, - 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x03, 0x22, 0x42, 0x0a, 0x09, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xa0, 0x08, - 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x0f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x5b, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x31, - 0x0a, 0x12, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, - 0x63, 0x69, 0x64, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x65, 0x64, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x43, 0x69, 0x64, - 0x72, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6d, 0x74, 0x75, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x4d, + 0x74, 0x75, 0x12, 0x6d, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x65, 0x65, 0x72, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x6b, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x31, 0x0a, + 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x1f, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x1c, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x1a, 0xd7, 0x01, 0x0a, - 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4e, 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, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, - 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x3a, 0x78, 0xea, 0x41, 0x75, 0x0a, 0x29, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, - 0x22, 0x91, 0x08, 0x0a, 0x13, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0c, 0x76, 0x70, 0x63, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x2e, 0x56, 0x70, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0b, 0x76, 0x70, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x52, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, - 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, 0xf6, 0x01, - 0x0a, 0x0a, 0x56, 0x70, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x5a, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x70, - 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x03, 0xfa, 0x41, - 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x04, 0x22, 0xc2, 0x01, 0x0a, 0x0f, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4d, 0x57, 0x41, 0x52, + 0x45, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, + 0x18, 0x0a, 0x14, 0x4e, 0x45, 0x54, 0x41, 0x50, 0x50, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x53, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x48, 0x49, + 0x52, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, + 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x06, 0x3a, 0x7a, 0xea, 0x41, 0x77, 0x0a, 0x2a, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x4a, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x52, - 0x41, 0x4e, 0x45, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, - 0x45, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x43, - 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x03, 0x22, 0x54, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, - 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, - 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x28, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, - 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 0x3a, 0x8b, 0x01, 0xea, 0x41, 0x87, 0x01, 0x0a, 0x2f, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x54, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x76, 0x6d, - 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x7d, 0x22, 0xdd, 0x0b, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x7d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, + 0x22, 0xf5, 0x03, 0x0a, 0x0c, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, + 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x57, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, + 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x01, + 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, + 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x55, + 0x42, 0x4e, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x10, 0x03, 0x22, 0x42, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x55, + 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0xa0, 0x08, 0x0a, 0x0d, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, @@ -3374,105 +5821,320 @@ var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDesc = []b 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x6b, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, - 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x7e, 0x0a, - 0x1f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x31, 0x0a, 0x2f, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x0b, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x64, 0x67, + 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x65, 0x64, 0x67, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x43, 0x69, 0x64, 0x72, 0x12, 0x15, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x6b, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x13, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x1f, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x37, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x1c, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, + 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x1a, 0xd7, 0x01, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0x4e, 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, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, + 0x03, 0x3a, 0x78, 0xea, 0x41, 0x75, 0x0a, 0x29, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x48, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x22, 0xab, 0x06, 0x0a, 0x18, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, + 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, + 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x46, 0x0a, 0x0b, 0x76, 0x70, 0x63, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x70, + 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x6a, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, + 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x48, 0x00, 0x52, + 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x3a, 0xb9, 0x01, + 0xea, 0x41, 0xb5, 0x01, 0x0a, 0x34, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, + 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x7d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x7d, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x5a, + 0x6f, 0x6e, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x42, 0x0e, 0x0a, 0x0c, 0x62, 0x69, 0x6e, + 0x64, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x9f, 0x08, 0x0a, 0x13, 0x56, 0x6d, + 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x64, 0x0a, 0x0c, 0x76, 0x70, 0x63, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x70, 0x63, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x76, 0x70, 0x63, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x52, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, 0xf6, 0x01, 0x0a, 0x0a, 0x56, 0x70, 0x63, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x5a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x56, 0x70, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x22, 0x4a, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x4e, 0x45, 0x54, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x03, 0x22, + 0x54, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, + 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x36, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x02, 0x3a, 0x8b, 0x01, + 0xea, 0x41, 0x87, 0x01, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x54, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, + 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x22, 0xdd, 0x0b, 0x0a, 0x11, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 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, 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, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6b, 0x0a, 0x15, 0x76, 0x6d, 0x77, 0x61, 0x72, + 0x65, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x1c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x4d, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, + 0x13, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x7e, 0x0a, 0x1f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x61, + 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, + 0x41, 0x03, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, + 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x1c, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x6e, 0x6f, 0x6e, + 0x69, 0x63, 0x61, 0x6c, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, + 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x03, + 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, + 0x75, 0x69, 0x64, 0x12, 0x4f, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, - 0x12, 0x63, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, + 0x4e, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, + 0x06, 0x22, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x4e, 0x45, 0x54, 0x41, 0x50, 0x50, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x56, 0x4f, 0x4c, + 0x55, 0x4d, 0x45, 0x53, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x4c, 0x4c, 0x5f, 0x50, + 0x4f, 0x57, 0x45, 0x52, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x54, + 0x48, 0x49, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, + 0x43, 0x45, 0x10, 0x04, 0x22, 0x45, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x22, 0x57, 0x0a, 0x0c, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, + 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x45, + 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x02, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, 0x2d, 0x76, 0x6d, 0x77, + 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0xb8, 0x01, 0x0a, 0x10, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x62, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x4f, 0x0a, 0x0f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, - 0x0d, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, - 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, - 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, - 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x55, - 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, - 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x22, 0x80, 0x01, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x45, 0x54, 0x41, 0x50, 0x50, 0x5f, - 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x53, 0x10, 0x02, 0x12, - 0x13, 0x0a, 0x0f, 0x44, 0x45, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x53, 0x43, 0x41, - 0x4c, 0x45, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f, 0x50, 0x41, - 0x52, 0x54, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x04, 0x22, 0x45, 0x0a, - 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, - 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, - 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x10, 0x02, 0x22, 0x57, 0x0a, 0x0c, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x45, 0x45, 0x52, 0x49, - 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x3a, 0x84, 0x01, - 0xea, 0x41, 0x80, 0x01, 0x0a, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, - 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x42, 0xe6, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x1a, 0x56, 0x6d, 0x77, 0x61, 0x72, - 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x76, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, - 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0x3b, 0x76, - 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x1c, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1c, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x56, 0x6d, 0x77, 0x61, - 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1f, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x56, 0x6d, 0x77, - 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, + 0x0a, 0x12, 0x53, 0x54, 0x52, 0x45, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x43, 0x4c, 0x55, 0x53, + 0x54, 0x45, 0x52, 0x53, 0x10, 0x01, 0x22, 0xe9, 0x01, 0x0a, 0x11, 0x44, 0x6e, 0x73, 0x42, 0x69, + 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, + 0x61, 0x6c, 0x73, 0x3a, 0x6d, 0xea, 0x41, 0x6a, 0x0a, 0x2d, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 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, 0x64, 0x6e, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, + 0x14, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x42, 0xe6, 0x01, + 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, + 0x76, 0x31, 0x42, 0x1a, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 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, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, + 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0x3b, 0x76, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x56, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x67, 0x69, + 0x6e, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3487,98 +6149,153 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescGZIP( return file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDescData } -var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 18) -var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_enumTypes = make([]protoimpl.EnumInfo, 30) +var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 33) var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_goTypes = []interface{}{ (PrivateCloud_State)(0), // 0: google.cloud.vmwareengine.v1.PrivateCloud.State (PrivateCloud_Type)(0), // 1: google.cloud.vmwareengine.v1.PrivateCloud.Type (Cluster_State)(0), // 2: google.cloud.vmwareengine.v1.Cluster.State - (Subnet_State)(0), // 3: google.cloud.vmwareengine.v1.Subnet.State - (HcxActivationKey_State)(0), // 4: google.cloud.vmwareengine.v1.HcxActivationKey.State - (Hcx_State)(0), // 5: google.cloud.vmwareengine.v1.Hcx.State - (Nsx_State)(0), // 6: google.cloud.vmwareengine.v1.Nsx.State - (Vcenter_State)(0), // 7: google.cloud.vmwareengine.v1.Vcenter.State - (PeeringRoute_Type)(0), // 8: google.cloud.vmwareengine.v1.PeeringRoute.Type - (PeeringRoute_Direction)(0), // 9: google.cloud.vmwareengine.v1.PeeringRoute.Direction - (NetworkPolicy_NetworkService_State)(0), // 10: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.State - (VmwareEngineNetwork_State)(0), // 11: google.cloud.vmwareengine.v1.VmwareEngineNetwork.State - (VmwareEngineNetwork_Type)(0), // 12: google.cloud.vmwareengine.v1.VmwareEngineNetwork.Type - (VmwareEngineNetwork_VpcNetwork_Type)(0), // 13: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.Type - (PrivateConnection_State)(0), // 14: google.cloud.vmwareengine.v1.PrivateConnection.State - (PrivateConnection_Type)(0), // 15: google.cloud.vmwareengine.v1.PrivateConnection.Type - (PrivateConnection_RoutingMode)(0), // 16: google.cloud.vmwareengine.v1.PrivateConnection.RoutingMode - (PrivateConnection_PeeringState)(0), // 17: google.cloud.vmwareengine.v1.PrivateConnection.PeeringState - (*NetworkConfig)(nil), // 18: google.cloud.vmwareengine.v1.NetworkConfig - (*NodeTypeConfig)(nil), // 19: google.cloud.vmwareengine.v1.NodeTypeConfig - (*PrivateCloud)(nil), // 20: google.cloud.vmwareengine.v1.PrivateCloud - (*Cluster)(nil), // 21: google.cloud.vmwareengine.v1.Cluster - (*Subnet)(nil), // 22: google.cloud.vmwareengine.v1.Subnet - (*NodeType)(nil), // 23: google.cloud.vmwareengine.v1.NodeType - (*Credentials)(nil), // 24: google.cloud.vmwareengine.v1.Credentials - (*HcxActivationKey)(nil), // 25: google.cloud.vmwareengine.v1.HcxActivationKey - (*Hcx)(nil), // 26: google.cloud.vmwareengine.v1.Hcx - (*Nsx)(nil), // 27: google.cloud.vmwareengine.v1.Nsx - (*Vcenter)(nil), // 28: google.cloud.vmwareengine.v1.Vcenter - (*PeeringRoute)(nil), // 29: google.cloud.vmwareengine.v1.PeeringRoute - (*NetworkPolicy)(nil), // 30: google.cloud.vmwareengine.v1.NetworkPolicy - (*VmwareEngineNetwork)(nil), // 31: google.cloud.vmwareengine.v1.VmwareEngineNetwork - (*PrivateConnection)(nil), // 32: google.cloud.vmwareengine.v1.PrivateConnection - (*PrivateCloud_ManagementCluster)(nil), // 33: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster - nil, // 34: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry - nil, // 35: google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry - (*NetworkPolicy_NetworkService)(nil), // 36: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService - (*VmwareEngineNetwork_VpcNetwork)(nil), // 37: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork - (*timestamppb.Timestamp)(nil), // 38: google.protobuf.Timestamp + (Node_State)(0), // 3: google.cloud.vmwareengine.v1.Node.State + (ExternalAddress_State)(0), // 4: google.cloud.vmwareengine.v1.ExternalAddress.State + (Subnet_State)(0), // 5: google.cloud.vmwareengine.v1.Subnet.State + (ExternalAccessRule_Action)(0), // 6: google.cloud.vmwareengine.v1.ExternalAccessRule.Action + (ExternalAccessRule_State)(0), // 7: google.cloud.vmwareengine.v1.ExternalAccessRule.State + (LoggingServer_Protocol)(0), // 8: google.cloud.vmwareengine.v1.LoggingServer.Protocol + (LoggingServer_SourceType)(0), // 9: google.cloud.vmwareengine.v1.LoggingServer.SourceType + (NodeType_Kind)(0), // 10: google.cloud.vmwareengine.v1.NodeType.Kind + (NodeType_Capability)(0), // 11: google.cloud.vmwareengine.v1.NodeType.Capability + (HcxActivationKey_State)(0), // 12: google.cloud.vmwareengine.v1.HcxActivationKey.State + (Hcx_State)(0), // 13: google.cloud.vmwareengine.v1.Hcx.State + (Nsx_State)(0), // 14: google.cloud.vmwareengine.v1.Nsx.State + (Vcenter_State)(0), // 15: google.cloud.vmwareengine.v1.Vcenter.State + (NetworkPeering_State)(0), // 16: google.cloud.vmwareengine.v1.NetworkPeering.State + (NetworkPeering_PeerNetworkType)(0), // 17: google.cloud.vmwareengine.v1.NetworkPeering.PeerNetworkType + (PeeringRoute_Type)(0), // 18: google.cloud.vmwareengine.v1.PeeringRoute.Type + (PeeringRoute_Direction)(0), // 19: google.cloud.vmwareengine.v1.PeeringRoute.Direction + (NetworkPolicy_NetworkService_State)(0), // 20: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.State + (ManagementDnsZoneBinding_State)(0), // 21: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding.State + (VmwareEngineNetwork_State)(0), // 22: google.cloud.vmwareengine.v1.VmwareEngineNetwork.State + (VmwareEngineNetwork_Type)(0), // 23: google.cloud.vmwareengine.v1.VmwareEngineNetwork.Type + (VmwareEngineNetwork_VpcNetwork_Type)(0), // 24: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.Type + (PrivateConnection_State)(0), // 25: google.cloud.vmwareengine.v1.PrivateConnection.State + (PrivateConnection_Type)(0), // 26: google.cloud.vmwareengine.v1.PrivateConnection.Type + (PrivateConnection_RoutingMode)(0), // 27: google.cloud.vmwareengine.v1.PrivateConnection.RoutingMode + (PrivateConnection_PeeringState)(0), // 28: google.cloud.vmwareengine.v1.PrivateConnection.PeeringState + (LocationMetadata_Capability)(0), // 29: google.cloud.vmwareengine.v1.LocationMetadata.Capability + (*NetworkConfig)(nil), // 30: google.cloud.vmwareengine.v1.NetworkConfig + (*NodeTypeConfig)(nil), // 31: google.cloud.vmwareengine.v1.NodeTypeConfig + (*StretchedClusterConfig)(nil), // 32: google.cloud.vmwareengine.v1.StretchedClusterConfig + (*PrivateCloud)(nil), // 33: google.cloud.vmwareengine.v1.PrivateCloud + (*Cluster)(nil), // 34: google.cloud.vmwareengine.v1.Cluster + (*Node)(nil), // 35: google.cloud.vmwareengine.v1.Node + (*ExternalAddress)(nil), // 36: google.cloud.vmwareengine.v1.ExternalAddress + (*Subnet)(nil), // 37: google.cloud.vmwareengine.v1.Subnet + (*ExternalAccessRule)(nil), // 38: google.cloud.vmwareengine.v1.ExternalAccessRule + (*LoggingServer)(nil), // 39: google.cloud.vmwareengine.v1.LoggingServer + (*NodeType)(nil), // 40: google.cloud.vmwareengine.v1.NodeType + (*Credentials)(nil), // 41: google.cloud.vmwareengine.v1.Credentials + (*HcxActivationKey)(nil), // 42: google.cloud.vmwareengine.v1.HcxActivationKey + (*Hcx)(nil), // 43: google.cloud.vmwareengine.v1.Hcx + (*Nsx)(nil), // 44: google.cloud.vmwareengine.v1.Nsx + (*Vcenter)(nil), // 45: google.cloud.vmwareengine.v1.Vcenter + (*DnsForwarding)(nil), // 46: google.cloud.vmwareengine.v1.DnsForwarding + (*NetworkPeering)(nil), // 47: google.cloud.vmwareengine.v1.NetworkPeering + (*PeeringRoute)(nil), // 48: google.cloud.vmwareengine.v1.PeeringRoute + (*NetworkPolicy)(nil), // 49: google.cloud.vmwareengine.v1.NetworkPolicy + (*ManagementDnsZoneBinding)(nil), // 50: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding + (*VmwareEngineNetwork)(nil), // 51: google.cloud.vmwareengine.v1.VmwareEngineNetwork + (*PrivateConnection)(nil), // 52: google.cloud.vmwareengine.v1.PrivateConnection + (*LocationMetadata)(nil), // 53: google.cloud.vmwareengine.v1.LocationMetadata + (*DnsBindPermission)(nil), // 54: google.cloud.vmwareengine.v1.DnsBindPermission + (*Principal)(nil), // 55: google.cloud.vmwareengine.v1.Principal + (*PrivateCloud_ManagementCluster)(nil), // 56: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster + nil, // 57: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry + nil, // 58: google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry + (*ExternalAccessRule_IpRange)(nil), // 59: google.cloud.vmwareengine.v1.ExternalAccessRule.IpRange + (*DnsForwarding_ForwardingRule)(nil), // 60: google.cloud.vmwareengine.v1.DnsForwarding.ForwardingRule + (*NetworkPolicy_NetworkService)(nil), // 61: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService + (*VmwareEngineNetwork_VpcNetwork)(nil), // 62: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork + (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp } var file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_depIdxs = []int32{ - 38, // 0: google.cloud.vmwareengine.v1.PrivateCloud.create_time:type_name -> google.protobuf.Timestamp - 38, // 1: google.cloud.vmwareengine.v1.PrivateCloud.update_time:type_name -> google.protobuf.Timestamp - 38, // 2: google.cloud.vmwareengine.v1.PrivateCloud.delete_time:type_name -> google.protobuf.Timestamp - 38, // 3: google.cloud.vmwareengine.v1.PrivateCloud.expire_time:type_name -> google.protobuf.Timestamp + 63, // 0: google.cloud.vmwareengine.v1.PrivateCloud.create_time:type_name -> google.protobuf.Timestamp + 63, // 1: google.cloud.vmwareengine.v1.PrivateCloud.update_time:type_name -> google.protobuf.Timestamp + 63, // 2: google.cloud.vmwareengine.v1.PrivateCloud.delete_time:type_name -> google.protobuf.Timestamp + 63, // 3: google.cloud.vmwareengine.v1.PrivateCloud.expire_time:type_name -> google.protobuf.Timestamp 0, // 4: google.cloud.vmwareengine.v1.PrivateCloud.state:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.State - 18, // 5: google.cloud.vmwareengine.v1.PrivateCloud.network_config:type_name -> google.cloud.vmwareengine.v1.NetworkConfig - 33, // 6: google.cloud.vmwareengine.v1.PrivateCloud.management_cluster:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster - 26, // 7: google.cloud.vmwareengine.v1.PrivateCloud.hcx:type_name -> google.cloud.vmwareengine.v1.Hcx - 27, // 8: google.cloud.vmwareengine.v1.PrivateCloud.nsx:type_name -> google.cloud.vmwareengine.v1.Nsx - 28, // 9: google.cloud.vmwareengine.v1.PrivateCloud.vcenter:type_name -> google.cloud.vmwareengine.v1.Vcenter + 30, // 5: google.cloud.vmwareengine.v1.PrivateCloud.network_config:type_name -> google.cloud.vmwareengine.v1.NetworkConfig + 56, // 6: google.cloud.vmwareengine.v1.PrivateCloud.management_cluster:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster + 43, // 7: google.cloud.vmwareengine.v1.PrivateCloud.hcx:type_name -> google.cloud.vmwareengine.v1.Hcx + 44, // 8: google.cloud.vmwareengine.v1.PrivateCloud.nsx:type_name -> google.cloud.vmwareengine.v1.Nsx + 45, // 9: google.cloud.vmwareengine.v1.PrivateCloud.vcenter:type_name -> google.cloud.vmwareengine.v1.Vcenter 1, // 10: google.cloud.vmwareengine.v1.PrivateCloud.type:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.Type - 38, // 11: google.cloud.vmwareengine.v1.Cluster.create_time:type_name -> google.protobuf.Timestamp - 38, // 12: google.cloud.vmwareengine.v1.Cluster.update_time:type_name -> google.protobuf.Timestamp + 63, // 11: google.cloud.vmwareengine.v1.Cluster.create_time:type_name -> google.protobuf.Timestamp + 63, // 12: google.cloud.vmwareengine.v1.Cluster.update_time:type_name -> google.protobuf.Timestamp 2, // 13: google.cloud.vmwareengine.v1.Cluster.state:type_name -> google.cloud.vmwareengine.v1.Cluster.State - 35, // 14: google.cloud.vmwareengine.v1.Cluster.node_type_configs:type_name -> google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry - 3, // 15: google.cloud.vmwareengine.v1.Subnet.state:type_name -> google.cloud.vmwareengine.v1.Subnet.State - 38, // 16: google.cloud.vmwareengine.v1.HcxActivationKey.create_time:type_name -> google.protobuf.Timestamp - 4, // 17: google.cloud.vmwareengine.v1.HcxActivationKey.state:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey.State - 5, // 18: google.cloud.vmwareengine.v1.Hcx.state:type_name -> google.cloud.vmwareengine.v1.Hcx.State - 6, // 19: google.cloud.vmwareengine.v1.Nsx.state:type_name -> google.cloud.vmwareengine.v1.Nsx.State - 7, // 20: google.cloud.vmwareengine.v1.Vcenter.state:type_name -> google.cloud.vmwareengine.v1.Vcenter.State - 8, // 21: google.cloud.vmwareengine.v1.PeeringRoute.type:type_name -> google.cloud.vmwareengine.v1.PeeringRoute.Type - 9, // 22: google.cloud.vmwareengine.v1.PeeringRoute.direction:type_name -> google.cloud.vmwareengine.v1.PeeringRoute.Direction - 38, // 23: google.cloud.vmwareengine.v1.NetworkPolicy.create_time:type_name -> google.protobuf.Timestamp - 38, // 24: google.cloud.vmwareengine.v1.NetworkPolicy.update_time:type_name -> google.protobuf.Timestamp - 36, // 25: google.cloud.vmwareengine.v1.NetworkPolicy.internet_access:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService - 36, // 26: google.cloud.vmwareengine.v1.NetworkPolicy.external_ip:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService - 38, // 27: google.cloud.vmwareengine.v1.VmwareEngineNetwork.create_time:type_name -> google.protobuf.Timestamp - 38, // 28: google.cloud.vmwareengine.v1.VmwareEngineNetwork.update_time:type_name -> google.protobuf.Timestamp - 37, // 29: google.cloud.vmwareengine.v1.VmwareEngineNetwork.vpc_networks:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork - 11, // 30: google.cloud.vmwareengine.v1.VmwareEngineNetwork.state:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.State - 12, // 31: google.cloud.vmwareengine.v1.VmwareEngineNetwork.type:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.Type - 38, // 32: google.cloud.vmwareengine.v1.PrivateConnection.create_time:type_name -> google.protobuf.Timestamp - 38, // 33: google.cloud.vmwareengine.v1.PrivateConnection.update_time:type_name -> google.protobuf.Timestamp - 14, // 34: google.cloud.vmwareengine.v1.PrivateConnection.state:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.State - 15, // 35: google.cloud.vmwareengine.v1.PrivateConnection.type:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.Type - 16, // 36: google.cloud.vmwareengine.v1.PrivateConnection.routing_mode:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.RoutingMode - 17, // 37: google.cloud.vmwareengine.v1.PrivateConnection.peering_state:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.PeeringState - 34, // 38: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.node_type_configs:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry - 19, // 39: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry.value:type_name -> google.cloud.vmwareengine.v1.NodeTypeConfig - 19, // 40: google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry.value:type_name -> google.cloud.vmwareengine.v1.NodeTypeConfig - 10, // 41: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.state:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.State - 13, // 42: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.type:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.Type - 43, // [43:43] is the sub-list for method output_type - 43, // [43:43] is the sub-list for method input_type - 43, // [43:43] is the sub-list for extension type_name - 43, // [43:43] is the sub-list for extension extendee - 0, // [0:43] is the sub-list for field type_name + 58, // 14: google.cloud.vmwareengine.v1.Cluster.node_type_configs:type_name -> google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry + 32, // 15: google.cloud.vmwareengine.v1.Cluster.stretched_cluster_config:type_name -> google.cloud.vmwareengine.v1.StretchedClusterConfig + 3, // 16: google.cloud.vmwareengine.v1.Node.state:type_name -> google.cloud.vmwareengine.v1.Node.State + 63, // 17: google.cloud.vmwareengine.v1.ExternalAddress.create_time:type_name -> google.protobuf.Timestamp + 63, // 18: google.cloud.vmwareengine.v1.ExternalAddress.update_time:type_name -> google.protobuf.Timestamp + 4, // 19: google.cloud.vmwareengine.v1.ExternalAddress.state:type_name -> google.cloud.vmwareengine.v1.ExternalAddress.State + 5, // 20: google.cloud.vmwareengine.v1.Subnet.state:type_name -> google.cloud.vmwareengine.v1.Subnet.State + 63, // 21: google.cloud.vmwareengine.v1.ExternalAccessRule.create_time:type_name -> google.protobuf.Timestamp + 63, // 22: google.cloud.vmwareengine.v1.ExternalAccessRule.update_time:type_name -> google.protobuf.Timestamp + 6, // 23: google.cloud.vmwareengine.v1.ExternalAccessRule.action:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule.Action + 59, // 24: google.cloud.vmwareengine.v1.ExternalAccessRule.source_ip_ranges:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule.IpRange + 59, // 25: google.cloud.vmwareengine.v1.ExternalAccessRule.destination_ip_ranges:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule.IpRange + 7, // 26: google.cloud.vmwareengine.v1.ExternalAccessRule.state:type_name -> google.cloud.vmwareengine.v1.ExternalAccessRule.State + 63, // 27: google.cloud.vmwareengine.v1.LoggingServer.create_time:type_name -> google.protobuf.Timestamp + 63, // 28: google.cloud.vmwareengine.v1.LoggingServer.update_time:type_name -> google.protobuf.Timestamp + 8, // 29: google.cloud.vmwareengine.v1.LoggingServer.protocol:type_name -> google.cloud.vmwareengine.v1.LoggingServer.Protocol + 9, // 30: google.cloud.vmwareengine.v1.LoggingServer.source_type:type_name -> google.cloud.vmwareengine.v1.LoggingServer.SourceType + 10, // 31: google.cloud.vmwareengine.v1.NodeType.kind:type_name -> google.cloud.vmwareengine.v1.NodeType.Kind + 11, // 32: google.cloud.vmwareengine.v1.NodeType.capabilities:type_name -> google.cloud.vmwareengine.v1.NodeType.Capability + 63, // 33: google.cloud.vmwareengine.v1.HcxActivationKey.create_time:type_name -> google.protobuf.Timestamp + 12, // 34: google.cloud.vmwareengine.v1.HcxActivationKey.state:type_name -> google.cloud.vmwareengine.v1.HcxActivationKey.State + 13, // 35: google.cloud.vmwareengine.v1.Hcx.state:type_name -> google.cloud.vmwareengine.v1.Hcx.State + 14, // 36: google.cloud.vmwareengine.v1.Nsx.state:type_name -> google.cloud.vmwareengine.v1.Nsx.State + 15, // 37: google.cloud.vmwareengine.v1.Vcenter.state:type_name -> google.cloud.vmwareengine.v1.Vcenter.State + 63, // 38: google.cloud.vmwareengine.v1.DnsForwarding.create_time:type_name -> google.protobuf.Timestamp + 63, // 39: google.cloud.vmwareengine.v1.DnsForwarding.update_time:type_name -> google.protobuf.Timestamp + 60, // 40: google.cloud.vmwareengine.v1.DnsForwarding.forwarding_rules:type_name -> google.cloud.vmwareengine.v1.DnsForwarding.ForwardingRule + 63, // 41: google.cloud.vmwareengine.v1.NetworkPeering.create_time:type_name -> google.protobuf.Timestamp + 63, // 42: google.cloud.vmwareengine.v1.NetworkPeering.update_time:type_name -> google.protobuf.Timestamp + 16, // 43: google.cloud.vmwareengine.v1.NetworkPeering.state:type_name -> google.cloud.vmwareengine.v1.NetworkPeering.State + 17, // 44: google.cloud.vmwareengine.v1.NetworkPeering.peer_network_type:type_name -> google.cloud.vmwareengine.v1.NetworkPeering.PeerNetworkType + 18, // 45: google.cloud.vmwareengine.v1.PeeringRoute.type:type_name -> google.cloud.vmwareengine.v1.PeeringRoute.Type + 19, // 46: google.cloud.vmwareengine.v1.PeeringRoute.direction:type_name -> google.cloud.vmwareengine.v1.PeeringRoute.Direction + 63, // 47: google.cloud.vmwareengine.v1.NetworkPolicy.create_time:type_name -> google.protobuf.Timestamp + 63, // 48: google.cloud.vmwareengine.v1.NetworkPolicy.update_time:type_name -> google.protobuf.Timestamp + 61, // 49: google.cloud.vmwareengine.v1.NetworkPolicy.internet_access:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService + 61, // 50: google.cloud.vmwareengine.v1.NetworkPolicy.external_ip:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService + 63, // 51: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding.create_time:type_name -> google.protobuf.Timestamp + 63, // 52: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding.update_time:type_name -> google.protobuf.Timestamp + 21, // 53: google.cloud.vmwareengine.v1.ManagementDnsZoneBinding.state:type_name -> google.cloud.vmwareengine.v1.ManagementDnsZoneBinding.State + 63, // 54: google.cloud.vmwareengine.v1.VmwareEngineNetwork.create_time:type_name -> google.protobuf.Timestamp + 63, // 55: google.cloud.vmwareengine.v1.VmwareEngineNetwork.update_time:type_name -> google.protobuf.Timestamp + 62, // 56: google.cloud.vmwareengine.v1.VmwareEngineNetwork.vpc_networks:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork + 22, // 57: google.cloud.vmwareengine.v1.VmwareEngineNetwork.state:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.State + 23, // 58: google.cloud.vmwareengine.v1.VmwareEngineNetwork.type:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.Type + 63, // 59: google.cloud.vmwareengine.v1.PrivateConnection.create_time:type_name -> google.protobuf.Timestamp + 63, // 60: google.cloud.vmwareengine.v1.PrivateConnection.update_time:type_name -> google.protobuf.Timestamp + 25, // 61: google.cloud.vmwareengine.v1.PrivateConnection.state:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.State + 26, // 62: google.cloud.vmwareengine.v1.PrivateConnection.type:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.Type + 27, // 63: google.cloud.vmwareengine.v1.PrivateConnection.routing_mode:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.RoutingMode + 28, // 64: google.cloud.vmwareengine.v1.PrivateConnection.peering_state:type_name -> google.cloud.vmwareengine.v1.PrivateConnection.PeeringState + 29, // 65: google.cloud.vmwareengine.v1.LocationMetadata.capabilities:type_name -> google.cloud.vmwareengine.v1.LocationMetadata.Capability + 55, // 66: google.cloud.vmwareengine.v1.DnsBindPermission.principals:type_name -> google.cloud.vmwareengine.v1.Principal + 57, // 67: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.node_type_configs:type_name -> google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry + 32, // 68: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.stretched_cluster_config:type_name -> google.cloud.vmwareengine.v1.StretchedClusterConfig + 31, // 69: google.cloud.vmwareengine.v1.PrivateCloud.ManagementCluster.NodeTypeConfigsEntry.value:type_name -> google.cloud.vmwareengine.v1.NodeTypeConfig + 31, // 70: google.cloud.vmwareengine.v1.Cluster.NodeTypeConfigsEntry.value:type_name -> google.cloud.vmwareengine.v1.NodeTypeConfig + 20, // 71: google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.state:type_name -> google.cloud.vmwareengine.v1.NetworkPolicy.NetworkService.State + 24, // 72: google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.type:type_name -> google.cloud.vmwareengine.v1.VmwareEngineNetwork.VpcNetwork.Type + 73, // [73:73] is the sub-list for method output_type + 73, // [73:73] is the sub-list for method input_type + 73, // [73:73] is the sub-list for extension type_name + 73, // [73:73] is the sub-list for extension extendee + 0, // [0:73] is the sub-list for field type_name } func init() { file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() } @@ -3612,7 +6329,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrivateCloud); i { + switch v := v.(*StretchedClusterConfig); i { case 0: return &v.state case 1: @@ -3624,7 +6341,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Cluster); i { + switch v := v.(*PrivateCloud); i { case 0: return &v.state case 1: @@ -3636,7 +6353,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subnet); i { + switch v := v.(*Cluster); i { case 0: return &v.state case 1: @@ -3648,7 +6365,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeType); i { + switch v := v.(*Node); i { case 0: return &v.state case 1: @@ -3660,7 +6377,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credentials); i { + switch v := v.(*ExternalAddress); i { case 0: return &v.state case 1: @@ -3672,7 +6389,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HcxActivationKey); i { + switch v := v.(*Subnet); i { case 0: return &v.state case 1: @@ -3684,7 +6401,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hcx); i { + switch v := v.(*ExternalAccessRule); i { case 0: return &v.state case 1: @@ -3696,7 +6413,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Nsx); i { + switch v := v.(*LoggingServer); i { case 0: return &v.state case 1: @@ -3708,7 +6425,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Vcenter); i { + switch v := v.(*NodeType); i { case 0: return &v.state case 1: @@ -3720,7 +6437,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeeringRoute); i { + switch v := v.(*Credentials); i { case 0: return &v.state case 1: @@ -3732,7 +6449,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkPolicy); i { + switch v := v.(*HcxActivationKey); i { case 0: return &v.state case 1: @@ -3744,7 +6461,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VmwareEngineNetwork); i { + switch v := v.(*Hcx); i { case 0: return &v.state case 1: @@ -3756,7 +6473,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrivateConnection); i { + switch v := v.(*Nsx); i { case 0: return &v.state case 1: @@ -3768,7 +6485,31 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrivateCloud_ManagementCluster); i { + switch v := v.(*Vcenter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DnsForwarding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkPeering); i { case 0: return &v.state case 1: @@ -3780,7 +6521,7 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkPolicy_NetworkService); i { + switch v := v.(*PeeringRoute); i { case 0: return &v.state case 1: @@ -3792,6 +6533,138 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ManagementDnsZoneBinding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VmwareEngineNetwork); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateConnection); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LocationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DnsBindPermission); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Principal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivateCloud_ManagementCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExternalAccessRule_IpRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DnsForwarding_ForwardingRule); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NetworkPolicy_NetworkService); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmwareEngineNetwork_VpcNetwork); i { case 0: return &v.state @@ -3804,13 +6677,27 @@ func file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_init() { } } } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[20].OneofWrappers = []interface{}{ + (*ManagementDnsZoneBinding_VpcNetwork)(nil), + (*ManagementDnsZoneBinding_VmwareEngineNetwork)(nil), + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[25].OneofWrappers = []interface{}{ + (*Principal_User)(nil), + (*Principal_ServiceAccount)(nil), + } + file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_msgTypes[29].OneofWrappers = []interface{}{ + (*ExternalAccessRule_IpRange_IpAddress)(nil), + (*ExternalAccessRule_IpRange_IpAddressRange)(nil), + (*ExternalAccessRule_IpRange_ExternalAddress)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_vmwareengine_v1_vmwareengine_resources_proto_rawDesc, - NumEnums: 18, - NumMessages: 20, + NumEnums: 30, + NumMessages: 33, NumExtensions: 0, NumServices: 0, },