google-cloud-network_connectivity-v1 0.6.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.