google-cloud-network_connectivity-v1 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module NetworkConnectivity
23
+ module V1
24
+ module PolicyBasedRoutingService
25
+ # Path helper methods for the PolicyBasedRoutingService API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified Location resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ #
37
+ # @return [::String]
38
+ def location_path project:, location:
39
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
40
+
41
+ "projects/#{project}/locations/#{location}"
42
+ end
43
+
44
+ ##
45
+ # Create a fully-qualified Network resource string.
46
+ #
47
+ # The resource will be in the following format:
48
+ #
49
+ # `projects/{project}/global/networks/{resource_id}`
50
+ #
51
+ # @param project [String]
52
+ # @param resource_id [String]
53
+ #
54
+ # @return [::String]
55
+ def network_path project:, resource_id:
56
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
57
+
58
+ "projects/#{project}/global/networks/#{resource_id}"
59
+ end
60
+
61
+ ##
62
+ # Create a fully-qualified PolicyBasedRoute resource string.
63
+ #
64
+ # The resource will be in the following format:
65
+ #
66
+ # `projects/{project}/locations/global/PolicyBasedRoutes/{policy_based_route}`
67
+ #
68
+ # @param project [String]
69
+ # @param policy_based_route [String]
70
+ #
71
+ # @return [::String]
72
+ def policy_based_route_path project:, policy_based_route:
73
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
74
+
75
+ "projects/#{project}/locations/global/PolicyBasedRoutes/#{policy_based_route}"
76
+ end
77
+
78
+ extend self
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/network_connectivity/v1/version"
24
+
25
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service/credentials"
26
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service/paths"
27
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service/operations"
28
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service/client"
29
+
30
+ module Google
31
+ module Cloud
32
+ module NetworkConnectivity
33
+ module V1
34
+ ##
35
+ # Policy-Based Routing allows GCP customers to specify flexibile routing
36
+ # policies for Layer 4 traffic traversing through the connected service.
37
+ #
38
+ # @example Load this service and instantiate a gRPC client
39
+ #
40
+ # require "google/cloud/network_connectivity/v1/policy_based_routing_service"
41
+ # client = ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoutingService::Client.new
42
+ #
43
+ module PolicyBasedRoutingService
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ helper_path = ::File.join __dir__, "policy_based_routing_service", "helpers.rb"
51
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service/helpers" if ::File.file? helper_path
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module NetworkConnectivity
23
23
  module V1
24
- VERSION = "0.6.1"
24
+ VERSION = "0.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -17,6 +17,7 @@
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
19
  require "google/cloud/network_connectivity/v1/hub_service"
20
+ require "google/cloud/network_connectivity/v1/policy_based_routing_service"
20
21
  require "google/cloud/network_connectivity/v1/version"
21
22
 
22
23
  module Google
@@ -8,12 +8,14 @@ require 'google/api/annotations_pb'
8
8
  require 'google/api/client_pb'
9
9
  require 'google/api/field_behavior_pb'
10
10
  require 'google/api/resource_pb'
11
+ require 'google/cloud/networkconnectivity/v1/common_pb'
11
12
  require 'google/longrunning/operations_pb'
13
+ require 'google/protobuf/empty_pb'
12
14
  require 'google/protobuf/field_mask_pb'
13
15
  require 'google/protobuf/timestamp_pb'
14
16
 
15
17
 
16
- descriptor_data = "\n-google/cloud/networkconnectivity/v1/hub.proto\x12#google.cloud.networkconnectivity.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8a\x04\n\x03Hub\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x44\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.networkconnectivity.v1.Hub.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x16\n\tunique_id\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\t \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x12\x45\n\x0crouting_vpcs\x18\n \x03(\x0b\x32/.google.cloud.networkconnectivity.v1.RoutingVPC\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:[\xea\x41X\n&networkconnectivity.googleapis.com/Hub\x12.projects/{project}/locations/global/hubs/{hub}\"\x7f\n\nRoutingVPC\x12\x30\n\x03uri\x18\x01 \x01(\tB#\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12?\n2required_for_new_site_to_site_data_transfer_spokes\x18\x02 \x01(\x08\x42\x03\xe0\x41\x03\"\xbe\x06\n\x05Spoke\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x36.google.cloud.networkconnectivity.v1.Spoke.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12;\n\x03hub\x18\x06 \x01(\tB.\xe0\x41\x05\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12Q\n\x12linked_vpn_tunnels\x18\x11 \x01(\x0b\x32\x35.google.cloud.networkconnectivity.v1.LinkedVpnTunnels\x12k\n\x1flinked_interconnect_attachments\x18\x12 \x01(\x0b\x32\x42.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments\x12n\n!linked_router_appliance_instances\x18\x13 \x01(\x0b\x32\x43.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances\x12\x16\n\tunique_id\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\x0f \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:e\xea\x41\x62\n(networkconnectivity.googleapis.com/Spoke\x12\x36projects/{project}/locations/{location}/spokes/{spoke}\"\x95\x01\n\x0fListHubsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"x\n\x10ListHubsResponse\x12\x36\n\x04hubs\x18\x01 \x03(\x0b\x32(.google.cloud.networkconnectivity.v1.Hub\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\rGetHubRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\"\xb7\x01\n\x10\x43reateHubRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x13\n\x06hub_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x03hub\x18\x03 \x01(\x0b\x32(.google.cloud.networkconnectivity.v1.HubB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\x9d\x01\n\x10UpdateHubRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12:\n\x03hub\x18\x02 \x01(\x0b\x32(.google.cloud.networkconnectivity.v1.HubB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"i\n\x10\x44\x65leteHubRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\x97\x01\n\x11ListSpokesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"~\n\x12ListSpokesResponse\x12:\n\x06spokes\x18\x01 \x03(\x0b\x32*.google.cloud.networkconnectivity.v1.Spoke\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Q\n\x0fGetSpokeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\"\xbf\x01\n\x12\x43reateSpokeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x15\n\x08spoke_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12>\n\x05spoke\x18\x03 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.SpokeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xa3\x01\n\x12UpdateSpokeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12>\n\x05spoke\x18\x02 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.SpokeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"m\n\x12\x44\x65leteSpokeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xa8\x01\n\x10LinkedVpnTunnels\x12\x33\n\x04uris\x18\x01 \x03(\tB%\xfa\x41\"\n compute.googleapis.com/VpnTunnel\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xc2\x01\n\x1dLinkedInterconnectAttachments\x12@\n\x04uris\x18\x01 \x03(\tB2\xfa\x41/\n-compute.googleapis.com/InterconnectAttachment\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xd2\x01\n\x1eLinkedRouterApplianceInstances\x12O\n\tinstances\x18\x01 \x03(\x0b\x32<.google.cloud.networkconnectivity.v1.RouterApplianceInstance\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"l\n\x17RouterApplianceInstance\x12=\n\x0fvirtual_machine\x18\x01 \x01(\tB$\xfa\x41!\n\x1f\x63ompute.googleapis.com/Instance\x12\x12\n\nip_address\x18\x03 \x01(\t\"c\n\x10LocationMetadata\x12O\n\x11location_features\x18\x01 \x03(\x0e\x32\x34.google.cloud.networkconnectivity.v1.LocationFeature*f\n\x0fLocationFeature\x12 \n\x1cLOCATION_FEATURE_UNSPECIFIED\x10\x00\x12\x18\n\x14SITE_TO_CLOUD_SPOKES\x10\x01\x12\x17\n\x13SITE_TO_SITE_SPOKES\x10\x02*T\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\x0c\n\x08UPDATING\x10\x06\x32\x9d\x10\n\nHubService\x12\xb7\x01\n\x08ListHubs\x12\x34.google.cloud.networkconnectivity.v1.ListHubsRequest\x1a\x35.google.cloud.networkconnectivity.v1.ListHubsResponse\">\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/global}/hubs\xda\x41\x06parent\x12\xa4\x01\n\x06GetHub\x12\x32.google.cloud.networkconnectivity.v1.GetHubRequest\x1a(.google.cloud.networkconnectivity.v1.Hub\"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/global/hubs/*}\xda\x41\x04name\x12\xcc\x01\n\tCreateHub\x12\x35.google.cloud.networkconnectivity.v1.CreateHubRequest\x1a\x1d.google.longrunning.Operation\"i\x82\xd3\xe4\x93\x02\x34\"-/v1/{parent=projects/*/locations/global}/hubs:\x03hub\xda\x41\x11parent,hub,hub_id\xca\x41\x18\n\x03Hub\x12\x11OperationMetadata\x12\xce\x01\n\tUpdateHub\x12\x35.google.cloud.networkconnectivity.v1.UpdateHubRequest\x1a\x1d.google.longrunning.Operation\"k\x82\xd3\xe4\x93\x02\x38\x32\x31/v1/{hub.name=projects/*/locations/global/hubs/*}:\x03hub\xda\x41\x0fhub,update_mask\xca\x41\x18\n\x03Hub\x12\x11OperationMetadata\x12\xcc\x01\n\tDeleteHub\x12\x35.google.cloud.networkconnectivity.v1.DeleteHubRequest\x1a\x1d.google.longrunning.Operation\"i\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/global/hubs/*}\xda\x41\x04name\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\x12\xba\x01\n\nListSpokes\x12\x36.google.cloud.networkconnectivity.v1.ListSpokesRequest\x1a\x37.google.cloud.networkconnectivity.v1.ListSpokesResponse\";\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=projects/*/locations/*}/spokes\xda\x41\x06parent\x12\xa7\x01\n\x08GetSpoke\x12\x34.google.cloud.networkconnectivity.v1.GetSpokeRequest\x1a*.google.cloud.networkconnectivity.v1.Spoke\"9\x82\xd3\xe4\x93\x02,\x12*/v1/{name=projects/*/locations/*/spokes/*}\xda\x41\x04name\x12\xd5\x01\n\x0b\x43reateSpoke\x12\x37.google.cloud.networkconnectivity.v1.CreateSpokeRequest\x1a\x1d.google.longrunning.Operation\"n\x82\xd3\xe4\x93\x02\x33\"*/v1/{parent=projects/*/locations/*}/spokes:\x05spoke\xda\x41\x15parent,spoke,spoke_id\xca\x41\x1a\n\x05Spoke\x12\x11OperationMetadata\x12\xd7\x01\n\x0bUpdateSpoke\x12\x37.google.cloud.networkconnectivity.v1.UpdateSpokeRequest\x1a\x1d.google.longrunning.Operation\"p\x82\xd3\xe4\x93\x02\x39\x32\x30/v1/{spoke.name=projects/*/locations/*/spokes/*}:\x05spoke\xda\x41\x11spoke,update_mask\xca\x41\x1a\n\x05Spoke\x12\x11OperationMetadata\x12\xcd\x01\n\x0b\x44\x65leteSpoke\x12\x37.google.cloud.networkconnectivity.v1.DeleteSpokeRequest\x1a\x1d.google.longrunning.Operation\"f\x82\xd3\xe4\x93\x02,**/v1/{name=projects/*/locations/*/spokes/*}\xda\x41\x04name\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\x1aV\xca\x41\"networkconnectivity.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xc2\x03\n\'com.google.cloud.networkconnectivity.v1B\x08HubProtoP\x01ZYcloud.google.com/go/networkconnectivity/apiv1/networkconnectivitypb;networkconnectivitypb\xaa\x02#Google.Cloud.NetworkConnectivity.V1\xca\x02#Google\\Cloud\\NetworkConnectivity\\V1\xea\x02&Google::Cloud::NetworkConnectivity::V1\xea\x41`\n compute.googleapis.com/VpnTunnel\x12<projects/{project}/regions/{region}/vpnTunnels/{resource_id}\xea\x41W\n\x1f\x63ompute.googleapis.com/Instance\x12\x34projects/{project}/zones/{zone}/instances/{instance}b\x06proto3"
18
+ descriptor_data = "\n-google/cloud/networkconnectivity/v1/hub.proto\x12#google.cloud.networkconnectivity.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x30google/cloud/networkconnectivity/v1/common.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf4\x04\n\x03Hub\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x44\n\x06labels\x18\x04 \x03(\x0b\x32\x34.google.cloud.networkconnectivity.v1.Hub.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x16\n\tunique_id\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\t \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x12\x45\n\x0crouting_vpcs\x18\n \x03(\x0b\x32/.google.cloud.networkconnectivity.v1.RoutingVPC\x12\x19\n\x0croute_tables\x18\x0b \x03(\tB\x03\xe0\x41\x03\x12M\n\rspoke_summary\x18\x0c \x01(\x0b\x32\x31.google.cloud.networkconnectivity.v1.SpokeSummaryB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:[\xea\x41X\n&networkconnectivity.googleapis.com/Hub\x12.projects/{project}/locations/global/hubs/{hub}\"\x7f\n\nRoutingVPC\x12\x30\n\x03uri\x18\x01 \x01(\tB#\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12?\n2required_for_new_site_to_site_data_transfer_spokes\x18\x02 \x01(\x08\x42\x03\xe0\x41\x03\"\xc8\n\n\x05Spoke\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x46\n\x06labels\x18\x04 \x03(\x0b\x32\x36.google.cloud.networkconnectivity.v1.Spoke.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12;\n\x03hub\x18\x06 \x01(\tB.\xe0\x41\x05\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12?\n\x05group\x18\x17 \x01(\tB0\xe0\x41\x01\xfa\x41*\n(networkconnectivity.googleapis.com/Group\x12Q\n\x12linked_vpn_tunnels\x18\x11 \x01(\x0b\x32\x35.google.cloud.networkconnectivity.v1.LinkedVpnTunnels\x12k\n\x1flinked_interconnect_attachments\x18\x12 \x01(\x0b\x32\x42.google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments\x12n\n!linked_router_appliance_instances\x18\x13 \x01(\x0b\x32\x43.google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances\x12V\n\x12linked_vpc_network\x18\x14 \x01(\x0b\x32\x35.google.cloud.networkconnectivity.v1.LinkedVpcNetworkB\x03\xe0\x41\x01\x12\x16\n\tunique_id\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\x0f \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x12L\n\x07reasons\x18\x15 \x03(\x0b\x32\x36.google.cloud.networkconnectivity.v1.Spoke.StateReasonB\x03\xe0\x41\x03\x12G\n\nspoke_type\x18\x16 \x01(\x0e\x32..google.cloud.networkconnectivity.v1.SpokeTypeB\x03\xe0\x41\x03\x1a\xd7\x01\n\x0bStateReason\x12I\n\x04\x63ode\x18\x01 \x01(\x0e\x32;.google.cloud.networkconnectivity.v1.Spoke.StateReason.Code\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x14\n\x0cuser_details\x18\x03 \x01(\t\"V\n\x04\x43ode\x12\x14\n\x10\x43ODE_UNSPECIFIED\x10\x00\x12\x12\n\x0ePENDING_REVIEW\x10\x01\x12\x0c\n\x08REJECTED\x10\x02\x12\n\n\x06PAUSED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:e\xea\x41\x62\n(networkconnectivity.googleapis.com/Spoke\x12\x36projects/{project}/locations/{location}/spokes/{spoke}\"\xec\x03\n\nRouteTable\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12K\n\x06labels\x18\x04 \x03(\x0b\x32;.google.cloud.networkconnectivity.v1.RouteTable.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x03uid\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\x07 \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:|\xea\x41y\n-networkconnectivity.googleapis.com/RouteTable\x12Hprojects/{project}/locations/global/hubs/{hub}/routeTables/{route_table}\"\xfe\x05\n\x05Route\x12\x11\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x15\n\rip_cidr_range\x18\x01 \x01(\t\x12\x41\n\x04type\x18\n \x01(\x0e\x32..google.cloud.networkconnectivity.v1.RouteTypeB\x03\xe0\x41\x03\x12Y\n\x14next_hop_vpc_network\x18\x02 \x01(\x0b\x32\x36.google.cloud.networkconnectivity.v1.NextHopVpcNetworkB\x03\xe0\x41\x05\x12\x46\n\x06labels\x18\x06 \x03(\x0b\x32\x36.google.cloud.networkconnectivity.v1.Route.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x10\n\x03uid\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\t \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x12?\n\x05spoke\x18\x0b \x01(\tB0\xe0\x41\x05\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\x12\x15\n\x08location\x18\x0c \x01(\tB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x8a\x01\xea\x41\x86\x01\n+networkconnectivity.googleapis.com/HubRoute\x12Wprojects/{project}/locations/global/hubs/{hub}/routeTables/{route_table}/routes/{route}\"\xdc\x03\n\x05Group\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12K\n\x06labels\x18\x04 \x03(\x0b\x32\x36.google.cloud.networkconnectivity.v1.Group.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x10\n\x03uid\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12>\n\x05state\x18\x07 \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:l\xea\x41i\n(networkconnectivity.googleapis.com/Group\x12=projects/{project}/locations/global/hubs/{hub}/groups/{group}\"\x95\x01\n\x0fListHubsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"x\n\x10ListHubsResponse\x12\x36\n\x04hubs\x18\x01 \x03(\x0b\x32(.google.cloud.networkconnectivity.v1.Hub\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"M\n\rGetHubRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\"\xb7\x01\n\x10\x43reateHubRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x13\n\x06hub_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x03hub\x18\x03 \x01(\x0b\x32(.google.cloud.networkconnectivity.v1.HubB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\x9d\x01\n\x10UpdateHubRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12:\n\x03hub\x18\x02 \x01(\x0b\x32(.google.cloud.networkconnectivity.v1.HubB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"i\n\x10\x44\x65leteHubRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xcb\x02\n\x14ListHubSpokesRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x17\n\x0fspoke_locations\x18\x02 \x03(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\x12\x10\n\x08order_by\x18\x06 \x01(\t\x12Q\n\x04view\x18\x07 \x01(\x0e\x32\x43.google.cloud.networkconnectivity.v1.ListHubSpokesRequest.SpokeView\"@\n\tSpokeView\x12\x1a\n\x16SPOKE_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x0c\n\x08\x44\x45TAILED\x10\x02\"\x81\x01\n\x15ListHubSpokesResponse\x12:\n\x06spokes\x18\x01 \x03(\x0b\x32*.google.cloud.networkconnectivity.v1.Spoke\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\x97\x01\n\x11ListSpokesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"~\n\x12ListSpokesResponse\x12:\n\x06spokes\x18\x01 \x03(\x0b\x32*.google.cloud.networkconnectivity.v1.Spoke\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"Q\n\x0fGetSpokeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\"\xbf\x01\n\x12\x43reateSpokeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x15\n\x08spoke_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12>\n\x05spoke\x18\x03 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.SpokeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xa3\x01\n\x12UpdateSpokeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12>\n\x05spoke\x18\x02 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.SpokeB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"m\n\x12\x44\x65leteSpokeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"\xb3\x01\n\x15\x41\x63\x63\x65ptHubSpokeRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x43\n\tspoke_uri\x18\x02 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"S\n\x16\x41\x63\x63\x65ptHubSpokeResponse\x12\x39\n\x05spoke\x18\x01 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.Spoke\"\xc9\x01\n\x15RejectHubSpokeRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x43\n\tspoke_uri\x18\x02 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Spoke\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x14\n\x07\x64\x65tails\x18\x04 \x01(\tB\x03\xe0\x41\x01\"S\n\x16RejectHubSpokeResponse\x12\x39\n\x05spoke\x18\x01 \x01(\x0b\x32*.google.cloud.networkconnectivity.v1.Spoke\"[\n\x14GetRouteTableRequest\x12\x43\n\x04name\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkconnectivity.googleapis.com/RouteTable\"T\n\x0fGetRouteRequest\x12\x41\n\x04name\x18\x01 \x01(\tB3\xe0\x41\x02\xfa\x41-\n+networkconnectivity.googleapis.com/HubRoute\"\xa3\x01\n\x11ListRoutesRequest\x12\x45\n\x06parent\x18\x01 \x01(\tB5\xe0\x41\x02\xfa\x41/\n-networkconnectivity.googleapis.com/RouteTable\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"~\n\x12ListRoutesResponse\x12:\n\x06routes\x18\x01 \x03(\x0b\x32*.google.cloud.networkconnectivity.v1.Route\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xa1\x01\n\x16ListRouteTablesRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x8e\x01\n\x17ListRouteTablesResponse\x12\x45\n\x0croute_tables\x18\x01 \x03(\x0b\x32/.google.cloud.networkconnectivity.v1.RouteTable\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\x9c\x01\n\x11ListGroupsRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&networkconnectivity.googleapis.com/Hub\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"~\n\x12ListGroupsResponse\x12:\n\x06groups\x18\x01 \x03(\x0b\x32*.google.cloud.networkconnectivity.v1.Group\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xa8\x01\n\x10LinkedVpnTunnels\x12\x33\n\x04uris\x18\x01 \x03(\tB%\xfa\x41\"\n compute.googleapis.com/VpnTunnel\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xc2\x01\n\x1dLinkedInterconnectAttachments\x12@\n\x04uris\x18\x01 \x03(\tB2\xfa\x41/\n-compute.googleapis.com/InterconnectAttachment\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xd2\x01\n\x1eLinkedRouterApplianceInstances\x12O\n\tinstances\x18\x01 \x03(\x0b\x32<.google.cloud.networkconnectivity.v1.RouterApplianceInstance\x12\"\n\x1asite_to_site_data_transfer\x18\x02 \x01(\x08\x12;\n\x0bvpc_network\x18\x03 \x01(\tB&\xe0\x41\x03\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"k\n\x10LinkedVpcNetwork\x12\x33\n\x03uri\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12\"\n\x15\x65xclude_export_ranges\x18\x02 \x03(\tB\x03\xe0\x41\x01\"l\n\x17RouterApplianceInstance\x12=\n\x0fvirtual_machine\x18\x01 \x01(\tB$\xfa\x41!\n\x1f\x63ompute.googleapis.com/Instance\x12\x12\n\nip_address\x18\x03 \x01(\t\"c\n\x10LocationMetadata\x12O\n\x11location_features\x18\x01 \x03(\x0e\x32\x34.google.cloud.networkconnectivity.v1.LocationFeature\"E\n\x11NextHopVpcNetwork\x12\x30\n\x03uri\x18\x01 \x01(\tB#\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\"\xa6\x05\n\x0cSpokeSummary\x12`\n\x11spoke_type_counts\x18\x01 \x03(\x0b\x32@.google.cloud.networkconnectivity.v1.SpokeSummary.SpokeTypeCountB\x03\xe0\x41\x03\x12\x62\n\x12spoke_state_counts\x18\x02 \x03(\x0b\x32\x41.google.cloud.networkconnectivity.v1.SpokeSummary.SpokeStateCountB\x03\xe0\x41\x03\x12o\n\x19spoke_state_reason_counts\x18\x03 \x03(\x0b\x32G.google.cloud.networkconnectivity.v1.SpokeSummary.SpokeStateReasonCountB\x03\xe0\x41\x03\x1am\n\x0eSpokeTypeCount\x12G\n\nspoke_type\x18\x01 \x01(\x0e\x32..google.cloud.networkconnectivity.v1.SpokeTypeB\x03\xe0\x41\x03\x12\x12\n\x05\x63ount\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x1a\x65\n\x0fSpokeStateCount\x12>\n\x05state\x18\x01 \x01(\x0e\x32*.google.cloud.networkconnectivity.v1.StateB\x03\xe0\x41\x03\x12\x12\n\x05\x63ount\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\x1a\x88\x01\n\x15SpokeStateReasonCount\x12[\n\x11state_reason_code\x18\x01 \x01(\x0e\x32;.google.cloud.networkconnectivity.v1.Spoke.StateReason.CodeB\x03\xe0\x41\x03\x12\x12\n\x05\x63ount\x18\x02 \x01(\x03\x42\x03\xe0\x41\x03\"Q\n\x0fGetGroupRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(networkconnectivity.googleapis.com/Group*f\n\x0fLocationFeature\x12 \n\x1cLOCATION_FEATURE_UNSPECIFIED\x10\x00\x12\x18\n\x14SITE_TO_CLOUD_SPOKES\x10\x01\x12\x17\n\x13SITE_TO_SITE_SPOKES\x10\x02*Y\n\tRouteType\x12\x1a\n\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\x16\n\x12VPC_PRIMARY_SUBNET\x10\x01\x12\x18\n\x14VPC_SECONDARY_SUBNET\x10\x02*\x8e\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08\x44\x45LETING\x10\x03\x12\r\n\tACCEPTING\x10\x08\x12\r\n\tREJECTING\x10\t\x12\x0c\n\x08UPDATING\x10\x06\x12\x0c\n\x08INACTIVE\x10\x07\x12\x0c\n\x08OBSOLETE\x10\n*{\n\tSpokeType\x12\x1a\n\x16SPOKE_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nVPN_TUNNEL\x10\x01\x12\x1b\n\x17INTERCONNECT_ATTACHMENT\x10\x02\x12\x14\n\x10ROUTER_APPLIANCE\x10\x03\x12\x0f\n\x0bVPC_NETWORK\x10\x04\x32\x98\x1f\n\nHubService\x12\xb7\x01\n\x08ListHubs\x12\x34.google.cloud.networkconnectivity.v1.ListHubsRequest\x1a\x35.google.cloud.networkconnectivity.v1.ListHubsResponse\">\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/global}/hubs\xda\x41\x06parent\x12\xa4\x01\n\x06GetHub\x12\x32.google.cloud.networkconnectivity.v1.GetHubRequest\x1a(.google.cloud.networkconnectivity.v1.Hub\"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/global/hubs/*}\xda\x41\x04name\x12\xcc\x01\n\tCreateHub\x12\x35.google.cloud.networkconnectivity.v1.CreateHubRequest\x1a\x1d.google.longrunning.Operation\"i\x82\xd3\xe4\x93\x02\x34\"-/v1/{parent=projects/*/locations/global}/hubs:\x03hub\xda\x41\x11parent,hub,hub_id\xca\x41\x18\n\x03Hub\x12\x11OperationMetadata\x12\xce\x01\n\tUpdateHub\x12\x35.google.cloud.networkconnectivity.v1.UpdateHubRequest\x1a\x1d.google.longrunning.Operation\"k\x82\xd3\xe4\x93\x02\x38\x32\x31/v1/{hub.name=projects/*/locations/global/hubs/*}:\x03hub\xda\x41\x0fhub,update_mask\xca\x41\x18\n\x03Hub\x12\x11OperationMetadata\x12\xcc\x01\n\tDeleteHub\x12\x35.google.cloud.networkconnectivity.v1.DeleteHubRequest\x1a\x1d.google.longrunning.Operation\"i\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/global/hubs/*}\xda\x41\x04name\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\x12\xcf\x01\n\rListHubSpokes\x12\x39.google.cloud.networkconnectivity.v1.ListHubSpokesRequest\x1a:.google.cloud.networkconnectivity.v1.ListHubSpokesResponse\"G\x82\xd3\xe4\x93\x02:\x12\x38/v1/{name=projects/*/locations/global/hubs/*}:listSpokes\xda\x41\x04name\x12\xba\x01\n\nListSpokes\x12\x36.google.cloud.networkconnectivity.v1.ListSpokesRequest\x1a\x37.google.cloud.networkconnectivity.v1.ListSpokesResponse\";\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=projects/*/locations/*}/spokes\xda\x41\x06parent\x12\xa7\x01\n\x08GetSpoke\x12\x34.google.cloud.networkconnectivity.v1.GetSpokeRequest\x1a*.google.cloud.networkconnectivity.v1.Spoke\"9\x82\xd3\xe4\x93\x02,\x12*/v1/{name=projects/*/locations/*/spokes/*}\xda\x41\x04name\x12\xd5\x01\n\x0b\x43reateSpoke\x12\x37.google.cloud.networkconnectivity.v1.CreateSpokeRequest\x1a\x1d.google.longrunning.Operation\"n\x82\xd3\xe4\x93\x02\x33\"*/v1/{parent=projects/*/locations/*}/spokes:\x05spoke\xda\x41\x15parent,spoke,spoke_id\xca\x41\x1a\n\x05Spoke\x12\x11OperationMetadata\x12\xd7\x01\n\x0bUpdateSpoke\x12\x37.google.cloud.networkconnectivity.v1.UpdateSpokeRequest\x1a\x1d.google.longrunning.Operation\"p\x82\xd3\xe4\x93\x02\x39\x32\x30/v1/{spoke.name=projects/*/locations/*/spokes/*}:\x05spoke\xda\x41\x11spoke,update_mask\xca\x41\x1a\n\x05Spoke\x12\x11OperationMetadata\x12\xf1\x01\n\x0eRejectHubSpoke\x12:.google.cloud.networkconnectivity.v1.RejectHubSpokeRequest\x1a\x1d.google.longrunning.Operation\"\x83\x01\x82\xd3\xe4\x93\x02>\"9/v1/{name=projects/*/locations/global/hubs/*}:rejectSpoke:\x01*\xda\x41\x0ename,spoke_uri\xca\x41+\n\x16RejectHubSpokeResponse\x12\x11OperationMetadata\x12\xf1\x01\n\x0e\x41\x63\x63\x65ptHubSpoke\x12:.google.cloud.networkconnectivity.v1.AcceptHubSpokeRequest\x1a\x1d.google.longrunning.Operation\"\x83\x01\x82\xd3\xe4\x93\x02>\"9/v1/{name=projects/*/locations/global/hubs/*}:acceptSpoke:\x01*\xda\x41\x0ename,spoke_uri\xca\x41+\n\x16\x41\x63\x63\x65ptHubSpokeResponse\x12\x11OperationMetadata\x12\xcd\x01\n\x0b\x44\x65leteSpoke\x12\x37.google.cloud.networkconnectivity.v1.DeleteSpokeRequest\x1a\x1d.google.longrunning.Operation\"f\x82\xd3\xe4\x93\x02,**/v1/{name=projects/*/locations/*/spokes/*}\xda\x41\x04name\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\x12\xc7\x01\n\rGetRouteTable\x12\x39.google.cloud.networkconnectivity.v1.GetRouteTableRequest\x1a/.google.cloud.networkconnectivity.v1.RouteTable\"J\x82\xd3\xe4\x93\x02=\x12;/v1/{name=projects/*/locations/global/hubs/*/routeTables/*}\xda\x41\x04name\x12\xc1\x01\n\x08GetRoute\x12\x34.google.cloud.networkconnectivity.v1.GetRouteRequest\x1a*.google.cloud.networkconnectivity.v1.Route\"S\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/global/hubs/*/routeTables/*/routes/*}\xda\x41\x04name\x12\xd4\x01\n\nListRoutes\x12\x36.google.cloud.networkconnectivity.v1.ListRoutesRequest\x1a\x37.google.cloud.networkconnectivity.v1.ListRoutesResponse\"U\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{parent=projects/*/locations/global/hubs/*/routeTables/*}/routes\xda\x41\x06parent\x12\xda\x01\n\x0fListRouteTables\x12;.google.cloud.networkconnectivity.v1.ListRouteTablesRequest\x1a<.google.cloud.networkconnectivity.v1.ListRouteTablesResponse\"L\x82\xd3\xe4\x93\x02=\x12;/v1/{parent=projects/*/locations/global/hubs/*}/routeTables\xda\x41\x06parent\x12\xb3\x01\n\x08GetGroup\x12\x34.google.cloud.networkconnectivity.v1.GetGroupRequest\x1a*.google.cloud.networkconnectivity.v1.Group\"E\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{name=projects/*/locations/global/hubs/*/groups/*}\xda\x41\x04name\x12\xc6\x01\n\nListGroups\x12\x36.google.cloud.networkconnectivity.v1.ListGroupsRequest\x1a\x37.google.cloud.networkconnectivity.v1.ListGroupsResponse\"G\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{parent=projects/*/locations/global/hubs/*}/groups\xda\x41\x06parent\x1aV\xca\x41\"networkconnectivity.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xc2\x03\n\'com.google.cloud.networkconnectivity.v1B\x08HubProtoP\x01ZYcloud.google.com/go/networkconnectivity/apiv1/networkconnectivitypb;networkconnectivitypb\xaa\x02#Google.Cloud.NetworkConnectivity.V1\xca\x02#Google\\Cloud\\NetworkConnectivity\\V1\xea\x02&Google::Cloud::NetworkConnectivity::V1\xea\x41`\n compute.googleapis.com/VpnTunnel\x12<projects/{project}/regions/{region}/vpnTunnels/{resource_id}\xea\x41W\n\x1f\x63ompute.googleapis.com/Instance\x12\x34projects/{project}/zones/{zone}/instances/{instance}b\x06proto3"
17
19
 
18
20
  pool = Google::Protobuf::DescriptorPool.generated_pool
19
21
 
@@ -48,25 +50,54 @@ module Google
48
50
  Hub = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Hub").msgclass
49
51
  RoutingVPC = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RoutingVPC").msgclass
50
52
  Spoke = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Spoke").msgclass
53
+ Spoke::StateReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Spoke.StateReason").msgclass
54
+ Spoke::StateReason::Code = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Spoke.StateReason.Code").enummodule
55
+ RouteTable = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RouteTable").msgclass
56
+ Route = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Route").msgclass
57
+ Group = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.Group").msgclass
51
58
  ListHubsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListHubsRequest").msgclass
52
59
  ListHubsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListHubsResponse").msgclass
53
60
  GetHubRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetHubRequest").msgclass
54
61
  CreateHubRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.CreateHubRequest").msgclass
55
62
  UpdateHubRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.UpdateHubRequest").msgclass
56
63
  DeleteHubRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.DeleteHubRequest").msgclass
64
+ ListHubSpokesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListHubSpokesRequest").msgclass
65
+ ListHubSpokesRequest::SpokeView = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListHubSpokesRequest.SpokeView").enummodule
66
+ ListHubSpokesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListHubSpokesResponse").msgclass
57
67
  ListSpokesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListSpokesRequest").msgclass
58
68
  ListSpokesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListSpokesResponse").msgclass
59
69
  GetSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetSpokeRequest").msgclass
60
70
  CreateSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.CreateSpokeRequest").msgclass
61
71
  UpdateSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.UpdateSpokeRequest").msgclass
62
72
  DeleteSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.DeleteSpokeRequest").msgclass
73
+ AcceptHubSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.AcceptHubSpokeRequest").msgclass
74
+ AcceptHubSpokeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.AcceptHubSpokeResponse").msgclass
75
+ RejectHubSpokeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RejectHubSpokeRequest").msgclass
76
+ RejectHubSpokeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RejectHubSpokeResponse").msgclass
77
+ GetRouteTableRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetRouteTableRequest").msgclass
78
+ GetRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetRouteRequest").msgclass
79
+ ListRoutesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListRoutesRequest").msgclass
80
+ ListRoutesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListRoutesResponse").msgclass
81
+ ListRouteTablesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListRouteTablesRequest").msgclass
82
+ ListRouteTablesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListRouteTablesResponse").msgclass
83
+ ListGroupsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListGroupsRequest").msgclass
84
+ ListGroupsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListGroupsResponse").msgclass
63
85
  LinkedVpnTunnels = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LinkedVpnTunnels").msgclass
64
86
  LinkedInterconnectAttachments = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LinkedInterconnectAttachments").msgclass
65
87
  LinkedRouterApplianceInstances = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LinkedRouterApplianceInstances").msgclass
88
+ LinkedVpcNetwork = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LinkedVpcNetwork").msgclass
66
89
  RouterApplianceInstance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RouterApplianceInstance").msgclass
67
90
  LocationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LocationMetadata").msgclass
91
+ NextHopVpcNetwork = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.NextHopVpcNetwork").msgclass
92
+ SpokeSummary = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.SpokeSummary").msgclass
93
+ SpokeSummary::SpokeTypeCount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.SpokeSummary.SpokeTypeCount").msgclass
94
+ SpokeSummary::SpokeStateCount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.SpokeSummary.SpokeStateCount").msgclass
95
+ SpokeSummary::SpokeStateReasonCount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.SpokeSummary.SpokeStateReasonCount").msgclass
96
+ GetGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetGroupRequest").msgclass
68
97
  LocationFeature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.LocationFeature").enummodule
98
+ RouteType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.RouteType").enummodule
69
99
  State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.State").enummodule
100
+ SpokeType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.SpokeType").enummodule
70
101
  end
71
102
  end
72
103
  end
@@ -46,6 +46,10 @@ module Google
46
46
  rpc :UpdateHub, ::Google::Cloud::NetworkConnectivity::V1::UpdateHubRequest, ::Google::Longrunning::Operation
47
47
  # Deletes a Network Connectivity Center hub.
48
48
  rpc :DeleteHub, ::Google::Cloud::NetworkConnectivity::V1::DeleteHubRequest, ::Google::Longrunning::Operation
49
+ # Lists the Network Connectivity Center spokes associated with a
50
+ # specified hub and location. The list includes both spokes that are attached
51
+ # to the hub and spokes that have been proposed but not yet accepted.
52
+ rpc :ListHubSpokes, ::Google::Cloud::NetworkConnectivity::V1::ListHubSpokesRequest, ::Google::Cloud::NetworkConnectivity::V1::ListHubSpokesResponse
49
53
  # Lists the Network Connectivity Center spokes in a specified project and
50
54
  # location.
51
55
  rpc :ListSpokes, ::Google::Cloud::NetworkConnectivity::V1::ListSpokesRequest, ::Google::Cloud::NetworkConnectivity::V1::ListSpokesResponse
@@ -55,8 +59,28 @@ module Google
55
59
  rpc :CreateSpoke, ::Google::Cloud::NetworkConnectivity::V1::CreateSpokeRequest, ::Google::Longrunning::Operation
56
60
  # Updates the parameters of a Network Connectivity Center spoke.
57
61
  rpc :UpdateSpoke, ::Google::Cloud::NetworkConnectivity::V1::UpdateSpokeRequest, ::Google::Longrunning::Operation
62
+ # Rejects a Network Connectivity Center spoke from being attached to a hub.
63
+ # If the spoke was previously in the `ACTIVE` state, it
64
+ # transitions to the `INACTIVE` state and is no longer able to
65
+ # connect to other spokes that are attached to the hub.
66
+ rpc :RejectHubSpoke, ::Google::Cloud::NetworkConnectivity::V1::RejectHubSpokeRequest, ::Google::Longrunning::Operation
67
+ # Accepts a proposal to attach a Network Connectivity Center spoke
68
+ # to a hub.
69
+ rpc :AcceptHubSpoke, ::Google::Cloud::NetworkConnectivity::V1::AcceptHubSpokeRequest, ::Google::Longrunning::Operation
58
70
  # Deletes a Network Connectivity Center spoke.
59
71
  rpc :DeleteSpoke, ::Google::Cloud::NetworkConnectivity::V1::DeleteSpokeRequest, ::Google::Longrunning::Operation
72
+ # Gets details about a Network Connectivity Center route table.
73
+ rpc :GetRouteTable, ::Google::Cloud::NetworkConnectivity::V1::GetRouteTableRequest, ::Google::Cloud::NetworkConnectivity::V1::RouteTable
74
+ # Gets details about the specified route.
75
+ rpc :GetRoute, ::Google::Cloud::NetworkConnectivity::V1::GetRouteRequest, ::Google::Cloud::NetworkConnectivity::V1::Route
76
+ # Lists routes in a given project.
77
+ rpc :ListRoutes, ::Google::Cloud::NetworkConnectivity::V1::ListRoutesRequest, ::Google::Cloud::NetworkConnectivity::V1::ListRoutesResponse
78
+ # Lists route tables in a given project.
79
+ rpc :ListRouteTables, ::Google::Cloud::NetworkConnectivity::V1::ListRouteTablesRequest, ::Google::Cloud::NetworkConnectivity::V1::ListRouteTablesResponse
80
+ # Gets details about a Network Connectivity Center group.
81
+ rpc :GetGroup, ::Google::Cloud::NetworkConnectivity::V1::GetGroupRequest, ::Google::Cloud::NetworkConnectivity::V1::Group
82
+ # Lists groups in a given hub.
83
+ rpc :ListGroups, ::Google::Cloud::NetworkConnectivity::V1::ListGroupsRequest, ::Google::Cloud::NetworkConnectivity::V1::ListGroupsResponse
60
84
  end
61
85
 
62
86
  Stub = Service.rpc_stub_class
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/networkconnectivity/v1/policy_based_routing.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/annotations_pb'
8
+ require 'google/api/client_pb'
9
+ require 'google/api/field_behavior_pb'
10
+ require 'google/api/resource_pb'
11
+ require 'google/cloud/networkconnectivity/v1/common_pb'
12
+ require 'google/longrunning/operations_pb'
13
+ require 'google/protobuf/empty_pb'
14
+ require 'google/protobuf/timestamp_pb'
15
+
16
+
17
+ descriptor_data = "\n>google/cloud/networkconnectivity/v1/policy_based_routing.proto\x12#google.cloud.networkconnectivity.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x30google/cloud/networkconnectivity/v1/common.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd1\x0e\n\x10PolicyBasedRoute\x12\x64\n\x0fvirtual_machine\x18\x12 \x01(\x0b\x32\x44.google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachineB\x03\xe0\x41\x01H\x00\x12t\n\x17interconnect_attachment\x18\t \x01(\x0b\x32L.google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachmentB\x03\xe0\x41\x01H\x00\x12\x1e\n\x0fnext_hop_ilb_ip\x18\x0c \x01(\tB\x03\xe0\x41\x01H\x01\x12g\n\x15next_hop_other_routes\x18\x15 \x01(\x0e\x32\x41.google.cloud.networkconnectivity.v1.PolicyBasedRoute.OtherRoutesB\x03\xe0\x41\x01H\x01\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32\x41.google.cloud.networkconnectivity.v1.PolicyBasedRoute.LabelsEntry\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x37\n\x07network\x18\x06 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63ompute.googleapis.com/Network\x12Q\n\x06\x66ilter\x18\n \x01(\x0b\x32<.google.cloud.networkconnectivity.v1.PolicyBasedRoute.FilterB\x03\xe0\x41\x02\x12\x15\n\x08priority\x18\x0b \x01(\x05\x42\x03\xe0\x41\x01\x12U\n\x08warnings\x18\x0e \x03(\x0b\x32>.google.cloud.networkconnectivity.v1.PolicyBasedRoute.WarningsB\x03\xe0\x41\x03\x12\x16\n\tself_link\x18\x0f \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04kind\x18\x10 \x01(\tB\x03\xe0\x41\x03\x1a#\n\x0eVirtualMachine\x12\x11\n\x04tags\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a-\n\x16InterconnectAttachment\x12\x13\n\x06region\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\xff\x01\n\x06\x46ilter\x12\x18\n\x0bip_protocol\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tsrc_range\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\ndest_range\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12k\n\x10protocol_version\x18\x06 \x01(\x0e\x32L.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersionB\x03\xe0\x41\x02\"=\n\x0fProtocolVersion\x12 \n\x1cPROTOCOL_VERSION_UNSPECIFIED\x10\x00\x12\x08\n\x04IPV4\x10\x01\x1a\xe1\x02\n\x08Warnings\x12V\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x43.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.CodeB\x03\xe0\x41\x03\x12[\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32H.google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.DataEntryB\x03\xe0\x41\x03\x12\x1c\n\x0fwarning_message\x18\x03 \x01(\tB\x03\xe0\x41\x03\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"U\n\x04\x43ode\x12\x17\n\x13WARNING_UNSPECIFIED\x10\x00\x12\x17\n\x13RESOURCE_NOT_ACTIVE\x10\x01\x12\x1b\n\x17RESOURCE_BEING_MODIFIED\x10\x02\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"@\n\x0bOtherRoutes\x12\x1c\n\x18OTHER_ROUTES_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x44\x45\x46\x41ULT_ROUTING\x10\x01:\x85\x01\xea\x41\x81\x01\n3networkconnectivity.googleapis.com/PolicyBasedRoute\x12Jprojects/{project}/locations/global/PolicyBasedRoutes/{policy_based_route}B\x08\n\x06targetB\n\n\x08next_hop\"\xa2\x01\n\x1cListPolicyBasedRoutesRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\xa1\x01\n\x1dListPolicyBasedRoutesResponse\x12R\n\x13policy_based_routes\x18\x01 \x03(\x0b\x32\x35.google.cloud.networkconnectivity.v1.PolicyBasedRoute\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"g\n\x1aGetPolicyBasedRouteRequest\x12I\n\x04name\x18\x01 \x01(\tB;\xe0\x41\x02\xfa\x41\x35\n3networkconnectivity.googleapis.com/PolicyBasedRoute\"\xef\x01\n\x1d\x43reatePolicyBasedRouteRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\"\n\x15policy_based_route_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12V\n\x12policy_based_route\x18\x03 \x01(\x0b\x32\x35.google.cloud.networkconnectivity.v1.PolicyBasedRouteB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\x83\x01\n\x1d\x44\x65letePolicyBasedRouteRequest\x12I\n\x04name\x18\x01 \x01(\tB;\xe0\x41\x02\xfa\x41\x35\n3networkconnectivity.googleapis.com/PolicyBasedRoute\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x32\xe3\x08\n\x19PolicyBasedRoutingService\x12\xeb\x01\n\x15ListPolicyBasedRoutes\x12\x41.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest\x1a\x42.google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse\"K\x82\xd3\xe4\x93\x02<\x12:/v1/{parent=projects/*/locations/global}/policyBasedRoutes\xda\x41\x06parent\x12\xd8\x01\n\x13GetPolicyBasedRoute\x12?.google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest\x1a\x35.google.cloud.networkconnectivity.v1.PolicyBasedRoute\"I\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/locations/global/policyBasedRoutes/*}\xda\x41\x04name\x12\xae\x02\n\x16\x43reatePolicyBasedRoute\x12\x42.google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest\x1a\x1d.google.longrunning.Operation\"\xb0\x01\x82\xd3\xe4\x93\x02P\":/v1/{parent=projects/*/locations/global}/policyBasedRoutes:\x12policy_based_route\xda\x41/parent,policy_based_route,policy_based_route_id\xca\x41%\n\x10PolicyBasedRoute\x12\x11OperationMetadata\x12\xf3\x01\n\x16\x44\x65letePolicyBasedRoute\x12\x42.google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest\x1a\x1d.google.longrunning.Operation\"v\x82\xd3\xe4\x93\x02<*:/v1/{name=projects/*/locations/global/policyBasedRoutes/*}\xda\x41\x04name\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\x1aV\xca\x41\"networkconnectivity.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x94\x02\n\'com.google.cloud.networkconnectivity.v1B\x17PolicyBasedRoutingProtoP\x01ZYcloud.google.com/go/networkconnectivity/apiv1/networkconnectivitypb;networkconnectivitypb\xaa\x02#Google.Cloud.NetworkConnectivity.V1\xca\x02#Google\\Cloud\\NetworkConnectivity\\V1\xea\x02&Google::Cloud::NetworkConnectivity::V1b\x06proto3"
18
+
19
+ pool = Google::Protobuf::DescriptorPool.generated_pool
20
+
21
+ begin
22
+ pool.add_serialized_file(descriptor_data)
23
+ rescue TypeError => e
24
+ # Compatibility code: will be removed in the next major version.
25
+ require 'google/protobuf/descriptor_pb'
26
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
27
+ parsed.clear_dependency
28
+ serialized = parsed.class.encode(parsed)
29
+ file = pool.add_serialized_file(serialized)
30
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
31
+ imports = [
32
+ ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
33
+ ]
34
+ imports.each do |type_name, expected_filename|
35
+ import_file = pool.lookup(type_name).file_descriptor
36
+ if import_file.name != expected_filename
37
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
38
+ end
39
+ end
40
+ warn "Each proto file must use a consistent fully-qualified name."
41
+ warn "This will become an error in the next major version."
42
+ end
43
+
44
+ module Google
45
+ module Cloud
46
+ module NetworkConnectivity
47
+ module V1
48
+ PolicyBasedRoute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute").msgclass
49
+ PolicyBasedRoute::VirtualMachine = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.VirtualMachine").msgclass
50
+ PolicyBasedRoute::InterconnectAttachment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.InterconnectAttachment").msgclass
51
+ PolicyBasedRoute::Filter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter").msgclass
52
+ PolicyBasedRoute::Filter::ProtocolVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.Filter.ProtocolVersion").enummodule
53
+ PolicyBasedRoute::Warnings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings").msgclass
54
+ PolicyBasedRoute::Warnings::Code = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.Warnings.Code").enummodule
55
+ PolicyBasedRoute::OtherRoutes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.PolicyBasedRoute.OtherRoutes").enummodule
56
+ ListPolicyBasedRoutesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesRequest").msgclass
57
+ ListPolicyBasedRoutesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.ListPolicyBasedRoutesResponse").msgclass
58
+ GetPolicyBasedRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.GetPolicyBasedRouteRequest").msgclass
59
+ CreatePolicyBasedRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.CreatePolicyBasedRouteRequest").msgclass
60
+ DeletePolicyBasedRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkconnectivity.v1.DeletePolicyBasedRouteRequest").msgclass
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,52 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/networkconnectivity/v1/policy_based_routing.proto for package 'Google.Cloud.NetworkConnectivity.V1'
3
+ # Original file comments:
4
+ # Copyright 2023 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/networkconnectivity/v1/policy_based_routing_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module NetworkConnectivity
25
+ module V1
26
+ module PolicyBasedRoutingService
27
+ # Policy-Based Routing allows GCP customers to specify flexibile routing
28
+ # policies for Layer 4 traffic traversing through the connected service.
29
+ class Service
30
+
31
+ include ::GRPC::GenericService
32
+
33
+ self.marshal_class_method = :encode
34
+ self.unmarshal_class_method = :decode
35
+ self.service_name = 'google.cloud.networkconnectivity.v1.PolicyBasedRoutingService'
36
+
37
+ # Lists PolicyBasedRoutes in a given project and location.
38
+ rpc :ListPolicyBasedRoutes, ::Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesRequest, ::Google::Cloud::NetworkConnectivity::V1::ListPolicyBasedRoutesResponse
39
+ # Gets details of a single PolicyBasedRoute.
40
+ rpc :GetPolicyBasedRoute, ::Google::Cloud::NetworkConnectivity::V1::GetPolicyBasedRouteRequest, ::Google::Cloud::NetworkConnectivity::V1::PolicyBasedRoute
41
+ # Creates a new PolicyBasedRoute in a given project and location.
42
+ rpc :CreatePolicyBasedRoute, ::Google::Cloud::NetworkConnectivity::V1::CreatePolicyBasedRouteRequest, ::Google::Longrunning::Operation
43
+ # Deletes a single PolicyBasedRoute.
44
+ rpc :DeletePolicyBasedRoute, ::Google::Cloud::NetworkConnectivity::V1::DeletePolicyBasedRouteRequest, ::Google::Longrunning::Operation
45
+ end
46
+
47
+ Stub = Service.rpc_stub_class
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -66,6 +66,20 @@ module Google
66
66
  # a non-empty value will be returned. The user will not be aware of what
67
67
  # non-empty value to expect.
68
68
  NON_EMPTY_DEFAULT = 7
69
+
70
+ # Denotes that the field in a resource (a message annotated with
71
+ # google.api.resource) is used in the resource name to uniquely identify the
72
+ # resource. For AIP-compliant APIs, this should only be applied to the
73
+ # `name` field on the resource.
74
+ #
75
+ # This behavior should not be applied to references to other resources within
76
+ # the message.
77
+ #
78
+ # The identifier field of resources often have different field behavior
79
+ # depending on the request it is embedded in (e.g. for Create methods name
80
+ # is optional and unused, while for Update methods it is required). Instead
81
+ # of method-specific annotations, only `IDENTIFIER` is required.
82
+ IDENTIFIER = 8
69
83
  end
70
84
  end
71
85
  end
@@ -41,8 +41,9 @@ module Google
41
41
  # @return [::Boolean]
42
42
  # Output only. Identifies whether the user has requested cancellation
43
43
  # of the operation. Operations that have been cancelled successfully
44
- # have [Operation.error][] value with a {::Google::Rpc::Status#code google.rpc.Status.code} of 1,
45
- # corresponding to `Code.CANCELLED`.
44
+ # have [Operation.error][] value with a
45
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
46
+ # `Code.CANCELLED`.
46
47
  # @!attribute [r] api_version
47
48
  # @return [::String]
48
49
  # Output only. API version used to start the operation.